تمامی سرویسها نیاز است که مقدار cookie نشست برروی درخواست موجود باشد پس انگولار بر روی درخواستهای خود cookie را نیز ارسال میکند (نکتهای است که مقدار نشست در لیست cookieها قابل دسترسی در client نیست و مقدارش را client نمیتواند بفهمد و فقط در هر درخواست cookie را ارسال میکند).
آدرس سرویس : initiate-login/
بدنه درخواست : ندارد
متد : POST
پاسخ :
{ "next_page": "login", "next_page_action": "http://192.168.1.118:8095/send/otp", "next_page_data": { "login": { "user_info": { "mobile_number": "09124958820", "national_number": "", "loa": "LEVEL_2_2", "mobile_number_input_status": "hidden" }, "client_info": { "scope_titles": "تلفن همراه، کد ملی", "client_name": "ايران", "client_id": "abara" }, "general_info": { "download_address": "http://192.168.1.118:8095/download", "deprecate_address": "http://192.168.1.118:8095/deprecate/" } } }, "ready_for_final_authenticate": false } |
توضیح پاسخ :
با فراخوانی این سرویس مشخص میشود که اصلا کاربر میتواند صفحه لاگین را ببیند یا اگر پاسخ خطا داشت صفحه خطا را ببیند یا صفحه لاگین را با حالت خطا ببیند.
نمونه پاسخ غلط (وقتی کاربر نیاز دارد فرآیند را از اول شروع کند)
{ "next_page": "error", "ready_for_final_authenticate": false, "error": { "reason": "اجازه دسترسی برای شما وجود ندارد، فرآیند را دوباره شروع کنید." } } |
آدرس سرویس : send/otp/
بدنه درخواست : اطلاعات کدملی و شماره موبایل
متد : POST
نوع محتوا : application/x-www-form-urlencoded
پاسخ :
{ "next_page": "otp", "next_page_action": "http://192.168.1.118:8095/authenticate/first-page", "next_page_data": { "otp": { "code_expire_time": "45", "otp_address": "http://192.168.1.118:8095/send/otp", "mobile_number": "09121234567" } }, "ready_for_final_authenticate": false } |
توضیح پاسخ :
آدرس سرویس : authenticate/first-page/
بدنه درخواست : کد واردشده
متد : POST
نوع محتوا : application/x-www-form-urlencoded
پاسخ :
{ "next_page": "otp", "next_page_action": "http://192.168.1.118:8095/login", "ready_for_final_authenticate": true } |
توضیح پاسخ :
پاسخ خطا ( در صورتی که کاربر بیش از حد کد پیامکی را اشتباه واردکند و نیاز باشد صفحه pushotp نمایش دادهشود)
{ "next_page": "push_otp", "next_page_action": "http://192.168.1.118:8095/authenticate/first-page", "next_page_data": { "push_otp": { "code_expire_time": "180", "otp_address": "/send/otp", "push_code_value": "068603", "mobile_number": "09121234567", "push_code_provider": "لطفا با شماره گیری *725# کد را به سامانه سماوا ارسال فرمایید", "push_otp_check_status_interval": 2 } }, "ready_for_final_authenticate": false } |
پاسخ خطا (در صورتی که شاهکار اطلاعات کاربر را قبول نکند)
{ "error": { "next_page": "login", "reason": "mobile number and national number not matched", "next_page_action":"/authenticate/first-page", "next_page_data":{ "login": { "user_info": { "mobile_number": "", "national_number": "", "loa": "" }, "client_info": { "scope_titles": "", "client_name": "", "client_id": "", "download_address": "" }, "general_info": { "captcha_address": "", "deprecate_address": "", "download_address": "" } } } } } |
در این حالت کاربر صفحه لاگین را میبیند و در آنجا پیام خطا toast میشود و اطلاعات موردنیاز هر صفحه در قسمت next_page_data قرار میگیرد.
پاسخ خطا (در صورتی که کد پیامکی اشتباه زده باشد)
{ "error": { "next_page": "otp", "reason": "otp was incorrect", "next_page_action":"/authenticate/first-page", "next_page_data":{ "otp" : { "code_expire_date":1111 } } } } |
در این حالت کاربر در صفحه otp میماند و پیام خطا نشان داده میشود.
پاسخ درست (حالتی که مرحله بعد صفحه تشخیص چهره باشد)
{ "success": { "next_page": "facedetection", "next_page_action":"/authenticate/face-decetion" "next_page_data":{...}, "ready_for_final_authenticate": false } } |
در این حالت کاربر به صفحه تشخیص چهره هدایت میشود