الشبكة وحدود المعدل
تقبل مفاتيح الإنتاج الطلبات من عناوين IP المسجلة فقط، وكل مفتاح محدود بـ 60 طلبًا في الدقيقة. كيفية التعامل مع 403 و429.
تنطبق قاعدتان شبكيتان على كل مفتاح إنتاج: يجب أن تأتي الطلبات من عناوين IP التي سجلتها لدى أوكتين، ولا يجوز للمفتاح أن يرسل أكثر من 60 طلبًا في الدقيقة. تُفرض القاعدتان قبل وصول الطلب إلى الواجهة، فيحصل الطلب المحظور على خطأ JSON قصير لا غير.
قائمة IP المسموح بها
كل مفتاح إنتاج مقيّد بقائمة عناوين IP أو نطاقات CIDR تقدمها أنت. تُرفض الطلبات من أي عنوان مصدر آخر:
HTTP/1.1 403 Forbidden
{ "error": { "code": "IP_NOT_ALLOWED" } }- قدّم عناوين IP العامة الصادرة للأنظمة التي تستدعي الواجهة. إذا كنت خلف بوابة NAT أو مزود سحابي، فهذا عنوان البوابة لا العنوان الداخلي.
- تُقبل العناوين الفردية ونطاقات CIDR.
- تمر تغييرات القائمة عبر أوكتين. أرسل العناوين الجديدة إلى مدير حسابك قبل أي تغيير في بنيتك التحتية؛ يُطبَّق التحديث من جانب أوكتين وليس فوريًا.
- تنطبق القائمة على واجهة السحب فقط. الويب هوك صادر من أوكتين ولا يتأثر.
- مفاتيح الاختبار غير مقيّدة بعنوان IP.
الطلبات المحظورة لا تحمل request_id
تُنتَج استجابتا IP_NOT_ALLOWED وRATE_LIMITED على الحافة ولا تحتويان على request_id أو message. اذكر بادئة مفتاحك والطابع الزمني عند التواصل مع الدعم بشأنهما.
حد المعدل
يجوز لكل مفتاح إرسال 60 طلبًا لكل نافذة 60 ثانية. يُرفض الطلب رقم 61 في النافذة حتى تُعاد النافذة:
HTTP/1.1 429 Too Many Requests
Retry-After: 60
Content-Type: application/json
{ "error": { "code": "RATE_LIMITED" } }- الحد لكل مفتاح. لا تعتمد على توزيع الطلبات على عدة عناوين IP للحصول على سعة أكبر.
- لا توجد حصة يومية منفصلة.
- يمكن لأوكتين ضبط حد مختلف لمفتاح عند الطلب إذا كان لتكاملك حاجة مبررة.
ماذا أفعل عند 429؟
احترم ترويسة Retry-After (بالثواني) وانتظر على الأقل تلك المدة قبل إعادة المحاولة. نمط بسيط:
async function octaneFetch(url, options, attempt = 0) {
const res = await fetch(url, options);
if (res.status === 429 && attempt < 5) {
const retryAfter = Number(res.headers.get('Retry-After') ?? 60);
await new Promise((r) => setTimeout(r, retryAfter * 1000));
return octaneFetch(url, options, attempt + 1);
}
return res;
}كيف أبقى تحت الحد؟
- استخدم
limit=100عند جلب السجل لتقليل عدد الطلبات. - زامن وفق جدول بدلًا من الاستطلاع المستمر. مزامنة كل 15 دقيقة لآخر ساعة نمط شائع.
- فضّل الويب هوك للاحتياجات شبه الفورية واستخدم واجهة السحب للتسوية.
- شغّل عملية مزامنة واحدة لكل مفتاح؛ العمال المتوازون الذين يتشاركون مفتاحًا يستنفدون الحد بسرعة.
أسئلة شائعة
- ما حد المعدل في واجهة تكامل أوكتين؟
- 60 طلبًا لكل نافذة 60 ثانية لكل مفتاح API. يحصل الطلب رقم 61 في النافذة على 429 RATE_LIMITED مع ترويسة Retry-After، عادةً 60 ثانية. لا توجد حصة يومية.
- لماذا أحصل على 403 IP_NOT_ALLOWED؟
- جاء الطلب من عنوان IP غير موجود في قائمة مفتاحك. لا تقبل مفاتيح الإنتاج الطلبات إلا من عناوين IP العامة التي سجلتها لدى أوكتين. أرسل العنوان الجديد إلى مدير حسابك.
- هل أحتاج إلى السماح لعناوين IP أوكتين من أجل الويب هوك؟
- لا. تنطبق قائمة السماح فقط على الطلبات التي ترسلها أنت إلى واجهة السحب. الويب هوك صادر من أوكتين إلى نقطة نهاية HTTPS لديك ولا يتأثر بها.
- هل يمكنني الحصول على حد معدل أعلى؟
- يمكن لأوكتين ضبط حد مختلف لمفتاح عند الطلب إذا كان للتكامل حاجة مبررة. قبل الطلب، استخدم limit=100 وزامن وفق جدول بدلًا من الاستطلاع المستمر.


