Navidaa نویدا documentation
Swagger
POST /v1/otp/verify

تایید رمز یکبار مصرف

بررسی کد وارد شده توسط کاربر و تبدیل verification به وضعیت تایید شده.

خلاصه endpoint

POSThttps://api.navidaa.ir/v1/otp/verify

همان API key که ارسال را ساخته باید برای verify استفاده شود. پاسخ ۲۰۰ فقط یعنی تلاش بررسی شده است؛ نتیجه واقعی با verified و reason مشخص می شود.

درخواست

فیلدوضعیتتوضیح
verification_idضروریUUID برگشتی از ارسال.
codeضروریکد عددی ۴ تا ۸ رقمی که کاربر وارد کرده است.

نتیجه ها

reasonverifiedمعنا
oktrueکد درست است و verification تایید شده است.
invalid_codefalseکد اشتباه است. در جریان زنده API عمومی، همین تلاش اشتباه fallback های بعدی را لغو می کند.
expiredfalseمهلت verification تمام شده است.
lockedfalseبعد از ۵ تلاش اشتباه، session قفل شده است.
already_verifiedfalseاین verification قبلا با موفقیت مصرف شده است.

خطاها

HTTPکدزمان رخ دادنرفتار پیشنهادی
404not_foundشناسه verification برای این حساب پیدا نشده است.شناسه برگشتی از send و کلید API همان حساب بررسی شود.
422validation_errorverification_id UUID معتبر نیست یا code عددی ۴ تا ۸ رقمی نیست.قبل از ارسال، مقدارها در فرم یا سرویس اعتبارسنجی شوند.
401unauthenticatedکلید API نامعتبر، حذف شده یا منقضی است.کلید فعال همان حساب استفاده شود.
403test_key_not_allowedکلید تست روی endpoint live استفاده شده است.برای کلید تست از مسیرهای سندباکس استفاده شود.

نمونه کد

import requests

result = requests.post(
    "https://api.navidaa.ir/v1/otp/verify",
    headers={
        "Authorization": "Bearer navidaa_xxx",
        "Content-Type": "application/json",
    },
    json={
        "verification_id": "550e8400-e29b-41d4-a716-446655440000",
        "code": "123456",
    },
    timeout=10,
).json()

if result["verified"]:
    print("user verified")
else:
    print("not verified:", result["reason"])