پرش به مطلب اصلی

ساختار پاسخ‌ها

در این بخش نمونه‌ی ساختار استاندارد پاسخ‌ها برای وضعیت‌های مختلف HTTP آورده شده است.
تمامی پاسخ‌ها شامل سه کلید اصلی هستند:

  • code: عدد وضعیت داخلی پلتفرم
  • message: پیام توضیحی برای کاربر
  • data یا errors: داده‌های مربوط به نتیجه یا خطا

🟢 200 — درخواست موفق

تمامی پاسخ‌های موفق با کد زیر در خروجی قرار می‌گیرد:

{
"code": 1,
"message": "موفق",
"data": {}
}

🟢 201 — ایجاد موفق

تمامی پاسخ‌های ثبت موفق با کد زیر در خروجی قرار می‌گیرد:

{
"code": 1,
"message": "کاربر با موفقیت ایجاد شد",
"data": {}
}

🟢 202 — ویرایش یا حذف موفق

تمامی پاسخ‌های ویرایش و حذف موفق با کد زیر در خروجی قرار می‌گیرد:

{
"code": 1,
"message": "کاربر با موفقیت ویرایش (حذف) شد",
"data": {}
}

🔴 400 — درخواست نامعتبر

برای نمایش خطاهای منطقی (مثل نبود موجودی کیف پول):

{
"code": 0,
"message": "عدم موجودی کافی",
"errors": {}
}

🔴 401 — توکن نامعتبر

توکن معتبر نیست یا نیاز به دریافت مجدد/رفرش دارد:

{
"code": 0,
"message": "توکن معتبر نیست",
"errors": {}
}

🔴 403 — عدم دسترسی

کاربر به بخش مورد نظر دسترسی ندارد:

{
"code": 0,
"message": "عدم دسترسی کاربر به این بخش",
"errors": {}
}

🔴 404 — مسیر یا داده یافت نشد

کدهای داخلی برای تشخیص نوع خطا:

  • 11: داده یافت نشد (data not found)
  • 12: مسیر یافت نشد (route not found)

نمونه:

{
"code": 12,
"message": "وکیل مورد نظر پیدا نشد",
"errors": {}
}

🟠 422 — خطاهای اعتبارسنجی

برای اعتبارسنجی ناموفق فرم‌ها یا داده‌ها:

{
"code": 13,
"message": "خطایی در اعتبارسنجی داده‌ها رخ داد",
"errors": {
"first_name": [
"نام نمی‌تواند خالی باشد"
],
"email": [
"پست الکترونیکی معتبر نیست"
]
}
}

🔴 500 — خطای داخلی سرور

در صورت بروز خطای غیرمنتظره در سرور:

{
"code": 0,
"message": "خطای داخلی سرور",
"errors": {}
}

🔴 502 — خطای سرویس دهنده خارجی

اگر یکی از سرویس‌های خارجی موجب خطا شود:

{
"code": 10,
"message": "پاسخی از پنل پیامک دریافت نشد",
"errors": {}
}