Skip to main content

電話番号認証を検証

Endpoint

PUT https://api.verifik.co/v2/phone-validations

ユーザーが受け取った OTP を確認します。Verifik は、その電話番号に対する最新の sent(かつ未期限切れ)の Phone Validation を検索します。これには 手動 / Smart Tools のレコードとプロジェクトフローのレコードが含まれます。

送信とセットで使用

スタンドアロン OTP は POST /v2/phone-validations/manual で作成します。App Registration OTP は POST /v2/phone-validations/app-registration を使用します。

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer {YOUR_ACCESS_TOKEN}

Body parameters

ParameterTypeRequiredDescription
phonestringYesOTP 送信時と同じ国内番号。
countryCodestringYes+ で始まるダイヤルコード。
otpnumberYesユーザーが受け取った数字コード。
phoneGatewaystringNosms または whatsapp — 両チャネルが使われた場合に検索を絞り込みます。
projectstringNoフローベースのレコード用の任意のプロジェクトフィルタ。
projectFlowstringNo任意のプロジェクトフローフィルタ(利用可能な場合は推奨)。

Request examples

curl -X PUT "https://api.verifik.co/v2/phone-validations" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "3001234567",
"countryCode": "+57",
"otp": 123456,
"phoneGateway": "whatsapp"
}'

Success response

{
"data": {
"_id": "66f0a1b2c3d4e5f678901234",
"status": "validated",
"countryCode": "+57",
"phone": "3001234567",
"phoneGateway": "whatsapp",
"source": "manual",
"validatedAt": "2026-07-29T22:40:00.000Z"
}
}

OTP の有効期限

保留中の OTP は、最後の送信 / 再送の成功から 10 分 間有効です(作成レスポンスの expiresAt)。その後、このエンドポイントは 412 phoneValidation_has_expired を返します。ユーザーに再試行を求める前に、新しい OTP を送信してください(約 2 分の再送クールダウンを守るか、手動作成で force: true を使用)。

OTP の試行回数

現時点では サーバー側の試行回数制限はありません。誤ったコードは、レコードが期限切れになるか新しい OTP が送信されるまで 403 otp_does_not_match を返します。必要に応じて、クライアント側でロックアウトや試行上限を実装してください。

Common errors

StatusMessageWhen
403otp_does_not_matchコードが保留中の OTP と一致しません。
412phoneValidation_has_expired保留中の OTP の TTL(約 10 分)が経過しました。
409otp_send_failedこの電話番号の最新レコードの送信に失敗しました(期限切れとは異なります)。
409phone_validation_already_validatedOTP はすでに検証済みです。
404phone_validation_not_foundこの電話番号に一致する Phone Validation がありません。
409MissingParameter必須のボディフィールドが欠落しています。