مرجع
خطاها
همه خطاها با یک قالب برمیگردند؛ منطق برنامه را بر اساس فیلد code بنویسید، نه متن پیام.
قالب خطا
{
"error": {
"code": "not_found",
"message": "Order not found.",
"request_id": "83955522c09ff2d1"
}
}یک مسیر تعریفنشده هم با همین قالب، پاسخ JSON با 404 not_found برمیگرداند؛ صفحه HTML برنمیگردد.
کدها
| HTTP | code | چه زمانی |
|---|---|---|
| 401 | unauthorized | توکن وجود ندارد، قالب آن نادرست است یا نامعتبر است. |
| 403 | insufficient_scope | توکن مجوزی را که این نقطه پایانی لازم دارد ندارد. |
| 403 | tier_required | قابلیت درخواستی در پلن شما وجود ندارد (مثلاً انتخاب نام کاربری دلخواه). |
| 403 | forbidden | این عملیات مجاز نیست. |
| 404 | not_found | منبع پیدا نشد یا چون مدتش تمام شده، پنهان است. |
| 404 | api_disabled | دسترسی API غیرفعال است. |
| 405 | method_not_allowed | این نقطه پایانی از این متد HTTP پشتیبانی نمیکند. متدهای پشتیبانیشده در هدر Allow آمدهاند. |
| 400 | invalid_request | فیلد نامعتبر، فیلد یا پارامتر ناشناخته، یا فیلدی که مخصوص نوع دیگری است. |
| 402 | insufficient_balance | موجودی حساب برای این عملیات کافی نیست. |
| 409 | conflict | تعارض وضعیت: سرویس غیرقابل تمدید، درخواست idempotent در حال پردازش، نام کاربری گرفتهشده. |
| 429 | rate_limited | از محدودیت نرخ درخواست فراتر رفتهاید. |
| 502 / 503 | service_unavailable | ارائهدهنده یا مخزن لاگ در دسترس نبود؛ دوباره تلاش کنید. |
| 500 / 502 | internal_error | خطای پیشبینینشده؛ با ذکر request_id با پشتیبانی تماس بگیرید. |
details
اگر خطا جزئیات قابلخواندن برای ماشین داشته باشد، در فیلد details برمیگردد: مانند فیلد نادرست (field)، موجودی IP (available)، حداقل تعداد (min_required)، موجودی حساب (balance)، حداکثر مقدار مجاز (max) و دلیل خطا (reason). برای مثال، اگر نوع سرویس در حال نگهداری باشد، همراه با service_unavailable مقدار reason: maintenance برمیگردد.
402 insufficient_balance
{
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance for this operation.",
"request_id": "5f1c0a9e7b2d4c61",
"details": { "field": "balance", "balance": 3.2, "min_required": 12.5 }
}
}request_id
مقدار request_id را لاگ کنید؛ تیم پشتیبانی میتواند با همین شناسه در لاگ سرور جستجو کند.