Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
titleنمونه پاسخ غلط
{
	"error": {
        "next_page": "error",
        "reason": "user should start process from the begining",
		"next_page_action":"",
		"next_page_data":{}
   	 }
}

توضیح این پاسخ در پاسخ سرویس پیامکی به صورت کامل آمده است.

...

Code Block
languagetext
titleنمونه پاسخ درست ارسال پیامک
{
	"error": {
         "next_page": "it can be any page or error page",
        "reason": "error reason",
		"next_page_action":"/authenticate/first-page",
		"next_page_data":{}
    },
"success": {
        "next_page": "otp",
		"next_page_action":"/authenticate/first-page"
		 "next_page_data":{
            "code_expire_date":12312
        },
        "ready_for_final_authenticate": false
    }
}


توضیح پاسخ : 

  1. در قسمت error در صورتی که خطایی رخ داده باشد این فیلد در پاسخ قرار می‌گیرد و در صورت موفقیت آمیز بودن درخواست اثری از آن نیست
    1. فیلد next_page : وقتی برابر صفحه error باشد حالتی است که در آن باید کاربر را به صفحه error برد و در آنجا مقدار فیلد reason را در آن صفحه نشان داد.
    2. فیلد next_page : وقتی برابر صفحه ای مثل login, otp  و یا push otp باشد باید مقدار خطا را در آن صفحه به صورت toast نشان دهد (اگر مقدار فیلد next_page با صفحه جاری برابر بود به طبع دیگر نیازی به تغییر صفحه نیست و همانجا باید پیام خطا toast شود) 
      فیلد reason : نشان دهنده دلیل خطاست.

    3. فیلد next_page_action : آدرسی که دکمه موجود در آن صفحه حاوی خطا، دربر دارد تا کاربر آن را فراخوانی کند.
    4. فیلد next_page_data : اطلاعاتی که در آن صفحه حاوی خطا، نیاز است تا در صفحه نمایش داده بشود.
  2. در قسمت success  در صورتی که عملیات با موفقیت انجام شود این فیلد در پاسخ قرار می‌گیرد.
    1. فیلد next_page : صفحه بعدی را نشان می‌دهد .
    2. فیلد next_page_action : آدرسی که دکمه موجود در صفحه otp برای واردنمودن کد دریافت شده توسط کاربر را نشان می‌دهد
    3. فیلد next_page_data : اطلاعاتی که در صفحه آتی (اینجا otp) است را شامل می‌شود
    4. فیلد ready_for_final_authenticate : اگر برابر true بود در پاسخ هر سرویسی به منظور آن است که کاربر تمام مراحل احرازهویت موردنظر را به پایان رسانده است و باید درخواست login/ فراخوانی شود. که در جواب این درخواست کاربر redirect می‌شود.

...

Code Block
languagetext
titleنمونه پاسخ درست first-page
{
	 "success": {
        "next_page": "otp",
		"next_page_action":"/login"
		"next_page_data":{},
        "ready_for_final_authenticate": true
	}    
}


توضیح پاسخ :

در هر پاسخی وقتی مقدار ready_for_final_authenticate برابر true بود باید login/ فراخوانی شود و کاربر redirect شود.

...

Code Block
languagetext
titleنمونه پاسخ اشتباه
{
	"error": {
        "next_page": "login",
        "reason": "mobile number and national number not matched",
		"next_page_action":"/authenticate/first-page",
		"next_page_data":{}
    }
}

در این حالت کاربر صفحه لاگین را می‌بیند و در آنجا پیام خطا toast میشود و چون صفحه اول است درخواست initiate login نیز برای پرکردن اطلاعات صفحه زده می‌شود.

...

Code Block
languagetext
titleنمونه پاسخ خطا در کد پیامکی
{
	"error": {
        "next_page": "otp",
        "reason": "otp was incorrect",
		"next_page_action":"/authenticate/first-page",
		"next_page_data":{
            "code_expire_date":1111
        }
    }
}

در این حالت کاربر در صفحه otp می‌ماند و پیام خطا نشان داده می‌شود.

...

Code Block
languagetext
titleنمونه درست پاسخ و رفتن به مرحله تشخصی چهره
{
	"success": {
        "next_page": "facedetection",
		"next_page_action":"/authenticate/face-decetion"
		"next_page_data":{...},
        "ready_for_final_authenticate": false
    }
}

در این حالت کاربر به صفحه تشخیص چهره هدایت می‌شود