التسويق بالبريد الالكتروني

Whats360 API وWebhooks: كيف تربط WhatsApp والأنظمة الخارجية وتبني تكاملًا برمجيًا متكاملًا؟

كيفية استخدام Whats360 API وWebhooks لربط WhatsApp بالأنظمة الخارجية

Whats360 API وWebhooks: الدليل العملي لربط WhatsApp والبريد والأنظمة الخارجية بالمطورين

إذا كنت تريد أن تجعل WhatsApp جزءًا من نظامك بدلًا من أن يكون مجرد أداة لإرسال واستقبال الرسائل، فأنت تحتاج إلى أكثر من لوحة تحكم.

أنت تحتاج إلى API يستطيع نظامك استدعاءه عند الحاجة، وWebhooks تستطيع من خلالها استقبال الأحداث والبيانات تلقائيًا، بحيث يصبح WhatsApp والبريد الإلكتروني والمحافظ الإلكترونية جزءًا من Workflow متكامل داخل نظامك.

وهنا تظهر أهمية واجهات Whats360 للمطورين، حيث يمكن استخدامها لربط WhatsApp والبريد الإلكتروني وخدمات VCash والأنظمة الخارجية مثل CRM والمتاجر وقواعد البيانات وأدوات الأتمتة.

هذا الدليل يشرح الفكرة من منظور عملي يبدأ من المصادقة ويمر عبر Endpoints وطلبات API والاستجابات وأكواد الأخطاء، ثم ينتقل إلى إدارة أجهزة WhatsApp والحملات وWebhooks والتكامل مع Shopify وWooCommerce وn8n، وصولًا إلى تصميم Architecture أكثر تنظيمًا وأمانًا.

الخلاصة السريعة

API تستخدم عندما تريد من النظام تنفيذ عملية، بينما Webhook تستخدم عندما تريد أن يعرف نظامك أن حدثًا وقع. وفي التكاملات المتقدمة غالبًا ما تحتاج إلى الاثنين معًا: Webhook لاستقبال الحدث وAPI لتنفيذ الإجراء.

ما الذي يمكنك بناؤه باستخدام Whats360 API وWebhooks؟

يمكن تقسيم التكامل البرمجي إلى عدة طبقات، وكل طبقة تؤدي وظيفة مختلفة داخل النظام.

الواجهة الاستخدام الأساسي أمثلة على الاستخدام
Email Send API إرسال البريد الإلكتروني برمجيًا إشعارات العملاء ورسائل الأنظمة
WhatsApp Developer API التعامل مع WhatsApp من خلال الكود رسائل، وسائط، أجهزة وحملات
VCash API التعامل برمجيًا مع أجهزة وخدمات المحافظ الإلكترونية SMS وUSSD والرصيد والمعاملات
Webhooks استقبال وإرسال الأحداث بين الأنظمة CRM والمتاجر وقواعد البيانات والأتمتة

الفكرة الأساسية بسيطة:

API = اطلب من النظام أن يفعل شيئًا.

Webhook = أخبر نظامك أن شيئًا حدث.

ومن هنا يمكن بناء دورة متكاملة مثل إنشاء طلب في متجر إلكتروني، ثم إرسال Webhook إلى النظام، ثم تحليل البيانات، ثم استدعاء WhatsApp API لإرسال رسالة للعميل.

API أم Webhook؟ وما الفرق بينهما؟

من أكثر النقاط التي تسبب ارتباكًا عند بداية أي مشروع تكامل هي الخلط بين API وWebhook.

كيف تعمل API؟

في نموذج API يكون نظامك هو الذي يبدأ الاتصال ويطلب تنفيذ عملية معينة.

نظامك
   ↓
API Request
   ↓
Whats360
   ↓
تنفيذ العملية
   ↓
API Response

يمكن استخدام هذا النموذج لإرسال رسالة WhatsApp، أو إنشاء Instance، أو تشغيل حملة، أو إرسال بريد إلكتروني، أو الاستعلام عن رصيد أو تنفيذ عملية أخرى تدعمها الواجهة.

كيف يعمل Webhook؟

في Webhook يحدث الأمر من الاتجاه المقابل. يقع حدث معين، ثم يقوم النظام بإرسال البيانات إلى عنوان URL محدد مسبقًا.

حدث
 ↓
Webhook
 ↓
نظامك
 ↓
CRM / Database / Automation

مثلًا، عند وصول رسالة جديدة إلى WhatsApp، يمكن إرسال بيانات الحدث إلى CRM حتى يتم تحديث سجل العميل تلقائيًا.

ولهذا فإن Webhooks مناسبة جدًا للأنظمة التي تعتمد على الأحداث، بينما API مناسبة عندما يكون نظامك هو الطرف الذي يريد بدء العملية.

المصادقة Authentication في التكاملات

قبل تنفيذ معظم العمليات البرمجية تحتاج إلى بيانات المصادقة المناسبة. وتختلف طريقة المصادقة بحسب الواجهة التي تتعامل معها.

في Email API وVCash API تستخدم المصادقة عبر Bearer Token:

Authorization: Bearer [TOKEN_ID]

أما WhatsApp Developer API فتستخدم token ضمن طلبات الواجهة وفق صيغة الـAPI الخاصة بها.

الحصول على Token

يمكن تسجيل الدخول عبر:

POST https://whats360.live/api/auth/login

ثم استخدام الـToken الناتج في الطلبات التي تتطلب المصادقة.

تنبيه أمني

لا تضع الـToken داخل JavaScript يعمل في متصفح العميل أو داخل Frontend يمكن لأي شخص فحصه. الأفضل أن يتم التعامل مع مفاتيح المصادقة من خلال Backend أو Environment Variables، مع تجنب تسجيلها داخل ملفات Logs.

Email Send API

إذا كان النظام يحتاج إلى إرسال البريد الإلكتروني بشكل برمجي، توفر Whats360 نقطة النهاية:

POST /api/v1/email/send

وتستخدم المصادقة:

Authorization: Bearer [TOKEN_ID]

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

يحتوي الطلب على مجموعة من الحقول الأساسية:

{
  "from": "sender@yourdomain.com",
  "to": "customer@example.com",
  "subject": "Your order",
  "body": "Your order has been confirmed."
}
  • from: عنوان البريد المرسل والمسجل ضمن حسابات الإرسال.
  • to: عنوان البريد الإلكتروني للمستلم.
  • subject: عنوان الرسالة.
  • body: محتوى الرسالة النصية.

مثال cURL

curl -X POST "https://whats360.live/api/v1/email/send" \
  -H "Authorization: Bearer [TOKEN_ID]" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "sender@yourdomain.com",
    "to": "customer@example.com",
    "subject": "Order confirmation",
    "body": "Your order has been confirmed."
  }'

مثال JavaScript

fetch("https://whats360.live/api/v1/email/send", {
  method: "POST",
  headers: {
    "Authorization": "Bearer [TOKEN_ID]",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    from: "sender@yourdomain.com",
    to: "customer@example.com",
    subject: "Order confirmation",
    body: "Your order has been confirmed."
  })
});

الاستجابة الناجحة

{
  "ok": true,
  "data": {
    "message": "Email sent successfully"
  }
}

أما في حالة الخطأ فقد تأتي الاستجابة مثل:

{
  "ok": false,
  "error": "Error description"
}

إعداد الدومين والبريد قبل الاعتماد على Email API

نجاح طلب API لا يعني بالضرورة أن الرسالة ستصل إلى صندوق Inbox. جودة الإرسال تعتمد أيضًا على إعدادات الدومين وDNS وسمعة الإرسال.

من الإعدادات المستخدمة لدعم تسليم البريد:

MX Record

@ → mail.yourdomain.com
Priority: 10

A Record

mail → SERVER_IP

SPF

v=spf1 ip4:SERVER_IP ~all

DMARC

v=DMARC1; p=none

DKIM

يتم استخدام سجل DKIM الذي توفره إعدادات الدومين، مثل:

default._domainkey

مع قيمة المفتاح التي يوفرها النظام.

حوّل WhatsApp والبريد إلى جزء من نظامك

إذا كان مشروعك يحتاج إلى API وWebhooks لربط WhatsApp أو البريد الإلكتروني مع CRM أو متجر أو نظام مخصص، يمكنك البدء من Whats360 ودراسة الواجهات المناسبة لسيناريو التكامل لديك.

  • WhatsApp Developer API
  • Email Send API
  • Webhooks

اسأل عن تكامل API المناسب لمشروعك

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

WhatsApp Developer API

تتيح واجهة المطورين التعامل برمجيًا مع WhatsApp، وإرسال أنواع مختلفة من الرسائل، بالإضافة إلى إدارة Instances والحملات.

تعتمد المصادقة على:

token

مع:

instance_id

لتحديد الـInstance أو الجهاز الذي سيتم استخدامه في العملية.

إرسال الرسائل النصية عبر WhatsApp API

نقطة النهاية الخاصة بإرسال الرسالة النصية هي:

GET /api/v1/send-text

ومن أهم المعاملات:

token
instance_id
jid
msg

ويكون الطلب مثل:

/api/v1/send-text?token=[TOKEN_ID]&instance_id=[IDENTIFIER_ID]&jid=[JID]&msg=Hello
  • token: مفتاح المصادقة.
  • instance_id: معرف الـInstance.
  • jid: معرف جهة الاتصال.
  • msg: محتوى الرسالة.

بهذا الشكل يمكن للنظام الداخلي إرسال رسالة WhatsApp نتيجة حدث وقع داخل CRM أو المتجر أو أي نظام آخر.

إرسال الصور والفيديو والصوت والمستندات

لا يقتصر WhatsApp Developer API على النصوص، بل يمكن التعامل مع أنواع متعددة من المحتوى.

إرسال صورة

GET /api/v1/send-image

المعاملات:

token
instance_id
jid
imageurl
caption

إرسال فيديو

GET /api/v1/send-video

المعاملات:

token
instance_id
jid
videourl
caption

إرسال صوت

GET /api/v1/send-audio

المعاملات:

token
instance_id
jid
audiourl

إرسال مستند

GET /api/v1/send-doc

المعاملات:

token
instance_id
jid
docurl
caption

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

إدارة WhatsApp Instances

عند التعامل مع أكثر من رقم أو جهاز، تصبح إدارة الـInstances جزءًا أساسيًا من Architecture الخاصة بالتكامل.

عرض Instances

GET /api/v1/instances

إنشاء Instance

GET /api/v1/instances/create

المعاملات:

token
id
name

ويمكن أن يكون الاسم اختياريًا.

الاتصال بالـInstance

GET /api/v1/instances/connect

مع:

token
instance_id

وتوجد كذلك نقاط نهاية لإدارة حالة الجهاز والاتصال والـQR والحذف، ومنها:

GET /api/v1/instances/disconnect
GET /api/v1/instances/status
GET /api/v1/instances/qr
GET /api/v1/instances/qr-page
GET /api/v1/instances/delete

وبذلك يمكن بناء لوحة تحكم أو نظام إدارة خاص بك يتعامل مع Instances برمجيًا بدل الاعتماد على تنفيذ كل عملية يدويًا.

Campaign API وإدارة الحملات

عندما يتحول المشروع من إرسال رسالة واحدة إلى إدارة حملات، تحتاج إلى دورة حياة واضحة للحملة.

يمكن عرض الحملات من خلال:

GET /api/v1/campaigns

ولإنشاء حملة:

POST /api/v1/campaigns/create

ثم إضافة المستلمين:

POST /api/v1/campaigns/recipients

وبعد ذلك التحكم في حالة الحملة من خلال:

POST /api/v1/campaigns/start
POST /api/v1/campaigns/pause
POST /api/v1/campaigns/resume
POST /api/v1/campaigns/stop

ويمكن الاستعلام عن حالة الحملة:

GET /api/v1/campaigns/status

وحذف الحملة:

POST /api/v1/campaigns/delete

هذا النموذج يسمح ببناء نظام خارجي يقرر متى تبدأ الحملة ومتى تتوقف، بينما يتولى API تنفيذ العمليات داخل Whats360.

من الرسالة إلى نظام كامل

القيمة الحقيقية للـAPI لا تظهر عند إرسال رسالة منفردة فقط. تظهر عندما تربط الرسائل ببيانات العملاء والطلبات والأحداث والـCRM، بحيث يصبح الإرسال نتيجة منطق عمل واضح وليس إجراءً منفصلًا.

فهم استجابات WhatsApp API

الاستجابة الناجحة قد تأتي بهذا الشكل:

{
  "success": true,
  "message": "...",
  "response": {}
}

وعند حدوث خطأ:

{
  "success": false,
  "error": "error message"
}

لذلك يجب ألا يعتمد التطبيق على HTTP Status Code فقط، بل يجب أن يفحص أيضًا البيانات الموجودة داخل الاستجابة وقيم مثل success أو error.

أهم أكواد أخطاء WhatsApp API

الكود المعنى ما الذي يجب مراجعته؟
400 بيانات أو معاملات ناقصة أو غير صحيحة الـParameters وPayload
401 Token غير صحيح أو منتهي بيانات المصادقة
403 تجاوز حد الرسائل أو الطلبات الحدود والاستخدام
404 Instance غير موجود instance_id
463 الرقم غير مفتوح للمحادثة وفق قيد بروتوكول WhatsApp حالة المحادثة والرقم المستهدف
500 خطأ داخلي بالخادم إعادة المحاولة ومراجعة السجلات

ماذا يعني الخطأ 463؟

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

في السيناريو المذكور في وثائق التكامل، يمكن أن يساعد إرسال رسالة من الهاتف إلى الرقم المستهدف أولًا ثم إعادة المحاولة من API أو CRM.

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

VCash API وربط خدمات المحافظ الإلكترونية

إذا كان النظام يحتاج إلى ربط خدمات المحافظ الإلكترونية، توجد طبقة VCash API التي يمكن استخدامها من خلال واجهات برمجية مخصصة.

عنوان الخدمة الأساسي:

https://whats360.live

وتستخدم المصادقة:

Authorization: Bearer [TOKEN_ID]

أجهزة VCash

GET /api/v1/vcash/devices

إرسال SMS

POST /api/v1/vcash/sms/send

تنفيذ USSD

POST /api/v1/vcash/ussd/execute

الاستعلام عن الرصيد

GET /api/v1/vcash/balance?device_id=...

الاستعلام عن المعاملات

GET /api/v1/vcash/transactions?device_id=...&type=income&limit=20&offset=0

ومن النماذج العامة للاستجابة الناجحة:

{
  "success": true,
  "message": "...",
  "data": {}
}

وعند الخطأ:

{
  "success": false,
  "error": "..."
}

وتشمل فئات الأخطاء الأساسية:

400
401
403
404
500

Webhooks: الطبقة التي تجعل التكامل Event-Driven

إذا كان API يسمح لك بتنفيذ عملية، فإن Webhook يسمح لنظامك بمعرفة أن حدثًا وقع.

مثلًا عند وصول رسالة جديدة إلى WhatsApp:

عميل يرسل WhatsApp
        ↓
Whats360
        ↓
Webhook
        ↓
CRM
        ↓
تحديث سجل العميل

وفي التجارة الإلكترونية يمكن أن يكون التدفق:

طلب جديد في المتجر
        ↓
Shopify Webhook
        ↓
Whats360
        ↓
رسالة WhatsApp للعميل

أما في الأتمتة:

حدث
 ↓
Whats360 Webhook
 ↓
n8n
 ↓
Database / CRM / API

وهنا تظهر قوة Webhooks باعتبارها حلقة الربط بين الأنظمة.

استخدام Webhooks مع n8n

يمكن استخدام n8n لبناء Workflow يستقبل البيانات من Whats360 ثم ينفذ مجموعة من الإجراءات.

Whats360
   ↓
Webhook
   ↓
n8n Webhook Trigger
   ↓
تحليل البيانات
   ↓
Action
   ↓
CRM / Database / API

الخطوات العامة هي:

  • إنشاء Webhook في Whats360.
  • نسخ عنوان Notification URL.
  • إنشاء Webhook Trigger داخل n8n.
  • وضع الرابط في إعدادات الـTrigger.
  • تحديد الإجراءات التي ستحدث بعد استقبال البيانات.
  • اختبار الـWorkflow.
  • تفعيل الـWorkflow.

هذا الأسلوب مناسب عندما تريد بناء أتمتة دون كتابة Backend كامل لكل سيناريو.

التكامل مع Shopify

يمكن ربط Shopify مع Whats360 باستخدام Incoming Webhooks، بحيث يصبح إنشاء الطلب أو دفعه نقطة بداية لـWorkflow جديد.

من أمثلة الأحداث:

orders/create
orders/paid

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

وفي Shopify يتم الوصول إلى:

Settings
→ Notifications
→ Webhooks
→ Create Webhook

ثم اختيار الحدث المطلوب وتحديد تنسيق JSON.

يمكن أن تتضمن البيانات المرسلة معلومات مثل:

{
  "id": 123456,
  "order_number": 1001,
  "total_price": "...",
  "customer": {
    "first_name": "...",
    "phone": "..."
  }
}

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

التحقق من مصدر Webhook

عند بناء تكامل Shopify يجب الانتباه إلى آلية التحقق من المصدر، ومن ذلك:

X-Shopify-Hmac-SHA256

مع استخدام الـSecret للتحقق من أن الطلب جاء من المصدر المتوقع.

كما ينبغي أن يتعامل Endpoint مع الطلبات بسرعة ويعيد 200 OK عند نجاح الاستقبال، لأن Shopify قد يعيد محاولة التسليم إذا لم يحصل على الاستجابة المطلوبة خلال المهلة.

التكامل مع WooCommerce

يمكن تطبيق نموذج مشابه مع WooCommerce.

من Whats360:

Create Incoming Webhook
→ WooCommerce Template
→ Copy URL

ومن WooCommerce:

Settings
→ Advanced
→ Webhooks
→ Add Webhook

ثم تحديد:

  • Name
  • Status
  • Topic
  • Delivery URL
  • Secret

ومن الأحداث التي يمكن التعامل معها:

  • Order created
  • Order updated
  • Customer created
  • Product updated

ويمكن مراجعة سجلات WooCommerce من:

WooCommerce
→ Status
→ Logs

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

سيناريو عملي للتجارة الإلكترونية

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

Incoming وOutgoing Webhooks

من المهم التمييز بين الاتجاهين لأن كل نوع يخدم وظيفة مختلفة.

Outgoing Webhook

في هذا النموذج يكون Whats360 هو الذي يرسل البيانات إلى نظامك.

Whats360
   ↓
Your API

ويمكن أن يرتبط بأحداث مثل:

  • رسالة واردة.
  • رسالة مرسلة.
  • فشل إرسال.
  • انتهاء الاشتراك.

وقد تتضمن البيانات:

phone
message
sender_name
instance_id
media_url
timestamp
chat_jid
message_id

Incoming Webhook

في هذا الاتجاه يقوم النظام الخارجي بإرسال البيانات إلى Whats360.

CRM
   ↓
Whats360
   ↓
WhatsApp

وهذا مناسب عندما يكون النظام الخارجي هو مصدر الحدث أو القرار، ويريد تحويل بيانات معينة إلى رسالة WhatsApp.

المتغيرات داخل Webhooks

يمكن استخدام متغيرات ديناميكية داخل بيانات الـWebhook، ومنها:

{{phone}}
{{message}}
{{sender_name}}
{{instance_id}}
{{timestamp}}
{{message_id}}
{{media_url}}
{{chat_jid}}

وتسمح هذه المتغيرات بإرسال بيانات مختلفة حسب الحدث بدل الاعتماد على Payload ثابت.

مثال على Incoming Webhook

يمكن أن يكون الطلب بالشكل التالي:

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

مع بيانات مثل:

{
  "phone": "[PHONE_ID]",
  "message": "Your order #1234 is confirmed!",
  "name": "[PERSON_ID]"
}

وعند نجاح الاستقبال يمكن أن تكون الاستجابة:

{
  "status": "success",
  "message": "Webhook received successfully"
}

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

تصميم Architecture صحيحة للتكامل

من الأخطاء الشائعة التعامل مع API على أنها مجرد قائمة من URLs. التصميم الأفضل هو وضع كل واجهة داخل Architecture واضحة تحدد مسؤولية كل مكوّن داخل Architecture واضحة تحدد مسؤولية كل مكوّن.

                 ┌───────────────┐
                 │   Your App    │
                 └───────┬───────┘
                         │
                  API / Webhooks
                         │
        ┌────────────────┼────────────────┐
        ↓                ↓                ↓
   WhatsApp API       Email API        VCash API
        │                │                │
        └────────────────┼────────────────┘
                         ↓
                    Automation
                         ↓
                CRM / Database / ERP

وفي نظام التجارة الإلكترونية يمكن أن يصبح التدفق:

Shopify / WooCommerce
          ↓
       Webhook
          ↓
       Whats360
          ↓
      WhatsApp
          ↓
       Customer

أما في نظام CRM:

CRM
 ↓
Business Logic
 ↓
Whats360 API
 ↓
WhatsApp

هذا الفصل بين Business Logic وطبقة الاتصال يجعل النظام أكثر وضوحًا وأسهل في التطوير والصيانة.

أخطاء التكامل البرمجي الأكثر شيوعًا

وضع Token في Frontend

إظهار Token في Frontend يجعل حماية بيانات المصادقة أكثر صعوبة.

التصميم الأفضل هو:

Frontend
   ↓
Your Backend
   ↓
Whats360 API

عدم فحص الاستجابة كاملة

لا تفترض أن كل Response ناجح لمجرد وصوله إلى التطبيق. يجب فحص HTTP Status Code ومحتوى الاستجابة وقيم النجاح والخطأ.

استخدام Instance غير صحيحة

إذا كانت قيمة instance_id غير صحيحة أو غير موجودة فقد تحصل على خطأ 404.

غياب Retry Logic

الأنظمة الخارجية قد تتعرض لانقطاع مؤقت. لذلك يجب أن يكون تصميم التطبيق قادرًا على التعامل مع الفشل المؤقت.

Request
 ↓
Failure?
 ↓
Retry
 ↓
Success / Final Failure

لكن إعادة المحاولة يجب ألا تكون بلا حدود، ويجب أن تكون لها سياسة واضحة حتى لا يتحول الخطأ المؤقت إلى عدد ضخم من الطلبات.

عدم تسجيل الأحداث

وجود Logs مفيدة أثناء تشخيص التكامل، ويمكن تسجيل معلومات مثل:

request_id
timestamp
endpoint
instance_id
status
error

مع عدم تسجيل Tokens أو البيانات الحساسة نفسها داخل السجلات.

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

قاعدة القرار السريعة

إذا كنت تريد تنفيذ عملية، فكر في API.

إذا كنت تريد معرفة أن حدثًا وقع، فكر في Webhook.

إذا كان النظام يحتاج إلى استقبال حدث ثم تنفيذ إجراء، فاستخدم Webhook + API.

في CRM مثلًا يمكن أن يكون التدفق:

Webhook
→ استقبال الرسالة

Business Logic
→ تحديد الإجراء

API
→ إرسال الرد

وهذا النموذج أكثر ملاءمة للأنظمة التي تعتمد على الأحداث من الاعتماد المستمر على Polling.

كيف تصمم تكاملًا احترافيًا قبل كتابة الكود؟

قبل البدء في كتابة Endpoint واحد، حدد دورة العملية كاملة.

الحدث

ما الذي يبدأ العملية؟

New Order
Incoming Message
Payment
Subscription Expired

البيانات

ما المعلومات التي تحتاجها لتنفيذ العملية؟

phone
name
order_id
message
amount
instance_id

القرار

ما الإجراء الذي يجب أن يحدث بعد وصول البيانات؟

Create Customer
Send WhatsApp
Update CRM
Send Email
Create Ticket

التنفيذ

أي API أو Webhook سيستخدم؟

WhatsApp API
Email API
VCash API
Incoming Webhook
Outgoing Webhook

الفشل

ماذا سيحدث إذا فشلت العملية؟

Retry
Log
Alert
Fallback
Manual Review

هذه الطبقات الخمس تحول التكامل من مجرد استدعاء API إلى Architecture واضحة يمكن تطويرها ومراقبتها.

رؤية المطور

لا تبدأ بالسؤال: «ما هو الـEndpoint الذي سأستخدمه؟» ابدأ بالسؤال: «ما الحدث الذي أريد تحويله إلى عملية؟». بعد تحديد الـWorkflow يصبح اختيار API أو Webhook أكثر وضوحًا.

متى يكون Whats360 مناسبًا للمطور؟

يصبح استخدام Whats360 منطقيًا عندما تريد وضع WhatsApp أو البريد أو Webhooks داخل Workflow أكبر، مثل:

  • CRM.
  • ERP.
  • متجر إلكتروني.
  • نظام حجوزات.
  • نظام دعم فني.
  • SaaS.
  • أنظمة Automation.
  • قواعد البيانات.
  • أنظمة الإشعارات.
  • أدوات الذكاء الاصطناعي.
  • أنظمة إدارة العملاء.

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

قائمة فحص قبل إطلاق التكامل

  • التأكد من حفظ Token في Backend.
  • توثيق جميع Endpoints المستخدمة.
  • التأكد من صحة instance_id.
  • معالجة HTTP Errors.
  • معالجة API Errors.
  • إضافة Retry Logic مناسب للحالات المؤقتة.
  • التأكد من أن Webhook Endpoint يعيد الاستجابة المطلوبة.
  • استخدام Webhook Secret عند الحاجة.
  • التحقق من صحة Payload.
  • وجود Logs مفيدة للتشخيص.
  • عدم تخزين البيانات الحساسة داخل Logs.
  • اختبار سيناريو النجاح.
  • اختبار سيناريو الفشل.
  • اختبار انقطاع الخدمة.
  • اختبار وصول Webhook أكثر من مرة لمنع التكرار غير المقصود.

أسئلة شائعة حول Whats360 API وWebhooks

هل Whats360 API مخصص فقط لإرسال رسائل WhatsApp؟

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

ما الفرق بين API وWebhook؟

API تستخدم عندما تريد من النظام تنفيذ عملية، بينما Webhook يستخدم لإرسال البيانات أو الإشعار عند وقوع حدث.

هل يمكن ربط Whats360 مع Shopify؟

نعم، يمكن استخدام Incoming Webhooks لاستقبال أحداث مثل إنشاء الطلب أو دفعه، ثم استخدام البيانات في Workflow مناسب.

هل يمكن ربط Whats360 مع WooCommerce؟

نعم، يمكن إنشاء Webhook في WooCommerce وتوجيهه إلى Incoming Webhook في Whats360، ثم التعامل مع البيانات داخل النظام.

هل يمكن استخدام n8n؟

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

هل يمكن إرسال البريد الإلكتروني عبر API؟

نعم، توجد نقطة النهاية POST /api/v1/email/send لإرسال البريد باستخدام بيانات المرسل والمستلم والعنوان والمحتوى.

كيف أعرف سبب فشل طلب API؟

ابدأ بفحص HTTP Status Code، ثم راجع محتوى الاستجابة، خصوصًا قيم success أو ok ورسالة error.

ماذا يعني الخطأ 401؟

يشير عادة إلى مشكلة في المصادقة، مثل Token غير صحيح أو منتهي.

ماذا يعني الخطأ 404؟

في سياق WhatsApp API قد يشير إلى أن الـInstance المطلوب غير موجود.

هل يمكن استخدام API وWebhooks معًا؟

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

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

الخلاصة: من Endpoint إلى Integration Architecture

قيمة Whats360 بالنسبة للمطور لا تكمن فقط في إرسال رسالة WhatsApp من خلال كود.

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

حدث
  ↓
Webhook
  ↓
تحليل البيانات
  ↓
Business Logic
  ↓
API
  ↓
WhatsApp / Email / VCash
  ↓
تسجيل النتيجة

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

والأهم أن فهم API + Webhooks + Authentication + Error Handling + Event Flow أهم من حفظ قائمة Endpoints منفصلة؛ لأن الهدف النهائي ليس مجرد إرسال Request، وإنما بناء تكامل يعمل بصورة صحيحة ويمكن مراقبته وتطويره.

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

إذا كنت مطورًا أو صاحب نظام وتريد تحديد طريقة الربط المناسبة، سواء عبر WhatsApp API أو Webhooks أو دمجها مع CRM أو متجر إلكتروني، يمكنك التواصل لتحديد سيناريو التكامل المطلوب قبل البدء في التنفيذ.

ناقش سيناريو التكامل مع Whats360

اترك تعليقاً

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