کدهای خطا و مرجع وضعیت
راهنمای جامع کدهای خطای Smart Money API، کدهای وضعیت HTTP و مراحل عیبیابی. پاسخهای خطا را درک کنید و مشکلات یکپارچهسازی را به سرعت حل کنید.
کدهای موفقیت 2xx
پاسخهای موفقیت نشان میدهند که درخواست با موفقیت پردازش شده است.
| کد | وضعیت | معنی |
|---|---|---|
| 200 | OK | درخواست موفقیتآمیز بود. بدنه پاسخ شامل دادههای درخواستی است. |
| 201 | Created | منبع با موفقیت ایجاد شد. پاسخ شامل منبع جدید است. |
| 204 | No Content | درخواست موفقیتآمیز بود اما هیچ محتوایی برای بازگشت وجود ندارد (مثلاً DELETE). |
مثال پاسخ 200
کدهای خطای سمت کلاینت 4xx
خطاهای سمت کلاینت نشان میدهند که درخواست نادرست یا نامعتبر است. درخواست خود را اصلاح کنید و دوباره امتحان کنید.
| کد | وضعیت | علت |
|---|---|---|
| 400 | Bad Request | نحو درخواست نادرست است. پارامترهای کوئری، هدرها و بدنه درخواست را بررسی کنید. |
| 401 | Unauthorized | اعتبارنامههای احراز هویت وجود ندارند یا نامعتبر هستند. کلید API یا توکن JWT خود را بررسی کنید. |
| 402 | Payment Required | پرداخت اشتراک شما ناموفق بود. اطلاعات صورتحساب را در حساب خود بهروزرسانی کنید. |
| 403 | Forbidden | احراز هویت شدهاید اما مجوز دسترسی به این منبع را ندارید. طرح شما شامل این ویژگی نیست. |
| 404 | Not Found | منبع وجود ندارد. آدرس URL و پارامترهای نقطه پایانی را بررسی کنید. |
| 429 | Too Many Requests | محدودیت نرخ превыرشده است. قبل از تلاش مجدد صبر کنید. هدر Retry-After را بررسی کنید. |
| 422 | Unprocessable Entity | اعتبارسنجی ناموفق بود. پارامترهای درخواست نامعتبر هستند یا فیلدهای الزامی وجود ندارند. |
مثالهای خطای احراز هویت
کلید API وجود ندارد (401)
کلید API نامعتبر (401)
محدودیت نرخ (429)
وقتی سهمیه API شما بیش از حد باشد، سرور 429 Too Many Requests را برمیگرداند. هدرهای پاسخ را برای اطلاعات محدودیت نرخ بررسی کنید:
پاسخ خطای محدودیت نرخ
خطاهای اعتبارسنجی (422)
خطاهای اعتبارسنجی زمانی رخ میدهند که پارامترهای درخواست شما نامعتبر هستند یا فیلدهای الزامی وجود ندارند.
کدهای خطای سمت سرور 5xx
خطاهای سمت سرور نشاندهنده مشکلی در سمت ما هستند. این خطاها موقت هستند و معمولاً به سرعت حل میشوند. منطق بازگشت نمایی را پیادهسازی کنید.
| کد | وضعیت | اقدام |
|---|---|---|
| 500 | Internal Error | خطای غیرمنتظره سرور. با منطق بازگشت نمایی دوباره امتحان کنید. |
| 502 | Bad Gateway | مختل شدن موقت سرویس. پس از چند ثانیه دوباره امتحان کنید. |
| 503 | Service Unavailable | تعمیرات یا قطعی موقت. صفحه وضعیت را بررسی کنید. پس از بازه Retry-After دوباره امتحان کنید. |
| 504 | Gateway Timeout | درخواست زمان زیادی طول کشید. ممکن است سرور آن را پردازش کرده باشد. بررسی کنید که درخواست idempotent باشد. |
مثال خطای سرور (503)
راهنمای عیبیابی
401 Unauthorized - کلید API نامعتبر
مشکل: دریافت خطاهای 401 حتی با وجود کلید API.
راهحلها:
- بررسی کنید که کلید API در هدر Authorization با پیشوند "Bearer" قرار دارد
- بررسی کنید که کلید API شما منقضی یا لغو نشده باشد
- مطمئن شوید که از کلید صحیح (تولید، آزمایشی یا توسعه) استفاده میکنید
- اگر کلید فعلی گم شده است، یک کلید API جدید از کنسول خود ایجاد کنید
403 Forbidden - ویژگی در دسترس نیست
مشکل: دریافت خطاهای 403 در برخی نقاط پایانی.
راهحلها:
- سطح API خود را بررسی کنید. برخی نقاط پایانی نیاز به طرحهای Trader یا Pro دارند
- طرح خود را در /pricing.html ارتقا دهید تا به ویژگیهای پریمیوم دسترسی پیدا کنید
- بررسی کنید که کلید API دارای محدودههای مورد نیاز فعال باشد
- اگر فکر میکنید باید دسترسی داشته باشید، با پشتیبانی تماس بگیرید
429 Too Many Requests - محدودیت نرخ
مشکل: دریافت خطاهای 429 و محدودیت نرخ.
راهحلها:
- منطق بازگشت نمایی را پیادهسازی کنید (1 ثانیه، 2 ثانیه، 4 ثانیه و غیره صبر کنید)
- پاسخها را کش کنید تا از درخواستهای تکراری API جلوگیری کنید
- برای دادههای بلادرنگ به جای پرسوجو از نقاط پایانی REST از WebSocket استفاده کنید
- برای سهمیههای بالاتر طرح خود را ارتقا دهید (Trader 400 در روز، Pro 4,000 در روز)
- در صورت امکان چندین پرسوجو را در یک درخواست دستهبندی کنید
400 Bad Request - پارامترهای نامعتبر
مشکل: دریافت خطاهای 400 با درخواستهای نادرست.
راهحلها:
- مستندات API را برای پارامترهای الزامی و اختیاری بررسی کنید
- نوع پارامترها را بررسی کنید (رشتهها در مقابل اعداد، آرایهها در مقابل اشیا)
- مطمئن شوید که JSON معتبر و بهدرستی فرمت شده است
- از آدرسهای URL صحیح نقاط پایانی با پارامترهای مسیر مناسب استفاده کنید
- غلطهای املایی در نام پارامترهای کوئری را بررسی کنید
خطاهای سرور 5xx - قطعیهای موقت
مشکل: دریافت خطاهای 500، 502، 503 یا 504.
راهحلها:
- وضعیت سرویس را در https://status.smartmoneyapi.com بررسی کنید
- پیادهسازی تلاش مجدد خودکار با تاخیر نمایی (حداکثر 5-10 تلاش)
- 30-60 ثانیه قبل از تلاش مجدد برای خطاهای 503 صبر کنید
- از هدر Retry-After برای تعیین زمان تلاش مجدد استفاده کنید
- برای اطلاعرسانی حوادث، به صفحه وضعیت مشترک شوید
قالب پاسخ خطا
تمام پاسخهای خطا از یک قالب ثابت پیروی میکنند:
نیاز به کمک بیشتر دارید؟
مستندات API ما را بررسی کنید یا با ارائه کد خطا و جزئیات درخواست خود با پشتیبانی تماس بگیرید.
مرجع API