Webhooks
اشترك في أحداث دورة حياة المنشور عبر Webhooks بـ HTTPS مع حمولات موقّعة بـ HMAC.
تتيح Webhooks لتطبيقك استقبال إشعارات فورية عندما ينتقل منشور عبر مسار النشر — دون استطلاع
GET /api/v1/posts.
النقاط الطرفية
| الطريقة | المسار | الأداة / النطاق |
|---|---|---|
GET | /api/v1/webhooks | list_webhooks · posts:read |
POST | /api/v1/webhooks | register_webhook · posts:create |
DELETE | /api/v1/webhooks/{id} | delete_webhook · posts:create |
تتطلب كل النقاط Authorization: Bearer ewasl_... وخطة Pro فأعلى.
الأحداث
| الحدث | يُطلق عندما |
|---|---|
post.published | نجحت كل المنصّات. |
post.partially_published | نجحت منصة واحدة على الأقل وفشلت واحدة على الأقل. |
post.failed | فشلت كل المنصّات. |
post.scheduled | أُدرج منشور مجدول جديد. |
التسجيل
يجب أن يكون الرابط HTTPS (تُرفض نقاط HTTP). يمكنك الاشتراك في عدّة أحداث لكل نقطة، أو تسجيل عدّة نقاط.
شكل الحمولة
يحمل كل POST لحدث جسماً JSON:
في post.partially_published و post.failed، تحتوي مصفوفة results على عنصر لكل منصة جرى
محاولتها مع success: false و error معبّأ.
التحقّق من التواقيع
يتضمّن كل طلب ترويسة توقيع HMAC:
تحقّق منها قبل الوثوق بالحمولة. (يُولَّد السرّ المشترك عند تسجيل الـ webhook ويُعرض مرة واحدة في الاستجابة.)
ارفض الطلبات التي يكون فيها Math.abs(now - parts.t) > 300 ثانية لمنع هجمات إعادة التشغيل.
إعادة المحاولات
إن أعادت نقطتك استجابة غير 2xx، يعيد eWasl المحاولة بتراجع أُسّي: دقيقة، 5 دقائق، 30 دقيقة،
ساعتين، 12 ساعة. بعد الإخفاق الخامس، يُعطَّل الـ webhook تلقائياً ويُكشَف failure_count عبر
GET /api/v1/webhooks لتتمكّن من إعادة تفعيله بعد إصلاح المستقبِل.