K-OTP

SDK

공식 SDK 출시 예정. 지금은 REST API를 직접 호출하세요.

공식 SDK는 아직 npm에 배포되지 않았습니다. 출시 전까지는 이 문서의 예제처럼 fetch나 curl로 REST API(https://api.k-otp.dev/v1)를 직접 호출하세요.

예정된 패키지

패키지대상제공 기능사용하는 키
@k-otp/sdk-core브라우저issue, verifypk_
@k-otp/sdk-server서버(Node.js 등)발급·검증·상태·이력·원장·잔액·템플릿 등 공개 API 전체sk_

React, Vue, Svelte용 바인딩도 로드맵에 있습니다.

미리 보기

아래는 개발 중인 API 형태이며, 출시 전에 바뀔 수 있습니다.

import { createOtpClient } from "@k-otp/sdk-core";

const client = createOtpClient({
	baseUrl: "https://api.k-otp.dev",
	apiKey: "pk_...",
});

// SDK에서는 본문의 idempotencyKey가 필수입니다. 비어 있으면 요청 전에 BAD_REQUEST 오류가 납니다.
const { issueId } = await client.issue({
	phoneNumber: "01012345678",
	purpose: "login",
	idempotencyKey: crypto.randomUUID(),
});

const result = await client.verify({ issueId, code: "123456" });
import { createOtpServerClient } from "@k-otp/sdk-server";

const client = createOtpServerClient({
	baseUrl: "https://api.k-otp.dev",
	apiKey: process.env.KOTP_SECRET_KEY!,
});

const status = await client.otp.status({ issueId });
const balance = await client.otp.balance({});

SDK 오류는 OtpApiError(code, status, message, data)로 전달됩니다. code는 오류의 코드를 따르며, 그 밖의 오류(INTERNAL_SERVER_ERROR 포함)는 UNKNOWN으로 정규화됩니다.

이 페이지의 내용