변경 이력

새로운 소식

K-OTP API, SDK, 콘솔, 웹사이트에서 바뀐 점을 모았습니다.

구독하기(Atom 피드)

2.0.0

최신

카카오 알림톡 전용 발송, 메시지의 서비스명 표시, 원화 카드 결제

조치 필요

  • 직접 SMS 발송과 WebOTP를 제거했습니다 (API 2.0.0). 인증번호는 카카오 알림톡으로만 발송됩니다. 알림톡 전달이 실패했을 때의 자동 SMS 대체 발송은 기본으로 켜져 있고(smsFallback: false로 계속 끌 수 있습니다) 가격은 같습니다.

    • POST /v1/issue의 channel: "sms"는 400 BAD_REQUEST(data.code CHANNEL_NOT_SUPPORTED)로 거절되며 아무것도 발송되지 않습니다. 요청에서 빼 주세요.
    • 승인된 알림톡 템플릿이 없는 템플릿은 더 이상 발급할 수 없으며 400 BAD_REQUEST(data.code TEMPLATE_NOT_AVAILABLE)로 거절됩니다. 네 가지 템플릿(otp_default_kr, otp_login_kr, otp_signup_kr, otp_payment_kr)은 모두 사용할 수 있습니다.
    • webOtp 옵션과 발급 응답의 webOtp 필드를 제거했습니다. webOtp(false 외의 값)를 계속 보내는 요청은 400 BAD_REQUEST(data.code WEB_OTP_NOT_SUPPORTED)로 거절되므로, 보내지 말고 UI 컴포넌트에서도 꺼 주세요. 브라우저 자체의 one-time-code 자동 입력은 영향을 받지 않습니다.

    채널과 SMS 대체 발송을 참고하세요.

추가

  • @k-otp/sdk 2.1.0과 언어별 서버 SDK 0.2.0이 API 2.x를 지원합니다. @k-otp/sdk 2.1.0에는 호환성을 깨는 변경이 없습니다. getIssueRequestErrorCode(error)로 400 응답의 CHANNEL_NOT_SUPPORTED, TEMPLATE_NOT_AVAILABLE, WEB_OTP_NOT_SUPPORTED를 읽을 수 있고, channel: "sms", webOtp 옵션과 결과, @k-otp/sdk/ui의 WebOTP 헬퍼와 속성은 지원 중단(deprecated)되었으며, 폼의 webOtp 설정 기본값은 이제 false입니다. API 2.1.0은 템플릿 channelSupport의 "sms"를 지원 중단으로 표시합니다. 언어별 서버 SDK는 API 2.1.0으로 생성한 0.2.0입니다. SDK와 언어별 서버 SDK를 참고하세요.

  • 원화 카드 결제. 한국어 콘솔에서 크레딧 팩을 원화 카드로 결제할 수 있으며, 이 방식이 기본입니다. Mini ₩6,000, Starter ₩27,000, Scale ₩109,000에 부가세 10%가 더해지고, 영수증은 카드 매출전표입니다. 한국어 콘솔에서도 Creem 달러 결제를 계속 선택할 수 있고, 영어 콘솔은 이전처럼 달러 결제만 제공합니다. 원화 결제는 1990Company가 판매하고 결제대행사 (주)크렙이 처리합니다. 이용약관, 환불정책, 개인정보처리방침을 개정했습니다(2026년 10월 14일 시행). 이번 개정은 결제 수단을 하나 더할 뿐이며, 기존 권리와 크레딧, 가격은 바뀌지 않습니다.

  • OTP 메시지에 서비스명을 표시할 수 있습니다 (API 2.0.0). 앱마다 서비스명을 정하면 메시지의 [K-OTP] 바로 뒤에 표시됩니다. 예: [K-OTP] 마이앱 로그인 인증번호는 123456입니다. 콘솔에서 앱의 설정 탭에서 정합니다(1~12자: 한글, 영문, 숫자, 단어 사이 공백 한 칸). 새로 등록하거나 바꾼 이름은 운영자가 검토하며, 승인되기 전까지 메시지는 이전처럼 서비스명 없이 발송됩니다. 서비스명은 API 요청이 아니라 콘솔에서만 정합니다. 메시지 템플릿과 서비스명을 참고하세요.

개선

  • 결제 후 크레딧 지급이 더 안정적입니다. 결제를 마쳤는데 확인 과정이 중단된 경우(예: 결제가 끝나기 전에 브라우저를 닫은 경우) 백그라운드 복구가 이를 먼저 처리하므로, 다른 작업이 밀려 있어도 크레딧 지급이 늦어지지 않습니다.

변경

  • 새 크레딧 팩: Mini, Starter, Scale. Mini($4.90, ₩6,000)는 250크레딧, Starter($19.90, ₩27,000)는 1,250크레딧(1,000 + 보너스 250), Scale($79.90, ₩109,000)은 6,250크레딧(5,000 + 보너스 1,250)입니다. Starter와 Scale에는 기본 크레딧의 25%가 보너스 크레딧으로 더해집니다. 달러 가격은 세금 별도, 원화 가격은 부가세 10% 별도로 이전과 같습니다. Pro 팩은 더 이상 판매하지 않습니다. 이전에 구매한 크레딧은 바뀌지 않습니다. 판매 당시의 팩 구성(예: 1,000 + 보너스 500크레딧의 Starter, 또는 Pro)을 그대로 유지하며, 환불정책에 따라 그 팩을 기준으로 환불됩니다. 이용약관과 환불정책을 개정했습니다(2026년 10월 14일 시행).

  • 검증된 인증번호는 전달 결과가 오지 않아도 차감이 유지됩니다 (API 2.1.1). 인증번호 검증에 성공했지만 전달 기간 안에 최종 전달 결과가 오지 않으면, 이제 그 발급을 전달된 것으로 보고 크레딧을 돌려드리지 않습니다. 검증에 성공했다는 것은 메시지가 사용자에게 도착했다는 뜻이기 때문입니다. 인증번호가 검증되지 않은 발급은 기간이 끝나면 이전처럼 크레딧을 돌려드립니다. 크레딧과 결제를 참고하세요.

1.4.0

테스트 모드: 메시지 발송과 크레딧 없이 개발하고 시험하기

추가

  • 테스트 모드 (API 1.9.0). pk_test_, sk_test_ API 키는 메시지를 보내거나 크레딧을 쓰지 않고 OTP 발급, 전달, 검증을 시뮬레이션하므로 실제 API를 상대로 무료로 연동을 만들고 CI를 돌릴 수 있습니다. 테스트 키는 테스트 전화번호(010-0000-00xx, +44 7700 9000xx, +1 NXX 555-01xx)만 받으며, 마지막 두 자리로 전달 성공, 전달 실패나 지연, 만료, 틀린 코드, 429·402·503 오류 같은 시나리오를 고르고 고정 코드 000000으로 검증합니다. 응답에는 mode(live 또는 test)가 포함됩니다. 테스트 키는 콘솔에서 앱의 API 키의 테스트 탭에서 만들고, 시뮬레이션된 발급은 앱의 테스트 수신함에서 확인할 수 있습니다. 테스트 모드를 참고하세요.

변경

  • 라이브 키는 테스트 전화번호를 거절합니다 (API 1.9.0). 라이브 키로 테스트 모드용으로 예약된 번호(010-0000-00xx, +44 7700 9000xx, +1 NXX 555-01xx)를 보내면 메시지를 보내는 대신 400 TEST_NUMBER_IN_LIVE_MODE(data.code)를 반환합니다.

1.3.0

Creem 달러 결제와 더 많은 언어의 서버 SDK

추가

  • 크레딧 팩을 Creem을 통해 달러(USD)로 결제할 수 있습니다. 달러 결제의 판매자(merchant of record)는 Creem입니다. 가격은 세금 별도이며, Creem이 결제자의 지역에 맞는 세금을 계산해 결제 단계에서 더하고 결제 전에 총액을 보여 줍니다. 결제 전에 콘솔이 Creem의 역할을 안내하고, 이메일 주소와 조직·회원·크레딧 상품 식별자를 Creem(에스토니아)에 제공하는 데 대한 별도 동의를 받습니다.

  • 더 많은 언어의 서버 SDK(프리뷰). C#, Java, Kotlin, PHP, Go, Python, Ruby, Dart용 생성 클라이언트가 모든 공개 API 작업을 지원합니다. 언어별 서버 SDK를 참고하세요.

  • @k-otp/sdk 1.3.0에 공식 Kiota 런타임으로 모든 공개 API 작업을 호출하는 서버 전용 클라이언트 @k-otp/sdk/kiota가 추가되었습니다.

변경

  • 이용약관, 환불정책, 개인정보처리방침을 개정했습니다(2026년 10월 7일 시행). 달러 결제 처리자로 Creem을 명시합니다. 달러 가격은 세금 별도이고, 달러 결제의 환불은 Creem이 원래 결제수단으로 하며 해당 세금 비율도 함께 돌려드립니다. 개인정보처리방침에는 Creem에 제공하는 정보를 적었습니다.

1.2.0

SMS 대체 발송 끄기와 카카오 로그인

추가

  • smsFallback: false (API 1.8.0). 요청마다 자동 SMS 대체 발송을 끌 수 있습니다. 끄면 인증번호는 카카오 알림톡으로만 발송되며 가격은 같습니다. 생략하면 대체 발송은 켜진 상태입니다. @k-otp/sdk 1.2.0에서 지원합니다. 채널과 SMS 대체 발송을 참고하세요.

  • 카카오 로그인으로 콘솔에 로그인할 수 있습니다. 이메일 로그인 링크와 코드, Google, GitHub, 패스키와 함께 제공됩니다. 카카오에는 이메일 주소와 닉네임만 요청합니다. 자세한 내용은 개인정보처리방침의 카카오 로그인 부분을 참고하세요.

개선

  • 과금 안내를 더 명확하게 했습니다. 요금 페이지와 크레딧과 결제 가이드가 크레딧 1개로 무엇을 하는지 설명합니다. 모든 채널에서 OTP 발송 1건에 1크레딧이며, 사용자가 인증했는지와 관계없이 차감되고 검증 호출은 무료입니다. 메시징 사업자가 거절한 발송은 크레딧을 쓰지 않으며, 나중에 전달 실패가 확인되면 크레딧을 돌려드립니다.

1.1.0

카카오 알림톡 기본 발송

추가

  • 이용약관, 환불정책, 추천 프로그램 약관을 시행합니다. 결제로 구매한 크레딧은 만료되지 않습니다. 무료 크레딧(가입 보너스, 추천 보상)은 1년 동안 사용할 수 있고 환불되지 않습니다. 사용하지 않은 구매 크레딧은 환불정책에 따라 비율대로 환불됩니다.

변경

  • 인증번호는 기본으로 카카오 알림톡으로 발송되며, 실패하면 자동으로 SMS로 대체 발송됩니다(API 1.7.0). channel을 생략하면 이 방식이 적용되고, channel: "sms"는 계속 SMS로 보냅니다. 발송 1건은 여전히 1크레딧이며 대체 발송에 크레딧이 추가로 들지 않습니다. WebOTP 자동 입력은 인증번호가 SMS로 도착할 때 적용됩니다. @k-otp/sdk 1.1.0은 새 기본값을 문서에 반영하고 무료 크레딧 잔액(promoBalance, promoNextExpiry)을 읽습니다.

1.0.0

K-OTP 출시

추가

  • 새 웹사이트, 콘솔, 문서. 영어와 한국어로 제공하는 k-otp.dev에는 브라우저 안에서만 동작하는 발급·검증 체험("지금 바로 테스트해보기")이 있고, 콘솔은 app.k-otp.dev, 문서는 docs.k-otp.dev에 있습니다.

  • OTP API (API 1.6.0). 한국 휴대폰 번호로 일회용 인증번호를 두 번의 호출로 발급하고 검증합니다. 모든 발급 요청에는 멱등 키가 있어, 요청을 재시도해도 메시지가 두 번 발송되지 않습니다(멱등성과 재시도). 선택 기능인 WebOTP를 켜면 허용한 출처에서 Android Chrome이 SMS로 받은 인증번호를 자동으로 입력합니다.

  • 팀을 위한 콘솔. 멤버와 역할이 있는 조직, 앱, 브라우저 키(pk_, 등록한 출처에서만 사용)와 서버 키(sk_)의 권한 범위 및 키별 요청 한도 설정, 일별 사용량, 발급 내역, 조직의 모든 앱이 함께 쓰는 조직별 크레딧 지갑을 제공합니다.

  • 다양한 로그인 방법. 이메일로 받은 로그인 링크나 6자리 코드, Google, GitHub, 패스키로 로그인하고, 계정 설정에서 로그인 수단을 연결하거나 해제할 수 있습니다. 소셜 로그인은 해당 서비스와 K-OTP 양쪽에서 이메일 주소가 인증된 경우에만 기존 계정에 연결됩니다.

  • 무료 크레딧. 첫 조직에 1년 동안 쓸 수 있는 무료 크레딧 100개를 드립니다. 추천 프로그램도 시작합니다. 추천한 조직이 첫 결제를 하면 양쪽 조직에 각각 250크레딧을 드립니다.

  • JavaScript/TypeScript SDK. @k-otp/sdk(1.0.1 이상을 설치하세요)는 브라우저·서버 클라이언트, React·Vue·Svelte 바인딩, 선택 테마가 있는 헤드리스 UI 컴포넌트를 제공합니다.

  • 개인정보처리방침을 게시했습니다.