|
56 | 56 | 429 | Too Many Requests | تعداد درخواست بیشتر از اندازه مجاز است | <a target="_blank" rel="nofollow" href="https://http.cat/429">🐱</a> |
57 | 57 | 500 | Internal Server Error | مشکلی به صورت موقت در سرور نوبیتکس رخ داده است | <a target="_blank" rel="nofollow" href="https://http.cat/500">🐱</a> |
58 | 58 |
|
59 | | -<h2 id="ratelimit">محدودیت فراخوانی</h2> |
60 | | -> نمونه پاسخ ناموفق: |
61 | | -
|
62 | | -``` json |
63 | | -{ |
64 | | - "status": "failed", |
65 | | - "code": "TooManyRequests", |
66 | | - "message": "تعداد درخواست شما بیش از حد معمول تشخیص داده شده. لطفا 12 ثانیه صبر نمایید.", |
67 | | - "backOff": 12, |
68 | | - "limit": 60 |
69 | | -} |
70 | | -``` |
71 | | - |
72 | | -در کنار توضیحات هر API، _محدودیت فراخوانی_ مشخصی برای هر کاربر، IP، توکن و... تعریف شده است. |
73 | | -این محدودیت بهصورت حداکثر تعداد فراخوانی در یک بازه زمانی تعیین میشود. |
74 | | - |
75 | | -در صورتی که تعداد درخواستها از این محدودیت فراتر رود، خطای `TooManyRequests` بازگردانده خواهد شد. |
76 | | -برای ارسال مجدد درخواست به همان آدرس، لازم است به اندازه مقدار مشخصشده در پارامتر `backOff` (به واحد ثانیه) صبر کنید. |
77 | | - |
78 | | -در زمانهای ازدحام شدید بازار، بهمنظور ایجاد فرصت برابر برای همه کاربران، ممکن است محدودیت فراخوانی یک API برای هر کاربر کاهش یابد. |
79 | | -پارامتر `limit` به تشخیص این وضعیت از حالت عادی کمک میکند. |
80 | | - |
81 | | -نادیده گرفتن محدودیت فراخوانی به دفعات زیاد، موجب اعمال محدودیت فراخوانی روی توکن کاربر به مدت ۲ دقیقه در تمامی APIها خواهد شد. |
82 | | - |
83 | 59 | <h2 id="pagination">صفحهبندی</h2> |
84 | 60 | پارامترهای زیر در API های دریافت لیست دارای صفحهبندی قابل استفاده است: |
85 | 61 |
|
|
114 | 90 | به خصوص در هنگام دریافت توکن از API لاگین، علاوه بر سایر پارامترها، رمز یکبار مصرف خود را نیز در هدرهای درخواست به این صورت ارسال نمایید: |
115 | 91 | `X-TOTP: 123456`. |
116 | 92 |
|
117 | | -<h2 id="ratelimits"> محدودیتهای فراخوانی API</h2> |
| 93 | +<h2 id="ratelimit">محدودیت فراخوانی</h2> |
| 94 | +> نمونه پاسخ ناموفق: |
| 95 | +
|
| 96 | +``` json |
| 97 | +{ |
| 98 | + "status": "failed", |
| 99 | + "code": "TooManyRequests", |
| 100 | + "message": "تعداد درخواست شما بیش از حد معمول تشخیص داده شده. لطفا 12 ثانیه صبر نمایید.", |
| 101 | + "backOff": 12, |
| 102 | + "limit": 60 |
| 103 | +} |
| 104 | +``` |
| 105 | + |
118 | 106 | برخی از APIهای نوبیتکس دارای محدودیت تعداد فراخوانی در هر بازهی زمانی هستند. با این حال اگر شما به صورت معمولی و مشابه |
119 | 107 | استفادهی متداول کاربران از API استفاده کنید، با این محدودیتها مواجه نخواهید شد. محدودیتها به ازای هر API مستقلا محاسبه |
120 | | -و اعمال میشوند. محدودیتها معمولا بر اساس آدرس IP درخواست دهنده و در موارد هم بر اساس کاربر (توکن) درخواست دهنده میباشند. |
121 | | -در حالتی که به حد مجاز تعداد فراخوانی یک API رسیده باشید، پاسخ آن API به شما یک پیام خطا با کد 403 و دارای توضیحات مشخص |
122 | | -در خصوص آن محدودیت خواهد بود. |
| 108 | +و اعمال میشوند. محدودیتها معمولا بر اساس آدرس IP درخواست دهنده و در برخی موارد هم بر اساس کاربر (توکن) درخواست دهنده میباشند. |
| 109 | + |
| 110 | +در صورتی که تعداد درخواستها از این محدودیت فراتر رود، خطای `TooManyRequests` با کد 429 در پاسخ بازگردانده میشود که |
| 111 | +همراه با توضیحات مشخص در خصوص آن محدودیت است. |
| 112 | + |
| 113 | +برای ارسال مجدد درخواست به همان آدرس، لازم است به اندازه مقدار مشخصشده در پارامتر `backOff` (به واحد ثانیه) صبر کنید. |
| 114 | +پارامتر `limit` سقف مجاز تعداد درخواست را در بازه مشخصشده نشان میدهد. |
| 115 | + |
| 116 | +<aside class="info"> |
| 117 | +نادیده گرفتن محدودیت فراخوانی به دفعات زیاد و تکرار بیامان درخواستها، موجب مسدودی توکن کاربر به مدت ۲ دقیقه |
| 118 | +در تمامی APIها خواهد شد. |
| 119 | +</aside> |
| 120 | + |
| 121 | +محدودیتهای استفاده از APIها بر اساس ظرفیت پردازشی نوبیتکس یا به منظور حفظ امنیت برای هر کاربر تعیین میشود |
| 122 | +تا کیفیت خدمات برای همه کاربران بهطور یکنواخت حفظ گردد. در زمانهای ازدحام شدید بازار، بهمنظور ایجاد فرصت برابر برای |
| 123 | +همه کاربران، ممکن است محدودیت فراخوانی یک API به ازای یک کاربر کاهش یابد. |
123 | 124 |
|
124 | | -در صورتی که به صورت موردی یا در حین تست کد خود به محدودیتی برخورد کردید، میتوانید با |
125 | | -منتظر ماندن (بین یک ساعت تا یک روز) آن محدودیت را برطرف کنید و دوباره امکان استفاده از API مد نظرتان را داشته باشید. اگر به |
126 | | -صورت مداوم به محدودیتی برای یک API برخورد میکنید و فکر میکنید که بهتر است تعداد فراخوانی مجاز آن API افزایش یابد، حتما با |
127 | | -ایجاد یک مورد در گیتهاب ([لینک ایجاد مورد](https://github.com/nobitex/docs-api/issues/new)) مسئله را با ما مطرح نمایید. |
| 125 | +اگر به صورت مداوم با محدودیتی در استفاده از یک API مواجه میشوید و بر این باور هستید که افزایش تعداد فراخوانی مجاز |
| 126 | +آن API مفید خواهد بود، لطفا از طریق ایجاد یک [مسئله در گیتهاب](https://github.com/nobitex/docs-api/issues/new) |
| 127 | +درخواست خود را با ما در میان بگذارید. |
128 | 128 |
|
129 | 129 | <h3 id="order_ratelimit">محدودیت مشترک APIهای سفارشگذاری</h3> |
130 | 130 | توجه داشته باشید که تمامی APIهای مربوط به ثبت سفارش دارای محدودیت مشترک روی تعداد سفارشهایی که ثبت میشوند هستند. برای مثال، اگر همزمان هم در بازار اسپات و هم در بازار تعهدی سفارش ثبت میکنید، محدودیت فراخوانی شامل مجموع سفارشهای ثبت شده در این دو بازار میشود. |
131 | 131 |
|
132 | 132 | مقدار محدودیت مشترک: ۳۰۰ درخواست در ۱۰ دقیقه |
133 | 133 |
|
| 134 | +<h3 id="auth_ratelimit">محدودیت احراز ناموفق</h3> |
| 135 | +به منظور حفاظت از امنیت حسابهای کاربران، در صورتی که بیش از ۱۰۰ درخواست با توکن اشتباه (یا منقضی) از یک آدرس IP |
| 136 | +در مدت زمان کمتر از ۳۰ دقیقه ارسال شود، آن IP تا پایان این بازه زمانی مسدود خواهد شد. برای پیشگیری از بروز این مسئله، |
| 137 | +توصیه میشود فرایند تولید و تجدید توکن خود را مطابق با توضیحات [احراز هویت](/#auth) مدیریت نمایید. |
134 | 138 |
|
135 | 139 |
|
136 | 140 | ## حالت متداول و Pro |
|
0 commit comments