رموز الأخطاء · الحدود

تجاوزت حدّ الاستدعاءات

الرمزrate_limited
الحالة429
إن كان طلب شراءقد يكتمل — استأنف بالمعرّف نفسه
هل تعيد إرساله كما هو؟نعم — انظر «ما عليك فعله»
حزمة SDK لـ ‎.NETRateLimitedException

قد يكتمل طلب الشراء

استأنفه بمعرّف العملية نفسه والمحتوى نفسه. معرّف عملية جديد قد يشتري البطاقات مرة ثانية.

المعنى

استدعاءات كثيرة: في النافذة الزمنية الحالية، أو في الوقت نفسه. الحدّ إما حدّ وضعه موظفو أنيس على تطبيقك أو على محفظة — يحتسب كل الاستدعاءات، أو طلبات الشراء فقط، أو الكشف فقط — وإما أحد حدود الحماية الخاصة بأنيس، المذكورة في صفحة الأخطاء والحدود. وعلى طلب الشراء، لا يثبت هذا الرفض أنه لم يُقدَّم شيء: فقد تكون نسخة سابقة من الطلب نفسه (استدعاء انتهت مهلته، أو إعادة محاولة أجراها عميل HTTP لديك) مرّت فعلًا.

ما عليك فعله

  • انتظر المدة المذكورة في Retry-After إن وُجدت. وإلا فتراجع تدريجيًا: انتظر ثانية واحدة، وضاعف الانتظار بعد كل رفض، وأضف إليه قدرًا عشوائيًا صغيرًا، ولا تنتظر أكثر من 30 ثانية. والحدود مذكورة في الأخطاء والحدود.
  • ثم أرسل مجددًا. أما طلب الشراء فأمره مختلف: استأنفه بمعرّف العملية نفسه والمحتوى نفسه، لا بمعرّف جديد أبدًا. تعيد حزمة ‎.NET بالإصدار 1.1.0 طلب الشراء المرفوض بحدّ معدّل الاستدعاءات في صورة OrderOutcomeUnknown.
  • الرفض بسبب كثرة الاستدعاءات الجارية في الوقت نفسه يزول بمجرد أن ينتهي أحد استدعاءاتك: قلّل عدد الاستدعاءات التي تجريها بالتوازي.

أين قد تصادفه

مثال

محتوى الرفض. قيمة type هي عنوان الصفحة الإنجليزية؛ وهذه الصفحة نسختها العربية.

{
  "type": "https://developers.anis.ly/errors/rate-limited",
  "title": "تجاوزت حدّ الاستدعاءات",
  "status": 429,
  "code": "rate_limited",
  "requestId": "01J9R2K8T4V6XQ0M3B7C5D9E1F"
}