🔗 حالات استخدام Webhooks في عملك اليومي
مرحبًا، في هذا الشرح سنتعرّف على ميزة حالات استخدام Webhooks في منصة أزير (Azeer)، وكيف يمكنك الاعتماد عليها لربط حسابك بالأنظمة والأدوات الخارجية بشكل ذكي وتلقائي.
باستخدام Webhooks، لا تحتاج أن تبحث يدويًا عن الأحداث التي تحدث داخل المحادثات أو الحملات، بل يقوم النظام بإرسال طلب HTTP إلى نقطة الربط (Endpoint) التي تحددها، في اللحظة نفسها التي يحدث فيها الحدث، مثل: استقبال رسالة، إغلاق محادثة، أو اكتمال بث.
1. مسار الوصول إلى صفحة Webhooks
للوصول إلى إعدادات Webhooks داخل حساب أزير، اتبع الخطوات التالية:
- من القائمة الجانبية انتقل إلى قسم الإعدادات.
- من قائمة الإعدادات اختر Webhooks.
ستظهر لك صفحة تحتوي على:
- زر Create Webhook في أعلى الصفحة.
- جدول بقائمة الـ Webhooks الحالية (الاسم، الرابط، الحالة، الإجراءات).
2. ما هو Webhook باختصار؟
Webhook هو آلية يقوم النظام من خلالها بإرسال Request (عادةً HTTP POST) إلى Endpoint (نقطة الربط) في نظام خارجي، عند حدوث Event معيّن داخل الحساب.
أمثلة على الأحداث (Events):
- Message received (رسالة واردة)
- Message sent (رسالة صادرة)
- Conversation assigned / closed
- Contact created
- Template approved
- Broadcast completed
بهذا الشكل، كل حدث مهم عندك يمكن أن يتحوّل إلى Trigger لأتمتة في نظام آخر.
3. الحقول الأساسية عند إنشاء Webhook
عند الضغط على Create Webhook يظهر نموذج يحتوي على أهم الحقول التالية:
- Name: اسم واضح يعبّر عن الغرض (مثل: `WEBHOOK | INVENTORY | update_stock`).
- Description: وصف اختياري لتوضيح الهدف للفريق.
- Event: الحدث الذي سيشغّل الـ Webhook (مثل: إغلاق محادثة).
- Policy: طريقة معالجة الإرسال (Simple, Warm-up, Batching) حسب حجم البيانات.
- Endpoint URL: الرابط الخارجي (HTTPS) الذي سيستقبل البيانات.
- Secret Token: قيمة سرّية للتحقق من مصدر البيانات وحمايتها.
4. حالات استخدام عملية (Use Cases)
1️⃣ تحديث المخزون (Inventory Update)
الهدف: مزامنة حالة المخزون لحظيًا مع نظام ERP عند اكتمال بيع أو حملة.
الفائدة
تقليل بيع منتجات نافذة (Out-of-Stock) وتحديث المخزون في الوقت شبه الفعلي.
2️⃣ عمليات الدفع والفوترة (Billing)
الهدف: ربط إغلاق المحادثة أو تأكيد الطلب بنظام الفوترة لتسجيل الدفع تلقائيًا.
الفائدة
تقليل الإدخال اليدوي وضمان تطابق حالة الدفع بين فريق خدمة العملاء والمالية.
3️⃣ إنشاء تذاكر دعم في CRM
الهدف: تحويل المحادثات الهامة (مثل الشكاوى) تلقائيًا إلى تذاكر (Tickets) في نظام CRM خارجي.
الفائدة
ضمان عدم ضياع الشكاوى ومتابعتها بشكل احترافي في نظام التذاكر المتخصص.
4️⃣ التقارير والأتمتة (Zapier / Analytics)
الهدف: إرسال بيانات الحملات أو الرسائل لأداة تحليل خارجية أو Zapier لبناء تقارير مخصصة.
5. كيف تختار Event و Policy؟
- الحدث المناسب: للرد الفوري استخدم `Message received`، ولنهاية الإجراء استخدم `Conversation closed`.
- حجم البيانات (Policy): للبيانات المحدودة استخدم `Simple`، وللحملات الضخمة استخدم `Batching` لتخفيف الضغط.
- قدرة النظام الخارجي: إذا كان النظام المستقبل ضعيفًا، استخدم `Sampling` لإرسال عينات فقط.
✅ أفضل الممارسات
- استخدم أسماء واضحة ومنظمة للـ Webhooks.
- نسّق مع المطورين قبل التفعيل في البيئة الحية (Production).
- تأكد من استخدام رابط آمن (HTTPS) لنقطة الربط.
- راقب الـ Webhooks دوريًا واحذف غير المستخدم منها.
🌟 الخلاصة
Webhooks في أزير تمنحك طبقة قوية من الأتمتة. بتصميم حالات استخدام ذكية، واختيار الأحداث المناسبة، يمكنك تحويل كل تفاعل داخل النظام إلى إجراء تلقائي في أنظمتك الأخرى (مخزون، فوترة، CRM)، مما يقلل الجهد اليدوي ويرفع دقة البيانات.
❓ الأسئلة الشائعة
س1: متى أستخدم Webhook بدلًا من API Pull؟
عندما تحتاج أن يصلك الحدث لحظيًا (Real-time) دون الحاجة للاستعلام المتكرر من الخادم.
س2: هل يمكن استخدام أكثر من Webhook لنفس الحدث؟
نعم، يمكنك إنشاء عدة Webhooks لنفس الحدث لخدمة أنظمة مختلفة (مثلاً واحد للـ CRM وآخر للتحليل).
س3: ماذا يحدث لو توقف الـ Endpoint؟
قد يفشل الطلب. يجب مراجعة سجلات الخطأ في نظامك، ويمكن إيقاف الـ Webhook مؤقتًا حتى الإصلاح.
س4: هل أستطيع تعديل الـ Webhook بعد إنشائه؟
نعم، من قائمة الإجراءات يمكنك التعديل، ويفضل إعادة الاختبار بعد أي تغيير.