رموز الأخطاء · الحدود
تجاوزت حدّ الاستدعاءات
الرمز
rate_limitedالحالة429
إن كان طلب شراءقد يكتمل — استأنف بالمعرّف نفسه
هل تعيد إرساله كما هو؟نعم — انظر «ما عليك فعله»
حزمة SDK لـ .NET
RateLimitedExceptionقد يكتمل طلب الشراء
استأنفه بمعرّف العملية نفسه والمحتوى نفسه. معرّف عملية جديد قد يشتري البطاقات مرة ثانية.
المعنى
استدعاءات كثيرة: في النافذة الزمنية الحالية، أو في الوقت نفسه. الحدّ إما حدّ وضعه موظفو أنيس على تطبيقك أو على محفظة — يحتسب كل الاستدعاءات، أو طلبات الشراء فقط، أو الكشف فقط — وإما أحد حدود الحماية الخاصة بأنيس، المذكورة في صفحة الأخطاء والحدود. وعلى طلب الشراء، لا يثبت هذا الرفض أنه لم يُقدَّم شيء: فقد تكون نسخة سابقة من الطلب نفسه (استدعاء انتهت مهلته، أو إعادة محاولة أجراها عميل HTTP لديك) مرّت فعلًا.
ما عليك فعله
- انتظر المدة المذكورة في
Retry-Afterإن وُجدت. وإلا فتراجع تدريجيًا: انتظر ثانية واحدة، وضاعف الانتظار بعد كل رفض، وأضف إليه قدرًا عشوائيًا صغيرًا، ولا تنتظر أكثر من 30 ثانية. والحدود مذكورة في الأخطاء والحدود. - ثم أرسل مجددًا. أما طلب الشراء فأمره مختلف: استأنفه بمعرّف العملية نفسه والمحتوى نفسه، لا بمعرّف جديد أبدًا. تعيد حزمة .NET بالإصدار 1.1.0 طلب الشراء المرفوض بحدّ معدّل الاستدعاءات في صورة
OrderOutcomeUnknown. - الرفض بسبب كثرة الاستدعاءات الجارية في الوقت نفسه يزول بمجرد أن ينتهي أحد استدعاءاتك: قلّل عدد الاستدعاءات التي تجريها بالتوازي.
أين قد تصادفه
- GETقراءة ملفّك
/v1/profile - GETقائمة المحافظ
/v1/wallets - GETقراءة محفظة
/v1/wallets/{walletId} - GETقائمة فئات الكتالوج
/v1/wallets/{walletId}/catalog/categories - GETقائمة الفئات الفرعية لفئة
/v1/wallets/{walletId}/catalog/categories/{categoryId}/subcategories - GETقراءة فئة فرعية
/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId} - GETقائمة البطاقات المعروضة للبيع
/v1/wallets/{walletId}/catalog/subcategories/{subcategoryId}/cards - GETقراءة بطاقة من الكتالوج
/v1/wallets/{walletId}/catalog/cards/{cardId} - POSTتقديم طلب شراء
/v1/wallets/{walletId}/orders - GETقراءة طلب شراء
/v1/orders/{operationId} - GETقائمة البطاقات المملوكة
/v1/wallets/{walletId}/owned-cards - GETقراءة بطاقة مملوكة
/v1/wallets/{walletId}/owned-cards/{soldCardId} - POSTكشف بطاقة
/v1/wallets/{walletId}/owned-cards/{soldCardId}/reveal - POSTكشف فاتورة
/v1/wallets/{walletId}/invoices/{invoiceId}/owned-cards/reveal - POSTتعليق تطبيقك
/v1/application/suspend - POSTإلغاء مفتاح للتطبيق
/v1/keys/{keyId}/revoke - POSTفحص توقيعك
/v1/diagnostics/signature - GETقراءة دعوة
/v1/enrollments/{invitationId} - POSTإرسال مفتاح عام
/v1/enrollments/{invitationId}/keys - POSTإثبات حيازة المفتاح
/v1/enrollments/{invitationId}/proof - GETقراءة حالة التسجيل
/v1/enrollments/{invitationId}/status - GETقائمة العناوين المسموح بها
/v1/application/networks - POSTالسماح بعنوان إضافي
/v1/application/networks - POSTإزالة عنوان أضفته
/v1/application/networks/remove - GETعرض باقات شحن العداد
/v1/wallets/{walletId}/meter-packages - GETعرض عمليات شحن العدادات الخاصة بي
/v1/wallets/{walletId}/meter-charges - POSTشحن عداد
/v1/wallets/{walletId}/meter-charges - GETقراءة عملية شحن
/v1/meter-charges/{operationId} - GETعرض الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products - GETقراءة منتج الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products/{productId} - GETالبحث عن مواقع المستلم
/v1/wallets/{walletId}/direct-recharge-products/{productId}/locations - GETحساب تكلفة الشحن المباشر
/v1/wallets/{walletId}/direct-recharge-products/{productId}/quote - GETعرض عمليات الشحن المباشر الخاصة بي
/v1/wallets/{walletId}/direct-recharges - POSTطلب الشحن المباشر
/v1/wallets/{walletId}/direct-recharges - GETمتابعة عملية شحن مباشر مطلوبة
/v1/direct-recharges/{operationId} - PATCHتصحيح بيانات المستلم
/v1/direct-recharges/{operationId}/recipient - GETقراءة عنوان الإشعارات
/v1/webhook-endpoint - PUTتسجيل عنوان الإشعارات
/v1/webhook-endpoint - POSTاختبار استقبال الإشعارات
/v1/webhook-endpoint/test - GETعرض تسليم الإشعارات
/v1/webhook-events - POSTإعادة إرسال إشعار
/v1/webhook-events/{eventId}/redeliver
مثال
محتوى الرفض. قيمة type هي عنوان الصفحة الإنجليزية؛ وهذه الصفحة نسختها العربية.
{
"type": "https://developers.anis.ly/errors/rate-limited",
"title": "تجاوزت حدّ الاستدعاءات",
"status": 429,
"code": "rate_limited",
"requestId": "01J9R2K8T4V6XQ0M3B7C5D9E1F"
}