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로 생성합니다. 앱 등록 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 lifetime

대기 중인 OTP는 마지막 성공적인 전송/재전송으로부터 10분 동안 유효합니다(생성 응답의 expiresAt). 그 이후에는 이 엔드포인트가 412 phoneValidation_has_expired를 반환합니다. 사용자에게 다시 시도하도록 요청하기 전에 새 OTP를 전송하세요(약 2분 재전송 쿨다운을 준수하거나, 수동 생성 시 force: true 사용).

OTP attempts

현재 서버 측 시도 횟수 제한은 없습니다. 잘못된 코드는 레코드가 만료되거나 새 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필수 본문 필드가 누락되었습니다.