
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
وعند استخدام دومين جديد، من الأفضل عدم البدء بحجم إرسال ضخم مباشرة، بل زيادة الإرسال تدريجيًا بدل الانتقال المفاجئ إلى كميات كبيرة.
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 لتنفيذ الإجراء المطلوب.
مقالات ذات صلة
- دليل Whats360 API وربط WhatsApp بالأنظمة
- دليل Webhooks وتكامل WhatsApp مع الأنظمة
- ربط CRM مع WhatsApp API
- ربط Shopify مع WhatsApp باستخدام Webhooks
- ربط WooCommerce مع WhatsApp باستخدام Webhooks
الخلاصة: من 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 أو متجر إلكتروني، يمكنك التواصل لتحديد سيناريو التكامل المطلوب قبل البدء في التنفيذ.







