العودة إلى الصفحة الرئيسية

التكاملات و Webhooks

ربط الخدمات الخارجية لمعالجة الرسائل الواردة برمجياً

التكاملات ترسل نسخة من كل رسالة واردة إلى رابط خارجي من اختيارك. يمكن لخدمتك الخارجية معالجة الرسالة والرد على العميل اختيارياً.

ما هي التكاملات؟

تتيح لك التكاملات إعادة توجيه رسائل واتساب الواردة إلى رابط webhook خارجي في الوقت الفعلي. هذا مفيد للاتصال بـ N8N أو أنظمة CRM أو أي خدمة خارجية.

حالات الاستخدام الشائعة

  • الاتصال بـ N8N لأتمتة سير العمل المعقد
  • إرسال الرسائل إلى نظام CRM للتسجيل
  • بناء روبوتات محادثة مخصصة بمنطق الذكاء الاصطناعي الخاص بك
  • إعادة توجيه الرسائل إلى قناة Slack أو دردشة الفريق
  • معالجة الطلبات والمدفوعات من خلال نظام خارجي

إنشاء تكامل

لإنشاء تكامل جديد، اتبع هذه الخطوات:

  1. انتقل إلى التكاملاتاذهب إلى علامة التبويب 'التكاملات' في الشريط الجانبي
  2. انقر على إضافة تكاملزر إضافة تكامل يفتح نموذج الإنشاء
  3. أدخل اسماًاسم وصفي لتحديد هذا التكامل
  4. اختر المزوداختر Webhook أو N8N أو Custom
  5. أدخل رابط Webhookالرابط الذي سيستقبل طلبات POST مع بيانات الرسالة
  6. تكوين الإعداداتتعيين وضع الرد، إضافة مفتاح سري لتوقيع HMAC، تصفية حسب JID أو الجلسات
  7. تفعيل التكاملقم بتفعيل التكامل لبدء استقبال مكالمات webhook

حقول التكوين

الحقلالوصف
الاسماسم وصفي لتحديد التكامل
المزودWebhook (عام) أو N8N أو Custom. جميع المزودين يرسلون طلبات POST بنفس تنسيق الحمولة
رابط Webhookرابط نقطة النهاية الذي يستقبل طلب HTTP POST مع بيانات الرسالة
المفتاح السرياختياري. إذا تم تعيينه، يتضمن كل طلب webhook رأس X-Baileys-Signature مع توقيع HMAC-SHA256 للحمولة
معالجة الردإرسال ونسيان (لا يُتوقع رد) أو وضع الرد (يتوقع استجابة JSON مع نص الرد)
لـ JID فقطاختياري. إذا تم تعيينه، فقط الرسائل من هذا الشخص على واتساب ستشغل webhook
تعيين الجلساتاختياري. اختر جلسات واتساب التي يجب أن تشغل هذا التكامل. اتركه فارغاً لجميع الجلسات

حمولة Webhook

عندما تشغل رسالة تكاملاً، يرسل النظام طلب HTTP POST إلى رابط webhook الخاص بك مع بنية الحمولة التالية:

POST /your-webhook-url
Content-Type: application/json
X-Baileys-Signature: <hmac-sha256-signature> (only if secret is set)

{
  "event": "messages.upsert",
  "sessionId": "abc123...",
  "instanceId": "inst_abc...",
  "data": {
    "remoteJid": "201234567890@s.whatsapp.net",
    "text": "Hello, I want to order a pizza",
    "fromMe": false,
    "timestamp": 1718000000
  }
}

حقول الحمولة

الحقلالنوعالوصف
eventstringنوع الحدث الذي شغل webhook
sessionIdstringمعرف جلسة واتساب التي استلمت الرسالة
instanceIdstringمعرف النسخة التي تملك هذه الجلسة
data.remoteJidstringJID واتساب للشخص الذي أرسل الرسالة
data.textstringنص الرسالة
data.fromMebooleanما إذا كانت الرسالة مرسلة من قبلك. التكاملات تشغل فقط للرسائل الواردة
data.timestampnumberالطابع الزمني لـ Unix وقت إرسال الرسالة

أوضاع معالجة الرد

وضع الإرسال والنسيان

في وضع الإرسال والنسيان، يرسل النظام طلب webhook ولا ينتظر رداً. مناسب لـ:

  • تسجيل الرسائل في أنظمة خارجية
  • تشغيل سير العمل الذي لا يحتاج للرد على العميل
  • إعادة توجيه البيانات لمنصات التحليلات أو CRM

وضع الرد

في وضع الرد، ينتظر النظام حتى 10 ثوانٍ لاستجابة webhook. مناسبة لـ:

  • بناء روبوتات محادثة مخصصة ترد في الوقت الفعلي
  • التكامل مع سير عمل N8N التي تولد ردوداً
  • الاتصال بخدمات الذكاء الاصطناعي لردود ذكية

إذا لم يستجب webhook خلال 10 ثوانٍ، ينتهي الوقت ولا يتم الرد على الرسالة.

الرد المتوقع

HTTP 200 OK
Content-Type: application/json

{
  "reply": "Your message here",
  "text": "Your message here",
  "message": "Your message here"
}

حقول reply أو text أو message جميعها مقبولة. يتم استخدام أول قيمة غير فارغة كنص الرد.

الأمان والتحقق

توقيع HMAC

عند تعيين مفتاح سري لتكامل، يتضمن كل طلب webhook رأس X-Baileys-Signature.

  • تأكد من أن الطلب جاء من وارِد وليس منتحلاً
  • تحقق من عدم العبث بالحمولة أثناء النقل
  • مصادقة طلبات webhook دون الحاجة إلى رموز API

مثال التحقق

// Verify HMAC-SHA256 signature
const crypto = require('crypto')

function verifySignature(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(JSON.stringify(payload))
    .digest('hex')
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  )
}

خيارات التصفية

تصفية JID (لـ JID فقط)

يمكنك تقييد التكامل ليعمل فقط لرسائل من شخص معين على واتساب.

  • أدخل JID كاملاً (مثال: 201234567890@s.whatsapp.net)
  • أو أدخل جزءاً لاحقة يطابق عدة جهات اتصال

تعيين الجلسات

افتراضياً، ينطبق التكامل على جميع جلسات واتساب في نسختك. يمكنك اختيار جلسات محددة.

اختبار التكامل

قبل توجيه التكامل إلى نقطة نهاية إنتاج، يمكنك اختباره باستخدام أداة اختبار Webhook المدمجة.

زر صفحة توثيق أداة اختبار Webhook للتفاصيل:

حل المشاكل

  • Webhook لا يعملتحقق من أن التكامل نشط. تأكد من اتصال الجلسة. تحقق من أن triggerOn يتضمن messages.upsert
  • وضع الرد لا يعملتأكد من أن webhook يعيد استجابة JSON مع حقل reply أو text أو message خلال 10 ثوانٍ
  • توقيع HMAC غير متطابقتحقق من أن المفتاح السري في التكامل يطابق المفتاح المستخدم في HMAC. تأكد من استخدام SHA256 مع نص الطلب الخام
  • تم الوصول إلى حد التكاملاتتحقق من خطة اشتراكك. قد تحتاج إلى ترقية لإضافة المزيد من التكاملات
  • الرسائل لا ترسل إلى webhookاستخدم أداة اختبار Webhook للتحقق من إمكانية الوصول إلى نقطة النهاية

أفضل ممارسة: ابدأ دائماً بوضع الإرسال والنسيان عند إعداد تكامل جديد. بمجرد التحقق من تنسيق الحمولة والاتصال، انتقل إلى وضع الرد إذا لزم الأمر.