پرش به مطلب اصلی

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

در این مرحله رمز یکبار مصرف (تولید شده توسط رمزساز و یا ارسال شده توسط پیامک) از کاربر دریافت و صحت سنجی میگردد.

این مرحله، آخرین مرحله احراز هویت بوده و در صورت موفقیت آمیز بودن و دریافت توکن، توکن دریافت شده به عنوان توکن نهایی کار با دیگر API ها تلقی میگردد.

توکن دریافت شده از این بخش به مدت 10 ساعت اعتبار داشته و پس از آن منقضی خواهد شد.

📍 لینک دسترسی

POST {base_url}/api/acl/auth/confirm_otp

🧾 هدر درخواست

KeyValue
Content-Typeapplication/json

📤 بدنه درخواست

{
"token": "توکن دریافت شده از مرحله قبل",
"otp": "رمز یکبار مصرف"
}

📝 پارامترهای درخواست

پارامترنوعتوضیحات
tokenرشتهتوکن دریافت شده از مرحله ورود را وارد نمایید
otpرشتهرمز ییکبار مصرف که برای کاربر پیامک شده و یا از رمزساز گوگل دریافت شده است را وارد نمایید

✅ خروجی API در صورت موفقیت آمیز بودن

{
"data": {
"token": "22c392ffebe7286ee8021cfef7d7cad5",
"method": "login"
},
"meta": {
"status": true,
"message": "انجام شد",
"message_parameters": [],
"message_code": "200-1"
}
}

🎉 کاربر میتواند با توکن دریافت شده از این بخش به تمامی API های سامانه دسترسی پیدا کند.

⏱ البته صرفا برای 10 ساعت

مراحل بعدی چیه؟

بعد از اینکه توکن نهایی رو دریافت کردید، بسته به اینکه تا چه حد دیگر API های ما رو برای ریبرندینگ پیاده سازی نموده اید مراحل متفاوت خواهد بود:

حالت اول: میخواهید ادامه مراحل را در سایت یا اپلیکیشن خود پیش ببرید

اگر رابط کاربری خود را با استفاده از API های ما پیاده‌سازی کرده‌اید، کافیست از توکن برگشتی در هدر Authorization برای همه فراخوانی‌های بعدی API استفاده کنید. به این ترتیب، کاربر در سایت یا اپلیکیشن طراحی شده توسط شما میتواند به تمامی API های سامانه دسترسی پیدا کند.

حالت دوم: ادامه کار را به ما بسپارید

اگر شما میخواهید صرفا فرم ورود رو در سایت خودتون پیاده سازی کنید و بقیه مراحل کار مثل ارسال پیامک و مشاهده گزارشات و ... توسط سایت ما انجام بشه، میتونید کاربر رو با توکن دریافت شده به آدرس زیر هدایت کنید

https://sms.your-domain/external-login?token={userToken}

اگر توکن صحیح باشه کاربر به طور خودکار در پنل لاگین میشه و میتونه کار رو ادامه بده

❌ نمونه خطای اشتباه بودن و یا انقضای توکن

{
"data": null,
"meta": {
"status": false,
"message": "اطلاعات وارد شده صحیح نمی باشد",
"message_parameters": [],
"message_code": "400-1",
"errors": {}
}
}

❌ نمونه خطای اشتباه و یا تکمیل نبودن بدنه درخواست

{
"data": null,
"meta": {
"status": false,
"message": "تکمیل گزینه otp الزامی است",
"message_parameters": [],
"message_code": "400-2",
"errors": {
"otp": [
"تکمیل گزینه otp الزامی است"
]
}
}
}

🧪 نمونه درخواست

curl --location '{base_url}/api/acl/auth/confirm_otp' \
--header 'Content-Type: application/json' \
--data '{
"token": "your-login-step-token",
"otp": "otp-code"
}'