مرجع API · تطبيقك

السماح بعنوان إضافي

POST/v1/application/networks

يتيح POST /v1/application/networks عنوان IPv4 أو IPv6 عامًا واحدًا لتطبيقك. يُحفظ بصيغة /32 أو /128 ويُطبّق ابتداءً من الاستدعاء التالي. بيئة الاختبار فقط — نقاط نهاية للاختبار، غير متاحة في الإنتاج. يعيد الإنتاج 404 resource_not_found.

الصلاحيةلا شيء
المصادقةتغيير موقَّع
ردّ أنيسموقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ ‎.NETPermanently excluded from all SDKs; send a signed HTTP request.
  • لا تتطلب هذه الاستدعاءات صلاحية بعينها، لكن يجب أن يملك تطبيقك صلاحية فعّالة واحدة على الأقل. تُرفض العناوين الخاصة وعناوين loopback وlink-local والمشتركة (100.64.0.0/10) والبث المتعدد والتوثيق والاختبار المعياري والمحجوزة وغير المحددة، وكذلك IPv4 المضمّن في IPv6 وعناوين IPv6 غير العالمية، بالرمز validation_failed (422). استخدم عنوانًا عامًا حقيقيًا؛ عناوين التوثيق في الأمثلة غير مقبولة.
  • يمكنك إضافة 10 عناوين كحد أقصى. إذا كان العنوان مسموحًا به أصلًا، تكون changed: false؛ لذا تكرار الاستدعاء آمن.
  • يحمل الرد القائمة الحالية وعدد العناوين الإضافية المتاحة لك. وقد تتأخر قراءة القائمة المنفصلة بضع ثوانٍ قبل إظهار التغيير.

الاستدعاء

موقَّع بمفتاحك، مع رقم استخدام لمرة واحدة (nonce) وبصمة للمحتوى.

الترويسات: Signature-Input، Signature، Content-Digest، Nonce، X-Anis-Date. تضبطها حزم SDK كلها نيابةً عنك.

المحتوى: {"address":"<عنوانك-العام-لـ-IPv4-أو-IPv6>"} — أرسل عنوانًا واحدًا بلا طول بادئة أو نطاق. يجب أن يأتي الاستدعاء من عنوان مسموح به مسبقًا وأن يكون موقّعًا بمفتاح فعّال.

الردود

الحالةالمعنىالمحتوى
200نجاح.ApplicationNetworksChange
400مرفوض: الاستدعاء الموقّع غير سليم البنية.مشكلة
401مرفوض: لم تتم المصادقة.مشكلة
403مرفوض: غير مسموح.مشكلة
404مرفوض: غير موجود، أو ليس لك.مشكلة
409مرفوض: يتعارض مع الحالة الحالية.مشكلة
422مرفوض: الاستدعاء يخالف قاعدة.مشكلة
429مرفوض: بلغتَ حدًا.مشكلة
503لا قرار: خدمة مطلوبة غير متاحة.مشكلة

كل ردّ على هذا الاستدعاء موقَّع من أنيس — النجاح وكل رفض. اشترط وجود التوقيع وتحقّق منه قبل أن تتصرف بناءً على الردّ؛ والردّ بلا توقيع فشل، لا يُعدّ ردًّا (كيف).

حالات الرفض

كل رفض لهذا الاستدعاء مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.

الخطأالرمزالحالة
بيانات اعتماد غير صالحةinvalid_credentials401
استدعاء موقّع غير سليم البنيةmalformed_signed_request400
صلاحية غير كافيةinsufficient_scope403
عنوان المصدر غير مسموحsource_ip_not_allowed403
تجاوزت حدّ الاستدعاءاتrate_limited429
اكتُشف تكرارreplay_detected409
فشل التحققvalidation_failed422
بُلغ حدّ العناوينpartner_network_limit_reached409
غير موجودresource_not_found404
الخدمة غير متاحةdependency_unavailable503
انتهت مهلة الاستدعاءrequest_timeout504
خطأ داخليinternal_error500

الأنواع

ApplicationNetworksChange

الحقلالنوعملاحظات
changedموجود دائمًاbooleanتكون false إذا كان العنوان مسموحًا به أصلًا عند الإضافة، أو غائبًا أصلًا عند الإزالة؛ وتكرار أي من الاستدعاءين آمن.
networksموجود دائمًاlist of ApplicationNetworkالقائمة الحالية للعناوين التي يستطيع التطبيق الاستدعاء منها. قد تستغرق قراءة القائمة المنفصلة بضع ثوانٍ لتعكس التغيير.
partnerNetworksRemainingموجود دائمًاintegerعدد العناوين الإضافية التي يستطيع تطبيقك إضافتها، بحد أقصى 10 عناوين أضافها الشريك.

ApplicationNetwork

الحقلالنوعملاحظات
cidrموجود دائمًاstringعنوان يستطيع التطبيق الاستدعاء منه، بصيغة CIDR. تُحفظ عناوين الشريك بصيغة /32 لـ IPv4 أو /128 لـ IPv6.
addedByموجود دائمًاstringanis إذا أضافت أنيس العنوان، وpartner إذا أضافه تطبيقك. لا يمكنك إزالة إلا العناوين الموسومة بـ partner. القيم: anis, partner