آماده‌سازی و احراز هویت

۲ از ۱۱v1.2.0

پیش‌نیاز: وایت‌لیست بودن IP + داشتن Username و Password | خروجی: دریافت access_token و refresh_token

روش‌های لاگین

دو روش برای لاگین وجود دارد:

روش اول : لاگین با پسورد

POSThttps://api-demo.digiexpress.ir/api/customers/auth/login

در این روش کانساینر می‌تواند بدون نیاز به دریافت رمز یکبار مصرف (OTP) و تنها با استفاده از نام کاربری و رمز عبور ثابت خود، مستقیماً توکن‌های دسترسی را دریافت کند.

ساختار درخواست (Request Body):

json
{
  "username": "string",
  "password": "string"
}

جدول پارامترهای ورودی (Request)

۲ ردیف
username
نوع دادهstringوضعیتاجباری
توضیح فنی
شماره تلفن همراه ثبت‌شده کاربر به عنوان نام کاربری.
توضیح بیزینسی
نام کاربری اختصاصی شما که پس از فرآیند وایت‌لیست از دیجی‌اکسپرس دریافت کرده‌اید.
password
نوع دادهstringوضعیتاجباری
توضیح فنی
رمز عبور ثابت حساب کاربری کانساینر.
توضیح بیزینسی
پسورد اختصاصی صادر شده توسط دیجی‌اکسپرس برای حساب شما.

ساختار پاسخ موفق (Response Body - HTTP 200):

json
{
  "status_code": 200,
  "data": {
    "access_token": "string",
    "refresh_token": "string"
  }
}

جدول پارامترهای خروجی (Response)

۳ ردیف
status_code
نوع دادهstring
توضیح فنی
کد وضعیت عملیات در بدنه پاسخ.
توضیح بیزینسی
تایید سیستمی موفقیت‌آمیز بودن احراز هویت (مقدار 200).
data.access_token
نوع دادهstring
توضیح فنی
توکن احراز هویت اصلی سیستم دیجی‌اکسپرس
توضیح بیزینسی
مهم‌ترین خروجی این گام. باید این توکن را ذخیره کرده و در هدر تمامی سرویس‌های بعدی دقیقاً در هدر Authorization و بدون پیشوند Bearer (فقط خودِ رشته توکن به تنهایی) ارسال کنید.
data.refresh_token
نوع دادهstring
توضیح فنی
توکن نوسازی دسترسی
توضیح بیزینسی
کلید امنیتی جهت تمدید اعتبار و دریافت access_token جدید، پس از انقضای توکن اصلی بدون نیاز به ورود مجدد.

روش دوم : لاگین با OTP

مرحله اول : دریافت OTP

در محیط پروداکشن ابتدا OTP بگیرید:

POSThttps://api-demo.digiexpress.ir/api/customers/auth/sendOTP

این API برای شروع فرآیند ورود استفاده می‌شود و یک کد تأیید یکبار مصرف به شماره همراه ثبت‌شده ارسال می‌کند.

ساختار درخواست (Request Body):

json
{
  "phone_number": "string"
}

جدول پارامترهای ورودی (Request)

۱ ردیف
phone_number
نوع دادهstringوضعیتاجباری
توضیح فنی
شماره همراه ادمین کانساینر با فرمت استاندارد ایران.
توضیح بیزینسی
شماره موبایلی که قبلاً در سیستم دیجی‌اکسپرس ثبت شده و قصد ورود با آن را دارید.

ساختار پاسخ موفق (Response Body - HTTP 200):

json
{
  "status_code": 200,
  "data": {
    "ttl": 120
  }
}

جدول پارامترهای خروجی (Response)

۲ ردیف
status_code
نوع دادهstring
توضیح فنی
کد وضعیت عملیات در بدنه پاسخ (HTTP Status).
توضیح بیزینسی
تایید سیستمی موفقیت‌آمیز بودن درخواست (مقدار 200).
data.ttl
نوع دادهstring
توضیح فنی
زمان زنده بودن کد (Time To Live) به ثانیه.
توضیح بیزینسی
مدت زمان معتبر بودن کد پیامک شده (120 ثانیه). کاربر قبل از به پایان رسیدن این زمان باید متد لاگین را صدا بزند.

مرحله دوم : ورود به سیستم و دریافت توکن (Login)

POSThttps://api-demo.digiexpress.ir/api/customers/auth/login

با ارسال شماره همراه و کد یکبار مصرف دریافتی در این مرحله، توکن‌های دسترسی صادر می‌شوند.

ساختار درخواست (Request Body):

json
{
  "username": "string",
  "otp_code": "string"
}

جدول پارامترهای ورودی (Request)

۲ ردیف
username
نوع دادهstringوضعیتاجباری
توضیح فنی
شماره تلفن همراه کاربر (به عنوان نام کاربری)
توضیح بیزینسی
همان شماره موبایلی که در مرحله‌ی دریافت OTP به آن OTP ارسال شده بود.
otp_code
نوع دادهstringوضعیتاجباری
توضیح فنی
کد یکبار مصرف 5 رقمی دریافتی.
توضیح بیزینسی
رمز یکبار مصرفی که پیامک شده (یا در محیط دمو کد ثابت 12345).

ساختار پاسخ موفق (Response Body - HTTP 200):

json
{
  "status_code": 200,
  "data": {
    "access_token": "string",
    "refresh_token": "string"
  }
}

جدول پارامترهای خروجی (Response)

۳ ردیف
status_code
نوع دادهstring
توضیح فنی
کد وضعیت عملیات در بدنه پاسخ.
توضیح بیزینسی
تایید سیستمی موفقیت‌آمیز بودن احراز هویت (مقدار 200).
data.access_token
نوع دادهstring
توضیح فنی
توکن احراز هویت اصلی سیستم دیجی‌اکسپرس.
توضیح بیزینسی
مهم‌ترین خروجی این گام. باید این توکن را ذخیره کرده و در هدر تمامی سرویس‌های بعدی دقیقاً در هدر Authorization و بدون پیشوند Bearer (فقط خودِ رشته توکن) ارسال کنید.
data.refresh_token
نوع دادهstring
توضیح فنی
توکن نوسازی دسترسی کانساینر.
توضیح بیزینسی
کلید امنیتی جهت تمدید اعتبار و دریافت access_token جدید، پس از انقضای توکن اصلی بدون نیاز به لاگین مجدد.