کد تائیدیه موبایل

کدی است ۵ رقمی، مختص شماره موبایل تعیین شده، به عمر ۲ دقیقه

موارد استفاده
- به این کد در تغییر شماره موبایل پروفایل کاربری نیاز هست.
- همچنین برای ورود به سیستم که نیاز به تایید شماره موبایل کاربر داره هم استفاده می شود.


برای دریافت کد ۵ رقمی، نیازه شماره موبایل تان را به ریسورس مربوطه ارسال نمایید تا کد ۵ رقمی به شماره موبایل مذکور پیامک شود.

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

در نتیجه در ابتدا نیاز است که توکن برای کلاینت داشته باشیم.

نحوه دریافت توکن برای کلاینت
POST https://connect.evand.com/api/oauth2/token
Headers:
  - Content-Type: application/json
{
"grant_type": "client_credentials",
"client_id": "CLIENT_ID",
"client_secret": "CLIENT_SECRET",
}

خروجی:


{
  "token_type": "Bearer",
  "expires_in": 86400,
  "access_token": "eyJ0eXA..."
}

از این توکن در ریسورس هایی که نیازه به کاربر و اطلاعات مربوط به کاربر نداره می شه استفاده کرد.
مثل ریسورس دریافت پیامک کد تاییدیه.


دریافت کد تائیدیه موبایل
پس از گرفتن توکن مربوط به کلاینت، و یا حتی با در دست داشتن توکن کاربر، می تونیم اقدام به ارسال درخواست برای دریافت کد تائیدیه موبایل کنیم:

POST https://connect.evand.com/api/mobile/verification-codes
Headers:
  - Authorization: Bearer …
  - Content-Type: application/json
{
"mobile": "9000000000"
}

این ریسورس خروجی ای نداره و چیزی بر نمی گردونه. 
در صورت معتبر بودن شماره موبایل، کد تاییدیه ای برای کاربر ارسال خواهد شد.
در صورت موفقیت آمیز بودن عملیات  status کد ۲۰۴ خواهیم داشت. که البته این کد ۲۰۴ ممکنه در آینده به کد 20X تغییر پیدا کنه. جهت نشان دادن asynchronous بودن قضیه و اینا.

برای تایید صحبت موبایل از این پترن استفاده می شه که در صورت نیاز می توانید ازش بهره ببرید:
Regular expression: /^(\+98|0098|0)?(9[0-9]{9})$/


خطاهای برگشتی

- خطا در صورت نامعتبر بودن شماره موبایل (ساختار شماره موبایل):
{
  "errors": {
    "mobile": {
      "invalid": "invalid mobile phone number"
    }
  },
  "title": "validation_error",
  "type": "validation_error",
  "status": 422,
  "detail": "hello"
}


- خطا در صورت ارسال نشدن فیلد موبایل (mobile) :

{
  "errors": {
    "mobile": {
      "isEmpty": "Value is required and can't be empty"
    }
  },
  "title": "validation_error",
  "type": "validation_error",
  "status": 422,
  "detail": "hello"
}


همین دیگه. اگر جایی ناخواناست و اینا لطفا بفرمایید که رفع شود. متشکرم

نظرات

پست‌های معروف از این وبلاگ

لیست کاربران نشان شده - سرویس کانکت

استفاده از Refresh Token جهت دریافت توکن‌های معتبر جدید (کانکت)

پروفایل عمومی کاربران کانکت