WhatsApp APIدليل واتساب API

Webhooks في Whats360: كيف تربط متجرك وCRM وتطبيقك بـWhatsApp وتختار طريقة التكامل المناسبة؟

كيفية ربط WhatsApp بالمتاجر والـCRM باستخدام Webhooks وHookURL في Whats360

Webhooks وHookURL في Whats360: كيف تربط WhatsApp بالمتجر والـCRM والأنظمة البرمجية؟

إذا كان لديك متجر إلكتروني أو نظام CRM أو ERP أو تطبيق SaaS أو نظام برمجي خاص، فغالبًا ستصل إلى مرحلة تحتاج فيها إلى جعل WhatsApp يتفاعل تلقائيًا مع ما يحدث داخل نظامك.

قد تريد مثلًا أن تصل رسالة WhatsApp إلى العميل فور إنشاء طلب جديد، أو أن تنتقل رسالة العميل من WhatsApp إلى CRM، أو أن يبدأ Workflow تلقائي بمجرد تسجيل Lead جديد، أو أن يتم إرسال إشعار عند تحديث حالة الطلب.

هنا تظهر أهمية Webhooks وHookURL في Whats360.

الفكرة الأساسية بسيطة: بدل أن يظل نظامك يسأل باستمرار إذا حدث شيء جديد، يمكن للحدث نفسه أن يبدأ الاتصال ويرسل البيانات إلى النظام المطلوب.

الفكرة في سطر واحد

Webhook يحول الحدث الذي يحدث داخل نظام إلى طلب HTTP يمكن استخدامه لتشغيل عملية أخرى، بينما يسمح HookURL بربط سيناريو استقبال محدد بجهاز WhatsApp معين.

لماذا تحتاج الأنظمة إلى Webhook؟

لنفترض أن لديك متجرًا إلكترونيًا وتريد معرفة متى تم إنشاء طلب جديد.

بدون Webhook يمكن أن يعتمد النظام على الاستعلام المتكرر:

هل يوجد طلب جديد؟
↓
لا
↓
انتظر
↓
هل يوجد طلب جديد؟
↓
لا
↓
انتظر

أما باستخدام Webhook، فيصبح التدفق مختلفًا:

تم إنشاء الطلب
↓
المتجر
↓
Webhook
↓
Whats360
↓
WhatsApp

وهذا هو جوهر Event-driven Architecture: وقوع الحدث هو الذي يبدأ العملية التالية.

لا يقتصر الأمر على الطلبات. يمكن أن يكون الحدث رسالة جديدة، تسجيل عميل، إنشاء Lead، تحديث فاتورة، تغيير حالة طلب، أو أي حدث آخر يدعمه النظام الذي يتم ربطه.

كيف يعمل Webhook في Whats360؟

يمكن أن يعمل الاتصال في اتجاهين رئيسيين.

الاتجاه الأول: Incoming Webhook

النظام الخارجي يرسل البيانات إلى Whats360، ثم تستخدم البيانات لتنفيذ عملية مرتبطة بـWhatsApp.

المتجر / CRM / التطبيق
↓
Incoming Webhook
↓
Whats360
↓
WhatsApp

الاتجاه الثاني: Outgoing Webhook

يحدث الحدث في WhatsApp أو داخل Whats360، ثم يتم إرسال البيانات إلى نظام خارجي.

WhatsApp
↓
Whats360
↓
Outgoing Webhook
↓
CRM / Server / Application

استخدام Webhook حسب نوع المستخدم

أهمية Webhook تختلف حسب طبيعة الشخص أو الشركة التي تستخدمه. المطور ينظر إليه كطبقة اتصال برمجية، بينما صاحب المتجر ينظر إليه كوسيلة لأتمتة الإشعارات، ومدير المبيعات ينظر إليه كحل لربط WhatsApp ببيانات العملاء.

استخدامه للمطور

المطور قد يحتاج إلى Webhook عندما يريد ربط WhatsApp بتطبيق أو نظام برمجي خاص.

مثلًا:

Application
↓
Order Created
↓
Webhook
↓
Whats360
↓
WhatsApp

يمكن أن يكون التطبيق نظام SaaS أو CRM أو ERP أو متجرًا مخصصًا أو نظام حجوزات أو أي تطبيق يحتوي على Events يمكن إرسالها عبر HTTP.

استخدامه لصاحب المتجر

صاحب المتجر غالبًا لا يحتاج إلى معرفة تفاصيل HTTP وJSON حتى يستفيد من Webhook. ما يهمه هو النتيجة.

مثلًا:

العميل يطلب المنتج
↓
المتجر ينشئ Order
↓
Webhook
↓
Whats360
↓
WhatsApp
↓
رسالة للعميل

بدل أن يقوم موظف بإرسال رسالة يدويًا بعد كل طلب، يصبح الحدث نفسه نقطة بداية للعملية.

استخدامه لمدير CRM والمبيعات

في الاتجاه المعاكس يمكن أن تبدأ العملية من WhatsApp:

العميل يرسل رسالة
↓
Whats360
↓
Outgoing Webhook
↓
CRM

وبذلك يستطيع النظام الخارجي استقبال الحدث والبيانات المرتبطة به واستخدامها داخل Workflow أو سجل العميل.

استخدامه مع ERP

يمكن أن يصبح WhatsApp جزءًا من دورة العمل داخل نظام ERP.

ERP
↓
Invoice / Order Event
↓
Webhook
↓
Whats360
↓
WhatsApp

وفي الاتجاه الآخر يمكن أن تنتقل أحداث WhatsApp إلى النظام الخارجي:

WhatsApp
↓
Whats360
↓
Webhook
↓
ERP

Incoming Webhook: عندما يبدأ الحدث من النظام الخارجي

Incoming Webhook يعني أن البيانات تأتي من نظام خارجي إلى Whats360.

يمكن أن يكون النظام الخارجي متجرًا أو CRM أو ERP أو تطبيقًا مخصصًا.

التدفق النموذجي يكون:

Shopify / WooCommerce / CRM / Application
↓
POST Request
↓
Whats360
↓
قراءة البيانات
↓
WhatsApp Message

يمكن أن يكون الحدث إنشاء طلب، تحديث طلب، تسجيل عميل، تسجيل عملية دفع، أو أي حدث آخر متاح في التكامل.

مثال على Incoming Webhook

لنفترض أن النظام الخارجي أرسل البيانات التالية:

{
  "phone": "+201234567890",
  "message": "Your order #1234 is confirmed!",
  "name": "Ahmed"
}

الفكرة هنا أن النظام الخارجي يرسل البيانات إلى Endpoint، ثم تتم معالجة البيانات داخل Whats360 وفق إعدادات التكامل.

قاعدة عملية مهمة

إذا كان الحدث يبدأ في المتجر أو CRM أو التطبيق الخارجي وتريد أن يصل إلى WhatsApp، ففكر في Incoming Webhook.

Outgoing Webhook: عندما يبدأ الحدث من WhatsApp

في Outgoing Webhook يحدث العكس.

يبدأ الحدث من WhatsApp أو من حدث داخل Whats360، ثم يتم إرسال البيانات إلى خادم أو نظام خارجي.

مثال:

العميل يرسل رسالة
↓
Whats360
↓
Outgoing Webhook
↓
CRM

وقد يكون السيناريو:

WhatsApp Event
↓
Whats360
↓
Server
↓
Database / CRM / Application

البيانات التي يمكن أن تظهر في Payload

يمكن أن تتضمن بيانات الـJSON حقولًا مثل:

  • phone: رقم الهاتف.
  • message: نص الرسالة.
  • sender_name: اسم المرسل.
  • instance_id: معرف الجهاز أو الرقم داخل المنصة.
  • message_id: معرف الرسالة.
  • chat_jid: معرف المحادثة.
  • timestamp: الوقت المرتبط بالحدث.
  • media_url: رابط الوسائط عندما تكون متاحة.

هذه البيانات تسمح للنظام الخارجي بفهم الحدث وتحديد العميل والمحادثة والرسالة والجهاز المرتبط بها حسب طبيعة الـPayload.

كيف تختار بين Incoming وOutgoing Webhook؟

اسأل سؤالًا واحدًا: أين حدث الحدث؟

الحدث الاتجاه النتيجة
طلب جديد في المتجر Incoming WhatsApp
رسالة جديدة في WhatsApp Outgoing CRM أو Server
Lead جديد في نظام خارجي Incoming WhatsApp
حدث داخل WhatsApp Outgoing نظام خارجي

ربط Shopify مع Whats360

من السيناريوهات الشائعة ربط متجر Shopify بـWhats360 حتى تتحول أحداث المتجر إلى عمليات تلقائية عبر WhatsApp.

Shopify
↓
Webhook
↓
Whats360
↓
WhatsApp
↓
العميل

الأحداث المحتملة في Shopify

من الـTopics المستخدمة في هذا السيناريو:

  • orders/create
  • orders/updated
  • orders/paid
  • customers/create

سيناريو الطلب الجديد

عندما ينشئ العميل طلبًا جديدًا، يمكن أن يكون التدفق:

Order Created
↓
Shopify Webhook
↓
Whats360
↓
بيانات العميل والطلب
↓
WhatsApp

وقد يحتوي Payload على بيانات مثل رقم الطلب وقيمته وبيانات العميل ورقم الهاتف وفق الـTopic والبيانات التي يرسلها Shopify.

إعداد Webhook في Shopify

يبدأ الإعداد من إنشاء Webhook استقبال في Whats360، ثم استخدام رابط الاستقبال داخل إعدادات Webhooks في Shopify.

يمكن تحديد الحدث المطلوب واستخدام JSON كصيغة للبيانات.

ومن الجوانب المهمة في التكامل استخدام Secret وآلية التحقق التي يوفرها Shopify، ومنها الهيدر:

X-Shopify-Hmac-SHA256

كما يجب التعامل مع Response بشكل صحيح؛ فبحسب سيناريو Shopify الوارد، عدم الحصول على 200 OK ضمن المدة المتوقعة قد يؤدي إلى إعادة المحاولة.

حوّل متجر Shopify إلى Workflow تلقائي

إذا كان هدفك ربط الطلبات والعملاء والأحداث داخل المتجر برسائل WhatsApp بدل المعالجة اليدوية، فابدأ بتحديد الحدث ثم اتجاه Webhook ثم البيانات التي تحتاجها الرسالة.

  • ربط أحداث الطلبات.
  • إرسال إشعارات WhatsApp.
  • بناء Workflows مرتبطة بالطلبات والعملاء.

استفسر عن ربط Shopify

ربط WooCommerce مع Whats360

يمكن تنفيذ الفكرة نفسها مع WooCommerce:

WooCommerce
↓
Webhook
↓
Whats360
↓
WhatsApp

الأحداث المحتملة

  • Order Created.
  • Order Updated.
  • Customer Created.
  • Product Updated.

يمكن استخدام بيانات مثل رقم الطلب وحالته وقيمة الطلب وبيانات العميل في بناء السيناريو المناسب.

سيناريو تحديث الطلب

Order Updated
↓
WooCommerce Webhook
↓
Whats360
↓
إشعار WhatsApp

وهذا يسمح بأن يكون تحديث حالة الطلب نقطة بداية لعملية تواصل جديدة مع العميل وفق Workflow المتاح.

فحص Webhook عند حدوث مشكلة

إذا لم يعمل Webhook في WooCommerce، لا تبدأ بتغيير كل الإعدادات دفعة واحدة.

ابدأ من سجلات WooCommerce، وراجع:

  • هل Webhook نشط؟
  • هل Delivery URL صحيح؟
  • هل وصلت البيانات؟
  • هل يوجد Response ناجح؟
  • هل توجد أخطاء في Logs؟

ومن المهم الانتباه إلى أن Webhook قد يتم تعطيله بعد تكرار فشل التسليم وفق سلوك WooCommerce، ولذلك يجب أن تكون الاستجابة من Endpoint صحيحة ومتوقعة.

استخدام n8n مع Whats360

أحيانًا لا يكون المطلوب مجرد نقل Event من نظام إلى آخر. قد تريد تنفيذ عدة عمليات متتالية.

هنا يمكن استخدام n8n كطبقة Workflow:

WhatsApp
↓
Whats360
↓
n8n Webhook Trigger
↓
Google Sheets
↓
Gmail
↓
Database

الفرق الأساسي أن Webhook ينقل الحدث، بينما n8n يمكن أن ينفذ سلسلة من الإجراءات بناءً على الحدث.

حفظ رسائل WhatsApp في Google Sheets

رسالة WhatsApp
↓
Whats360
↓
Webhook
↓
n8n
↓
Google Sheets

يمكن أن يكون هذا مفيدًا في سيناريوهات تتطلب تسجيل البيانات أو تمريرها إلى Workflow آخر.

إرسال تنبيه بالبريد

WhatsApp Event
↓
Whats360
↓
n8n
↓
Gmail
↓
تنبيه

ويمكن توسيع Workflow ليشمل أكثر من خدمة حسب الهدف.

متى يصبح n8n مناسبًا؟

عندما تقول: “لدي Event واحد، لكن بعده أحتاج إلى تنفيذ عدة عمليات”. أما إذا كان المطلوب منطقًا برمجيًا متخصصًا داخل تطبيقك، فقد تحتاج إلى Custom Integration.

التكاملات والقوالب الجاهزة

ليس كل Integration يحتاج إلى برمجة من الصفر.

ضمن السيناريوهات المذكورة يمكن التعامل مع منصات وخدمات مثل:

  • Salla.
  • Zid.
  • YouCan.
  • EasyOrders.
  • Meta Lead Ads.
  • Google Sheets وGoogle Forms.
  • Odoo ERP.
  • Make.
  • Zapier.
  • Zoho CRM.
  • HubSpot.
  • Media & Files Forwarder.

الفكرة في كل هذه الحالات واحدة: تحديد مصدر الحدث، ثم تحديد الإجراء المطلوب بعد وصوله إلى Whats360.

سيناريو Salla وZid

طلب متجر
↓
Webhook
↓
Whats360
↓
رسالة WhatsApp

وهذا النوع من التكامل مناسب للمتاجر التي تريد تحويل أحداث الطلبات إلى تواصل تلقائي.

سيناريو YouCan وEasyOrders

COD Order
↓
Webhook
↓
Whats360
↓
WhatsApp

يمكن أن تكون الرسالة جزءًا من عملية تأكيد أو متابعة وفق السيناريو الذي يتم تصميمه.

Meta Lead Ads

يمكن تحويل تسجيل Lead إلى بداية عملية تواصل:

Lead
↓
Webhook
↓
Whats360
↓
WhatsApp
↓
فريق المبيعات

وهذا يربط مرحلة الحصول على العميل المحتمل بمرحلة المتابعة بدل ترك البيانات منفصلة عن قناة التواصل.

Google Sheets وGoogle Forms

يمكن استخدام البيانات القادمة من النماذج أو الجداول كنقطة بداية لعمليات آلية، بحسب طريقة الربط المستخدمة.

Odoo ERP

Odoo
↓
Lead / Ticket / Invoice / Order
↓
Webhook
↓
Whats360
↓
WhatsApp

كما يمكن تصميم الاتجاه العكسي:

WhatsApp
↓
Whats360
↓
Outgoing Webhook
↓
Odoo

ما هو HookURL في Whats360؟

HookURL هو رابط استقبال متخصص يمكن ربطه بجهاز أو رقم WhatsApp محدد.

يمكن تصور استخدامه بهذا الشكل:

External System
↓
POST
↓
HookURL
↓
WhatsApp Device
↓
العميل

وهنا تختلف الفكرة عن Webhook العام من ناحية الاستخدام؛ لأن HookURL يرتبط بجهاز WhatsApp محدد وفق إعدادات المنصة.

لماذا يمكن أن يكون ذلك مهمًا؟

لنفترض أن لديك عدة أرقام WhatsApp:

  • رقم للمبيعات.
  • رقم للدعم.
  • رقم لفرع معين.
  • رقم للمتجر.

قد تحتاج إلى توجيه سيناريو محدد إلى جهاز محدد:

Shopify Orders
↓
HookURL
↓
رقم المبيعات

وفي سيناريو آخر:

Support Alerts
↓
HookURL
↓
رقم الدعم

إعداد HookURL

عند إعداد HookURL توجد مجموعة من العناصر المهمة.

تحديد الجهاز

تحدد جهاز WhatsApp الذي سيستخدم الرابط.

تسمية الرابط

يمكن اختيار اسم واضح مثل:

Shopify Orders

أو:

Salla Alerts

التسمية الواضحة تصبح أكثر أهمية عندما يكون لديك عدد كبير من Integrations.

X-Hook-Secret

يمكن استخدام Secret إضافي مع HookURL من خلال Header باسم:

X-Hook-Secret

وفق إعداد الرابط، يمكن أن تكون قيمة Secret مطلوبة للتحقق من الطلبات الواردة.

إدارة HookURL

يمكن التعامل مع الرابط من حيث:

  • التفعيل.
  • الإيقاف.
  • الحذف.
  • متابعة عدد الطلبات.
  • معرفة حالة الرابط.

هل تحتاج إلى ربط رقم WhatsApp محدد بنظامك؟

إذا كان لديك أكثر من جهاز أو رقم، يمكن أن يكون اختيار نقطة الاستقبال المناسبة جزءًا أساسيًا من تصميم التكامل، خصوصًا عندما تختلف وظيفة كل رقم داخل الشركة.

  • تحديد الجهاز المستهدف.
  • تنظيم روابط التكامل.
  • إدارة Secret عند الحاجة.

استفسر عن HookURL

Custom Webhook: عندما تحتاج إلى تكامل مخصص

القوالب الجاهزة مناسبة عندما يكون النظام والسيناريو معروفين ومدعومين.

لكن ماذا يحدث عندما يكون لديك نظام خاص؟

هنا يأتي دور Custom Webhook.

Custom SaaS
↓
Order Created
↓
Custom Webhook
↓
Whats360
↓
WhatsApp

بدل محاولة جعل النظام الخاص بك يتصرف مثل Shopify أو WooCommerce، يمكنك تصميم Payload يناسب منطق النظام نفسه.

Endpoint الخاص بـCustom Webhook

وفق البنية الواردة في الموضوع، يمكن أن يكون Endpoint:

POST /api/instances/{id}/webhooks/{webhook_id}/incoming

مع:

Content-Type: application/json

ومثال للـBody:

{
  "phone": "+201234567890",
  "message": "Your order #1234 is confirmed!",
  "name": "Ahmed"
}

ثم يكون هناك Response يوضح نجاح استقبال الطلب، وفق الاستجابة التي يدعمها التكامل.

سيناريوهات التكامل المخصص

نظام حجوزات

Booking Created
↓
Webhook
↓
Whats360
↓
WhatsApp Confirmation

تطبيق SaaS

User Action
↓
Event
↓
Webhook
↓
WhatsApp Notification

CRM مخصص

Lead Created
↓
Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: ربط إنشاء العميل المحتمل بعملية تواصل تلقائية عبر WhatsApp.

ERP مخصص

Invoice Created
↓
Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: إرسال إشعار مرتبط بإنشاء الفاتورة أو الحدث داخل نظام الـERP.

نظام دعم

New Ticket
↓
Webhook
↓
Whats360
↓
WhatsApp Notification

الاستخدام: ربط إنشاء تذكرة دعم جديدة بإشعار عبر WhatsApp.

كل هذه السيناريوهات تعتمد على نفس الفكرة المعمارية:

Event → Webhook → Whats360 → WhatsApp

أمان Webhooks وHookURL

أي تكامل جاد يجب أن يضع الأمان في التصميم منذ البداية، وليس بعد الانتهاء من الربط.

HTTPS

استخدم اتصالًا آمنًا عند التعامل مع Endpoint الذي يستقبل البيانات.

Bearer Token

يمكن أن يستخدم التكامل Authorization Header مثل:

Authorization: Bearer <Token>

بحيث يستطيع السيرفر التحقق من هوية الطرف الذي يرسل الطلب.

HMAC

في بعض التكاملات يمكن استخدام Secret للتحقق من التوقيع والتأكد من أن البيانات جاءت من المصدر المتوقع.

X-Hook-Secret

في HookURL يمكن استخدام:

X-Hook-Secret

كطبقة تحقق إضافية عندما يكون Secret مفعلًا.

تنبيه أمني

لا تتعامل مع رابط Webhook أو HookURL باعتباره مجرد رابط عادي. فهو نقطة استقبال بيانات، ولذلك يجب التفكير في HTTPS والتوثيق وSecrets والتحقق من البيانات قبل الاعتماد عليه في بيئة تشغيل حقيقية.

لماذا HTTP 200 مهم في Webhook؟

Webhook ليس مجرد إرسال بيانات في اتجاه واحد.

الطرف الذي يرسل الطلب يحتاج في كثير من السيناريوهات إلى معرفة هل تم استقبال الطلب بنجاح أم لا.

لذلك يصبح Response جزءًا من تصميم التكامل:

POST Request
↓
Authentication
↓
Validation
↓
Payload Processing
↓
200 OK

إذا لم يتم التعامل مع Response بالطريقة المتوقعة، فقد يتم اعتبار التسليم غير ناجح أو تحدث إعادة محاولة، وفق سلوك النظام المرسل.

كيف تشخص مشكلة Webhook؟

عندما لا يعمل التكامل، لا تقم بتغيير كل الإعدادات في الوقت نفسه.

ابدأ من نقطة الفشل:

هل وصل الطلب؟
↓
لا → افحص URL / Endpoint
↓
نعم
↓
هل Authentication صحيح؟
↓
لا → افحص Token / Secret
↓
نعم
↓
هل Payload صحيح؟
↓
لا → افحص JSON / Mapping
↓
نعم
↓
هل تمت المعالجة؟
↓
افحص Response / Logs

فحص Endpoint

تأكد من أن الرابط المستخدم هو الرابط الصحيح وأن النظام يرسل الطلب إلى المكان المقصود.

فحص Authentication

راجع Token أو Secret أو أي وسيلة تحقق مستخدمة في التكامل.

فحص Payload

قد يصل الطلب بالفعل، لكن تكون البيانات غير مناسبة للمعالجة بسبب اختلاف اسم الحقل أو غياب قيمة مطلوبة.

فحص Logs

السجلات مهمة لمعرفة هل المشكلة في الإرسال أم الاستقبال أم معالجة البيانات.

Webhooks وIdempotency وتكرار الأحداث

في الأنظمة التي تعتمد على Webhooks، يجب أن يفكر المطور أيضًا في احتمال وصول الحدث أكثر من مرة، خصوصًا عندما تكون هناك إعادة محاولة بعد فشل التسليم أو عدم الحصول على الاستجابة المتوقعة.

لهذا السبب من المفيد عند تصميم النظام استخدام معرف فريد للحدث أو الرسالة عندما يكون ذلك متاحًا.

مثل:

message_id
order_id
event_id

ثم يستطيع النظام تحديد ما إذا كان قد عالج الحدث بالفعل.

هذه الفكرة تعرف باسم Idempotency، وهي مهمة خصوصًا في الأنظمة التي لا تريد تنفيذ العملية نفسها مرتين.

Webhook أم HookURL أم API أم n8n؟

الحل وظيفته الأساسية متى تستخدمه؟
Webhook نقل الأحداث عندما تريد إرسال Event عند وقوعه
HookURL استقبال مرتبط بجهاز محدد عندما يكون الجهاز المستهدف مهمًا
API تنفيذ عمليات برمجية عندما يحتاج التطبيق إلى تنفيذ Request محدد
n8n بناء Workflows عندما تحتاج إلى عدة عمليات متتابعة
Integration جاهز تنفيذ سيناريو معروف عندما يكون النظام مدعومًا
Custom Integration منطق خاص عندما لا يكفي التكامل الجاهز

والأهم أن هذه الخيارات ليست بالضرورة بدائل متنافسة. يمكن أن تعمل معًا في Architecture واحدة.

Shopify
↓
Webhook
↓
n8n
↓
CRM
↓
Whats360
↓
WhatsApp

أو:

Application
↓
API
↓
Custom Logic
↓
Whats360

لا تبدأ البرمجة قبل تحديد المعمارية

أحيانًا يكون الحل الجاهز كافيًا، وأحيانًا تحتاج إلى n8n، وأحيانًا يكون المطلوب API أو Custom Integration. تحديد مصدر الحدث والنتيجة المطلوبة يوفر عليك بناء طبقة برمجية غير ضرورية.

استشر في طريقة الربط المناسبة

تصميم Integration قابل للتوسع

عندما يكبر النظام، من الأفضل ألا يصبح كل نظام متصلًا بالأنظمة الأخرى بشكل عشوائي.

يمكن التفكير في طبقات واضحة:

External Systems
↓
Webhook Layer
↓
Validation / Security
↓
Business Logic
↓
Whats360
↓
WhatsApp

وفي الاتجاه العكسي:

WhatsApp
↓
Whats360
↓
Outgoing Webhook
↓
Integration Layer
↓
CRM / ERP / Database

الفصل بين الطبقات يجعل النظام أسهل في الفهم والصيانة والتوسع.

سيناريوهات عملية حسب النشاط

متجر إلكتروني

Order Created
↓
Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: تحويل حدث الطلب إلى رسالة أو Workflow مناسب للعميل.

متجر يريد متابعة الطلب

Order Updated
↓
Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: ربط تغير حالة الطلب بعملية تواصل.

شركة تعتمد على CRM

New Customer Event
↓
Webhook
↓
CRM / Whats360
↓
Workflow

الاستخدام: جعل بيانات العميل جزءًا من عملية المتابعة.

شركة تعتمد على Leads

Lead
↓
Webhook
↓
Whats360
↓
WhatsApp
↓
Sales Team

الاستخدام: الانتقال من تسجيل العميل المحتمل إلى المتابعة عبر WhatsApp.

شركة تعتمد على ERP

ERP Event
↓
Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: ربط العمليات الداخلية بقناة التواصل.

تطبيق SaaS

Application Event
↓
Custom Webhook
↓
Whats360
↓
WhatsApp

الاستخدام: إرسال إشعارات أو رسائل مرتبطة بالأحداث داخل التطبيق.

فريق يستخدم n8n

WhatsApp Event
↓
Whats360
↓
n8n
├── Google Sheets
├── Gmail
└── Database

الاستخدام: بناء Workflow متعدد الخطوات بدل تنفيذ عملية واحدة فقط.

متى يكفي Integration جاهز؟

إذا كان النظام الذي تستخدمه موجودًا ضمن القوالب المتاحة، وكان السيناريو المطلوب يطابق الوظيفة التي يغطيها التكامل، فمن المنطقي البدء بالحل الجاهز.

مثلًا:

Shopify
↓
قالب Shopify
↓
Whats360

لا توجد فائدة من بناء نظام مخصص كامل إذا كان المطلوب موجودًا بالفعل بطريقة مناسبة.

متى تحتاج إلى Custom Integration؟

يصبح التكامل المخصص أكثر منطقية عندما يكون لديك نظام خاص أو Workflow غير موجود ضمن القوالب الجاهزة.

ومن أمثلة ذلك:

  • نظام برمجي خاص بالشركة.
  • Business Logic مخصص.
  • أكثر من نظام يجب تنسيقها معًا.
  • Payload خاص.
  • معالجة بيانات قبل إرسالها.
  • منطق مختلف حسب نوع الحدث.
  • Integration بين أنظمة لا يوجد بينها ربط جاهز.

مثلًا:

Custom ERP
↓
Order
↓
Business Rules
↓
Customer Classification
↓
Webhook
↓
Whats360
↓
WhatsApp

هنا لم يعد المطلوب مجرد إرسال رسالة، وإنما بناء منطق تكامل كامل.

إذا كان هذا هو السيناريو المطلوب، فقد تحتاج إلى تطوير برمجي مخصص، ويمكن التعامل مع هذا النوع من الأعمال عبر Beincode عندما تكون الحاجة تتجاوز الإعدادات والتكاملات الجاهزة إلى بناء Integration خاص.

Checklist قبل تشغيل Webhook

قبل تشغيل أي Webhook في بيئة فعلية، راجع العناصر التالية:

  • ما الحدث الذي سيبدأ العملية؟
  • أين يحدث الحدث؟
  • هل تحتاج Incoming أم Outgoing؟
  • ما هو Endpoint؟
  • ما شكل JSON Payload؟
  • ما الحقول المطلوبة؟
  • هل يوجد Authentication؟
  • هل يوجد Secret؟
  • هل يستخدم التكامل HMAC؟
  • هل يستخدم X-Hook-Secret؟
  • هل يتم التعامل مع HTTP 200؟
  • هل تم اختبار Payload؟
  • هل تم اختبار Mapping؟
  • هل تم اختبار الرسالة النهائية؟
  • هل توجد Logs؟
  • هل تم تحديد الجهاز الصحيح عند استخدام HookURL؟
  • هل يمكن للنظام التعامل مع تكرار الحدث عند الحاجة؟

اختبار التكامل قبل الاعتماد عليه

لا تختبر فقط وصول الـRequest. اختبر السلسلة كاملة من الحدث الأول حتى النتيجة النهائية: Event → Payload → Authentication → Processing → Response → WhatsApp.

كيف تبدأ أول Integration مع Whats360؟

يمكن تبسيط القرار في مجموعة من الأسئلة العملية.

أين يحدث الحدث؟

إذا حدث في المتجر أو CRM أو التطبيق الخارجي، فكر في Incoming. وإذا حدث في WhatsApp وتريد إرساله إلى نظام خارجي، فكر في Outgoing.

ما المطلوب بعد الحدث؟

حدد هل تريد إرسال رسالة، حفظ بيانات، تحديث CRM، تشغيل Workflow أو تنفيذ عملية برمجية.

هل يوجد Integration جاهز؟

إذا كان موجودًا ويغطي السيناريو المطلوب، ابدأ به قبل التفكير في التطوير المخصص.

هل تحتاج إلى جهاز WhatsApp محدد؟

إذا كان السيناريو مرتبطًا برقم أو جهاز معين، فادرس استخدام HookURL وفق طبيعة التكامل.

هل تحتاج إلى عدة عمليات متتابعة؟

إذا كانت العملية تتضمن خدمات متعددة، فقد يكون n8n أو منصة Automation مناسبة.

هل لديك منطق برمجي خاص؟

إذا كان السيناريو يتجاوز القوالب الجاهزة ويحتاج إلى Business Logic مخصص، فانتقل إلى Custom Integration.

أسئلة شائعة حول Webhooks وHookURL في Whats360

ما هو Webhook في Whats360؟
هو آلية لنقل الأحداث والبيانات عبر HTTP Requests عند وقوع الحدث، ويمكن أن ينقل البيانات من نظام خارجي إلى Whats360 أو من Whats360 إلى نظام خارجي.
ما الفرق بين Incoming وOutgoing Webhook؟
Incoming ينقل البيانات إلى Whats360، بينما Outgoing ينقل الأحداث والبيانات من Whats360 إلى نظام خارجي.
ما هو HookURL؟
هو رابط استقبال متخصص يمكن ربطه بجهاز أو رقم WhatsApp محدد، بحيث يمكن استخدامه في سيناريوهات استقبال الطلبات من أنظمة خارجية.
هل HookURL هو نفسه Webhook؟
ليس بالضرورة. Webhook هو آلية اتصال تعتمد على الأحداث وHTTP، بينما HookURL في هذا السياق هو رابط استقبال متخصص مرتبط بجهاز WhatsApp محدد.
كيف أربط Shopify بـWhats360؟
تنشئ Webhook استقبال في Whats360، ثم تستخدم رابط الاستقبال داخل إعدادات Webhooks في Shopify وتحدد الـTopic المطلوب وصيغة البيانات المناسبة.
كيف أربط WooCommerce بـWhats360؟
تنشئ Webhook في Whats360، ثم تضيف Webhook في WooCommerce وتحدد الحدث وDelivery URL وإعدادات Secret وفق التكامل.
هل يمكن استخدام n8n مع Whats360؟
نعم، يمكن استقبال Webhook في n8n ثم استخدام الحدث داخل Workflow يربط Whats360 بخدمات أخرى مثل Google Sheets أو Gmail أو قواعد البيانات.
ما الفرق بين Webhook وAPI؟
Webhook مناسب عندما يكون التركيز على إرسال حدث عند وقوعه، بينما API يكون مناسبًا عندما يحتاج التطبيق إلى تنفيذ Request برمجي للحصول على عملية أو وظيفة محددة.
متى أحتاج إلى Custom Webhook؟
عندما يكون لديك نظام أو Workflow لا تغطيه القوالب الجاهزة وتحتاج إلى تحديد Endpoint وPayload ومنطق التكامل بنفسك.
ماذا أفعل إذا لم يصل Webhook؟
ابدأ بفحص Endpoint، ثم Authentication وSecret، ثم Payload وMapping، وبعد ذلك Response وLogs لتحديد نقطة الفشل.
لماذا HTTP 200 مهم؟
لأنه يمثل استجابة تؤكد نجاح استقبال الطلب في السيناريوهات التي تعتمد على هذا السلوك، وقد يؤدي غياب الاستجابة المتوقعة إلى إعادة المحاولة أو اعتبار التسليم غير ناجح وفق النظام المرسل.

الخلاصة

Webhooks في Whats360 ليست مجرد خاصية لإرسال رابط إلى نظام آخر، وإنما يمكن النظر إليها كطبقة اتصال تربط الأحداث بالعمليات.

عندما ينشئ العميل طلبًا:

Order
↓
Webhook
↓
Whats360
↓
WhatsApp

وعندما يرسل العميل رسالة:

WhatsApp
↓
Whats360
↓
Outgoing Webhook
↓
CRM / Application

وعندما تحتاج إلى رقم WhatsApp محدد:

External System
↓
HookURL
↓
Specific WhatsApp Device

وعندما تحتاج إلى Workflow متعدد الخطوات:

Webhook
↓
n8n
↓
Multiple Actions

وعندما يكون النظام خاصًا أو المنطق أكثر تعقيدًا:

Custom Application
↓
Custom Integration
↓
Whats360
↓
WhatsApp

لذلك لا تبدأ بسؤال: أي Webhook أستخدم؟

ابدأ بالسؤال الأهم:

أين يحدث الحدث، وما الذي يجب أن يحدث بعده؟

بمجرد تحديد ذلك، يصبح اختيار Incoming Webhook أو Outgoing Webhook أو HookURL أو API أو n8n أو Custom Integration قرارًا معماريًا واضحًا بدل تجربة عشوائية للروابط والإعدادات.

هل لديك نظام تريد ربطه بـWhatsApp؟

إذا كان لديك متجر أو CRM أو ERP أو تطبيق SaaS وتريد معرفة أفضل طريقة لربطه بـWhatsApp، يمكنك توضيح اسم النظام والحدث الذي تريد تشغيله، ثم تحديد نوع التكامل المناسب.

أرسل تفاصيل النظام للتكامل

مقالات ذات صلة

ابدأ من الحدث وليس من الأداة

حدد مصدر الحدث، والبيانات المطلوبة، والنتيجة التي تريد الوصول إليها، ثم اختر Webhook أو HookURL أو API أو n8n أو Custom Integration بناءً على احتياجك الفعلي.

ابدأ طلب التكامل

الكلمات المفتاحية

Whats360 Webhooks، Whats360 HookURL، WhatsApp Webhook، WhatsApp API، WhatsApp CRM، WhatsApp Automation، ربط WhatsApp بالمتاجر، ربط WhatsApp بالـCRM، Shopify WhatsApp، WooCommerce WhatsApp، n8n WhatsApp، Webhook API، HookURL، Incoming Webhook، Outgoing Webhook، Custom Integration، Event-driven Architecture، Idempotency، Webhook Security، API Integration، WhatsApp Integration، CRM Integration، ERP WhatsApp، WhatsApp Automation للمتاجر، ربط Shopify بـWhatsApp، ربط WooCommerce بـWhatsApp، WhatsApp API Integration، Webhook Integration، WhatsApp Workflow، WhatsApp CRM Integration.

الأسئلة الشائعة التي يجيب عنها المقال

  • ما هو Webhook في Whats360؟
  • ما الفرق بين Incoming Webhook وOutgoing Webhook؟
  • ما هو HookURL في Whats360؟
  • ما الفرق بين HookURL وWebhook؟
  • كيف أربط WhatsApp بالمتجر الإلكتروني؟
  • كيف أربط Shopify بـWhats360؟
  • كيف أربط WooCommerce بـWhats360؟
  • كيف يمكن استخدام Webhook مع CRM؟
  • كيف يمكن ربط WhatsApp مع ERP؟
  • هل يمكن استخدام n8n مع Whats360؟
  • ما الفرق بين Webhook وAPI؟
  • متى أستخدم HookURL بدل Webhook؟
  • متى أحتاج إلى Custom Integration؟
  • كيف أرسل بيانات JSON إلى Whats360؟
  • ما أهمية HTTP 200 في Webhooks؟
  • كيف أحمي Webhook باستخدام Token أو Secret؟
  • ما هو X-Hook-Secret؟
  • ما هو HMAC في Webhook Security؟
  • كيف أتعامل مع تكرار Webhook Events؟
  • ما هو Idempotency في Webhook Integration؟
  • ماذا أفعل إذا لم يصل Webhook؟
  • كيف أختبر Payload الخاص بالـWebhook؟
  • كيف أربط Lead جديد برسالة WhatsApp تلقائية؟
  • كيف أربط طلبات المتجر برسائل WhatsApp؟
  • كيف أختار بين Integration جاهز وCustom Integration؟
  • كيف أربط أكثر من نظام مع WhatsApp؟
  • كيف أستخدم HookURL مع أكثر من جهاز WhatsApp؟
  • ما أفضل طريقة لتصميم WhatsApp Integration قابل للتوسع؟

اترك تعليقاً

زر الذهاب إلى الأعلى