ورود به سیستم

ورود کاربر با استفاده از ایمیل/رمز عبور یا شماره تلفن/رمز یکبار مصرف.

درخواست

Method: POST
URL: /api/auth/login
Content-Type: application/json

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

پارامتر نوع الزامی توضیح
email string خیر ایمیل کاربر (به همراه password)
password string خیر رمز عبور
phone string خیر شماره تلفن (به همراه otp)
otp string خیر رمز یکبار مصرف
redirect string خیر آدرس هدایت پس از ورود

نکته: یا email + password یا phone + otp باید ارسال شود.

مثال درخواست

curl -X POST "https://example.com/api/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email": "admin@example.com", "password": "secret"}'

پاسخ موفق (200)

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  "user": {
    "id": 1,
    "first_name": "مدیر",
    "last_name": "سیستم",
    "email": "admin@example.com",
    "user_type": "staff",
    "is_admin": 1,
    "status": "active"
  }
}

خطاها

کد توضیح
422 خطای اعتبارسنجی (فیلدهای الزامی پر نشده‌اند)
401 اطلاعات ورود نامعتبر است

ارسال رمز یکبار مصرف

ارسال رمز یکبار مصرف (OTP) به شماره تلفن کاربر.

درخواست

Method: POST
URL: /api/auth/send-otp
Content-Type: application/json

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

پارامتر نوع الزامی توضیح
phone string بله شماره تلفن (مثال: 09123456789)

مثال درخواست

curl -X POST "https://example.com/api/auth/send-otp" \
  -H "Content-Type: application/json" \
  -d '{"phone": "09123456789"}'

پاسخ موفق (200)

{
  "success": true,
  "message": "رمز یکبار مصرف با موفقیت ارسال شد"
}

خطاها

کد توضیح
422 شماره تلفن معتبر نیست

اطلاعات کاربر جاری

دریافت اطلاعات کاربر احراز هویت شده جاری.

درخواست

Method: GET
URL: /api/auth/me
Headers: Authorization: Bearer {token}

مثال درخواست

curl -X GET "https://example.com/api/auth/me" \
  -H "Authorization: Bearer {token}"

پاسخ موفق (200)

{
  "id": 1,
  "first_name": "مدیر",
  "last_name": "سیستم",
  "email": "admin@example.com",
  "user_type": "staff",
  "is_admin": 1,
  "role_id": 0,
  "status": "active",
  "job_title": "مدیر سیستم",
  "phone": "09123456789",
  "image": null,
  "language": "persian",
  "created_at": "1403-01-01"
}

خطاها

کد توضیح
401 توکن معتبر نیست

خروج از سیستم

خروج کاربر از سیستم و باطل کردن توکن جاری.

درخواست

Method: POST
URL: /api/auth/logout
Headers: Authorization: Bearer {token}

مثال درخواست

curl -X POST "https://example.com/api/auth/logout" \
  -H "Authorization: Bearer {token}"

پاسخ موفق (200)

{
  "success": true,
  "message": "با موفقیت خارج شدید"
}

خطاها

کد توضیح
401 توکن معتبر نیست

درخواست بازیابی رمز عبور

ارسال ایمیل بازیابی رمز عبور برای کاربر.

درخواست

Method: POST
URL: /api/auth/request-reset-password
Content-Type: application/json

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

پارامتر نوع الزامی توضیح
email string بله ایمیل کاربر

مثال درخواست

curl -X POST "https://example.com/api/auth/request-reset-password" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

پاسخ موفق (200)

{
  "success": true,
  "message": "ایمیل بازیابی رمز عبور ارسال شد"
}

خطاها

کد توضیح
422 ایمیل معتبر نیست

تغییر رمز عبور با کد بازیابی

تغییر رمز عبور با استفاده از کد دریافت شده از ایمیل بازیابی.

درخواست

Method: POST
URL: /api/auth/change-password
Content-Type: application/json

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

پارامتر نوع الزامی توضیح
code string بله کد بازیابی
password string بله رمز عبور جدید
retype_password string بله تکرار رمز عبور جدید

مثال درخواست

curl -X POST "https://example.com/api/auth/change-password" \
  -H "Content-Type: application/json" \
  -d '{"code": "123456", "password": "new-password", "retype_password": "new-password"}'

پاسخ موفق (200)

{
  "success": true,
  "message": "رمز عبور با موفقیت تغییر یافت"
}

خطاها

کد توضیح
422 کد نامعتبر یا رمز عبور مطابقت ندارد

تغییر شماره تلفن

تغییر شماره تلفن کاربر احراز هویت شده در دو مرحله.

مرحله ۱: ارسال OTP به شماره جدید

Method: POST
URL: /api/auth/phone/change/send-otp
Headers: Authorization: Bearer {token} Content-Type: application/json

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

پارامتر نوع الزامی توضیح
phone string بله شماره تلفن جدید
curl -X POST "https://example.com/api/auth/phone/change/send-otp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"phone": "09123456789"}'

مرحله ۲: تأیید OTP

Method: POST
URL: /api/auth/phone/change/verify-otp
Headers: Authorization: Bearer {token} Rate Limit: 100:1

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

پارامتر نوع الزامی توضیح
phone string بله شماره تلفن جدید
otp string بله رمز یکبار مصرف
curl -X POST "https://example.com/api/auth/phone/change/verify-otp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"phone": "09123456789", "otp": "123456"}'

پاسخ موفق (200)

{
  "success": true,
  "message": "شماره تلفن با موفقیت تغییر یافت"
}

خطاها

کد توضیح
401 توکن معتبر نیست
422 خطای اعتبارسنجی
برای جستجو تایپ کنید...