한국형 OTP API

한국 사용자를 위한 휴대폰 인증번호 API

K-OTP로 일회용 인증코드를 생성하고, 카카오 알림톡으로 전달한 뒤 코드를 검증하세요.

가입하면 실제 발송용 100 크레딧 무료 (1년 유효)

테스트 키(pk_test_ / sk_test_)로 무료 연동: 실제 메시지를 보내지 않고 크레딧도 쓰지 않습니다.테스트 모드 가이드

K-OTP알림톡지금

[K-OTP] 인증번호는 482913입니다. 3분 내에 입력해주세요.

인증번호

  1. 대기
  2. 발송
  3. 도달
  4. 인증 완료

지금 바로 테스트해보기

인증번호를 직접 받아 보세요. 실제 발송도, 가입도 없이.

가상 휴대폰으로 실제 발급 → 검증 흐름을 그대로 체험합니다. 단계마다 내 서비스가 보낼 요청과 받을 응답을 함께 보여 드립니다.

데모: 실제 메시지는 발송되지 않습니다. 입력한 번호는 이 페이지 밖으로 나가지 않습니다.

1단계

인증번호 요청

국내 휴대폰 번호(010-…) 또는 +로 시작하는 국제 번호를 입력하세요.

K-OTP알림톡데모
  1. 인증번호가 여기에 도착합니다.

2단계

인증번호 입력

먼저 인증번호를 요청하세요.

실제 API 호출

POST /v1/issue대기 중
# 1단계: 인증번호 발급# 서버에서는 sk_ 키를 쓰고 Origin 헤더는 생략curl https://api.k-otp.dev/v1/issue \  -H "Authorization: Bearer pk_..." \  -H "Origin: https://your-app.example" \  -H "Idempotency-Key: signup-<uuid>" \  -H "Content-Type: application/json" \  -d '{    "phoneNumber": "01012345678",    "purpose": "signup"  }'# 응답: 데모 진행 대기 중…{  "issueId": "…",  "expiresAt": "…",  "attemptsRemaining": 5,  "queuedAt": "…"}

여기서는 번호를 가려서 보여 줍니다. 실제 요청에는 전체 번호가 들어갑니다. SDK는 npm i @k-otp/sdk로 설치합니다. SDK 없이 cURL로도 바로 쓸 수 있습니다.

실제 인증번호를 보낼 준비가 되셨나요?

계정을 만들고 pk_·sk_ 키를 복사하면 몇 분 안에 서비스에 붙일 수 있습니다.

가입하면 실제 발송용 100 크레딧 무료 (1년 유효)

테스트 키(pk_test_ / sk_test_)로 무료 연동: 실제 메시지를 보내지 않고 크레딧도 쓰지 않습니다.테스트 모드 가이드

제품

OTP에서 꼭 문제가 되는 부분을 위해

한국의 인증번호 발송에는 고유한 채널과 재시도 함정이 있습니다. K-OTP는 두 개의 엔드포인트 뒤에서 이를 처리합니다.

  • 카카오 알림톡으로 전달

    인증번호는 등록된 템플릿을 사용한 카카오 알림톡 메시지로 발송됩니다. 발급 API만 호출하면 메시지 발송 사업자 연동은 K-OTP가 처리합니다.

  • 멱등키와 안전한 재시도

    같은 키와 같은 요청은 첫 결과를 돌려줍니다. 결과가 불명확한 발송은 자동으로 다시 보내지 않습니다.

  • 보여줄 수 있는 발송 상태

    GET /v1/status는 발송 상태(대기·발송·도달)와 검증 상태를 따로 알려 주고, CS 대응용 overallStatus도 함께 돌려줍니다.

  • pk_ · sk_ 키 분리

    퍼블릭 키는 허용한 Origin에서만, 브라우저에서 발급·검증만 호출합니다. 시크릿 키는 서버에만 두세요.

  • 선불 크레딧

    한 번 충전하고, OTP 발송 1건에 1 크레딧만 쓰세요. 인증번호 검증에는 추가 비용이 없습니다. 잔액과 원장은 API로 확인할 수 있습니다. 구독이 없습니다.

  • OpenAPI 기반 문서

    서버가 실제로 강제하는 계약에서 생성한 OpenAPI 3.1 스펙과 API 레퍼런스를 제공합니다.

동작 방식

인증코드 발급부터 검증 결과까지

  1. 01

    인증코드 발급

    서버(sk_ 키) 또는 웹 앱(pk_ 키)에서 휴대폰 번호, 용도, 멱등키로 POST /v1/issue를 호출합니다. K-OTP가 6자리 코드를 생성하고 issueId를 돌려줍니다.

  2. 02

    카카오 알림톡으로 전달

    인증코드는 카카오 알림톡 메시지로 사용자에게 전달됩니다. 발송 상태는 대기 → 발송 → 도달 순으로 바뀝니다. 도달은 메시지가 도착했다는 뜻이지, 인증이 끝났다는 뜻이 아닙니다.

  3. 03

    입력한 코드 검증

    issueId와 사용자가 입력한 코드로 POST /v1/verify를 호출합니다. 코드가 일치할 때만 verified: true입니다. 기본값은 유효시간 3분, 시도 5회입니다.

  4. 04

    결과 처리는 내 서비스에서

    로그인 처리, 번호 확인 표시, 재요청 등 다음 단계는 내 서비스가 정합니다. 검증 완료는 그 번호로 발송된 인증코드를 사용자가 확인해 입력했다는 뜻이며, 실명 확인이나 법적 본인확인이 아닙니다.

보안 · 개인정보

최소한만, 최대한 짧게 보관합니다.

일회용 인증코드는 가입과 로그인을 지키는 장치입니다. 기본 설정은 침해 시도를 전제로 설계했습니다.

  • 발급 기록에 휴대폰 번호 원문 미저장

    발급 기록에는 휴대폰 번호의 해시만 남기며, 어떤 API 응답도 휴대폰 번호를 돌려주지 않습니다.

  • 해시로 저장되는 일회용 코드

    인증번호는 솔트를 더한 해시로만 저장되고, API로 반환되지 않으며, 검증에 성공하면 소진됩니다.

  • 발송 개인정보는 암호화 후 파기

    발송 기록의 수신자 정보는 암호화되어 저장되고, 최종 상태 후 약 24시간이 지나면 지워집니다.

  • 브라우저 키는 허용 Origin에 고정

    pk_ 키는 Origin이 정확히 일치해야 하며 발급과 검증만 할 수 있습니다.

자주 묻는 질문

도입 전에 자주 묻는 질문

오늘 내 서비스에 휴대폰 번호 인증을 붙여 보세요.

콘솔에서 키를 만들고 퀵스타트를 따라 하면 됩니다. 선불 크레딧, OTP 발송 1건에 1 크레딧, 구독 없음.

가입하면 실제 발송용 100 크레딧 무료 (1년 유효)

테스트 키(pk_test_ / sk_test_)로 무료 연동: 실제 메시지를 보내지 않고 크레딧도 쓰지 않습니다.테스트 모드 가이드