خطافات الويب
خطافات ويب للأحداث الصادرة مع التوقيعات وإعادة المحاولة، إضافة إلى استقبال أحداث القنوات.
فريق ChatinFlow
دليل رسمي
نظرة عامة
يستقبل ChatinFlow الـ Webhooks من المزوّدين (Meta وTelegram وغيرهم) في مسار المراسلة، ويرسل أحداث دورة حياة المنتج عبر قنوات خاصة فورية إلى لوحة التحكم.
لإرسال أحداث المنتج إلى نظامك، أضف خطاف ويب صادرًا: يرسل ChatinFlow الأحداث التي تختارها إلى عنوانك ويوقّع كل طلب. تبقى حمولات مزوّدي القنوات داخلية، وليست عقدًا عامًا.
خطافات الويب الصادرة
أضف نقطة استقبال
من الإعدادات ← المطورون، أضف عنوان https واختر الأحداث: إنشاء جهة اتصال، وإضافة وسم، ووصول رسالة، وتسجيل عملية بيع، وإلغاء حجز، والمزيد. انسخ سر التوقيع؛ فهو يُعرض مرة واحدة فقط.
تحقّق من التوقيع
يحمل كل طلب `X-ChatinFlow-Signature: t=<unix time>,v1=<signature>`. احسب HMAC-SHA256 لـ `<t>.<raw body>` بالسر، وقارنه بـ `v1` في زمن ثابت، وارفض الطوابع الزمنية الأقدم من خمس دقائق.
signature = hex(hmac_sha256(secret, t + "." + raw_body)) valid = equals(signature, v1) and now - t < 300
استجب بسرعة وتجاهل التكرار
استجب بأي رمز 2xx خلال 10 ثوانٍ. يُعاد تسليم أي طلب فاشل بعد دقيقة، ثم 5 دقائق، ثم 30 دقيقة، ثم ساعتين، ثم 12 ساعة. التسليم يحدث مرة واحدة على الأقل: تبقى `X-ChatinFlow-Delivery` كما هي عبر المحاولات، فتجاهل المعرّفات التي عالجتها.
نقاط الاستقبال المتوقفة
بعد 50 محاولة فاشلة متتالية، أو رد 410 Gone، تتوقف نقطة الاستقبال وتعرض السبب. أصلحها وأعد تشغيلها، ثم أعد إرسال عمليات التسليم الفاشلة من السجل.
Zapier وMake وn8n
أنشئ نقطة استقبال للحدث الذي تحتاجه والصق عنوان الالتقاط الخاص بـ Zap أو السيناريو لديك. `GET /api/v1/workspaces/<workspace>/webhooks/events` يسرد كل حدث مع حمولة نموذجية لربط الحقول.
Webhooks القنوات الواردة
اربط القناة أولًا
يسجّل الربط عبر OAuth أو بيانات الاعتماد من لوحة التحكم ← القنوات مسار الـ Webhook وأسراره. في منتجنا لا تحتاج إلى لصق روابط callback الخاصة بـ Meta يدويًا.
استقبال دون تكرار
تُزال التكرارات من عمليات تسليم المزوّدين باستخدام Idempotency-Key أو معرّفات رسائل المزوّد، فلا تُنشئ إعادة المحاولة محادثات مكررة.
فقدان الأذونات
إذا أُلغيت الأذونات، تعرض صفحة القنوات طلب إعادة التفويض. أصلح الأذونات قبل البحث عن "Webhooks مفقودة".
التعزيز
تنبيه
لا تكشف أسرار APP أبدًا
تبقى أسرار التحقق من webhook ورموز OAuth على الخادم (مشفّرة بتشفير الظرف). لا تضمّنها أبدًا في تطبيقات العميل.
نصيحة
تحديث فوري للفريق
تصل تحديثات دورة حياة صندوق الوارد والأتمتة للأعضاء المسجّلين عبر قنوات خاصة بمساحة العمل (Echo/Reverb)، لا عبر عناوين webhook عامة.
هل كان هذا الدليل مفيدًا؟
تصفح المزيد في المكتبة
مستعد لتطبيق
ذلك عمليًا؟
ابدأ بناء أول أتمتة مجانًا. دون بطاقة ائتمان. فقط اربط قناتك وانطلق خلال دقائق.