انتقل إلى المحتوى
Wbiztool

التكاملات

تكامل n8n

أرسل رسائل WhatsApp من مسارات عمل n8n الخاصة بك. مثلًا، راسل عميلًا محتملًا جديدًا من webhook، أو أكّد طلبًا من متجرك، أو أرسل تنبيهًا عند فشل فحص ما.

هناك طريقتان للربط:

  • عقدة Wbiztool المجتمعية (n8n-nodes-wbiztool): عقد جاهزة تحتوي على حقول لكل خيار.
  • عقدة HTTP Request المدمجة: تعمل على أي نسخة من n8n وتمنحك الوصول إلى كل نقاط نهاية API. راجع استخدام عقدة HTTP Request.

قبل أن تبدأ#

  • حساب Wbiztool مع رقم WhatsApp متصل في WhatsApp settings (إعدادات WhatsApp).
  • Client ID (معرّف العميل) وAPI key (مفتاح API) من Settings → API keys (الإعدادات ← مفاتيح API).
  • WhatsApp Client ID (معرّف عميل WhatsApp) للرقم الذي سترسل منه، ويظهر في WhatsApp settings.

ثبّت العقدة المجتمعية#

  1. افتح العقد المجتمعية

    في n8n، انتقل إلى Settings → Community Nodes وانقر على Install.

  2. أدخل اسم الحزمة

    أدخل n8n-nodes-wbiztool، وأكّد وثبّت. أعد تشغيل n8n إذا لم تظهر العقد.

في النسخة المستضافة ذاتيًا يمكنك أيضًا تثبيتها باستخدام npm في مجلد العقد المخصصة في n8n:

npm install n8n-nodes-wbiztool

أنشئ بيانات الاعتماد#

أضف بيانات اعتماد جديدة من النوع WbizTool API:

الحقلالقيمة
Client IDمعرّف عميل API الخاص بك.
API Keyمفتاح API الخاص بك.
WhatsApp Client IDالرقم الافتراضي الذي تُرسل منه. تتيح لك معظم العقد تجاوزه.
Base URLأبقِ القيمة الافتراضية https://wbiztool.com/api/v1 (دون شرطة مائلة في النهاية).

عند الحفظ، يختبر n8n بيانات الاعتماد مقابل التحقق من بيانات الاعتماد.

العقد#

تضيف الحزمة هذه العقد. تستدعي كل منها نقطة نهاية في Wbiztool API وتُخرج استجابة API.

العقدةما تفعلهAPI
WbizTool Send Messageإرسال نص أو صورة أو ملف إلى رقم هاتف أو مجموعة.إرسال رسالة، الإرسال إلى مجموعة
WbizTool Send Group Messageإرسال رسالة إلى مجموعة WhatsApp باسمها.الإرسال إلى مجموعة
WbizTool Send Multi Messageإرسال الرسالة نفسها إلى قائمة أرقام مفصولة بفواصل.الإرسال إلى عدة أرقام
WbizTool Schedule Messageجدولة رسالة لتاريخ ووقت. راجع التحذير أدناه.جدولة رسالة
WbizTool Cancel Messageإلغاء رسالة مجدولة بمعرّف رسالتها.إلغاء رسالة
WbizTool Message Statusالحصول على حالة رسالة بمعرّف رسالتها. لا تُرجع عنصرًا إلا الرسالة ذات الحالة Sent (مرسلة). الرسالة التي في قائمة الانتظار أو الفاشلة أو الملغاة أو المنتهية الصلاحية توقف العقدة بخطأ مثل Created أو Failed؛ فعّل Continue On Fail للتفرّع بناءً عليه.حالة الرسالة
WbizTool Check Credentialsالتحقق من أن Client ID ومفتاح API يعملان.التحقق من بيانات الاعتماد
WbizTool List WhatsApp Clientsعرض أرقام WhatsApp في مساحة عملك.عرض قائمة الأرقام المتصلة
WbizTool Create WhatsApp Clientإضافة رقم WhatsApp إلى مساحة عملك، مع رابط webhook اختياري.ربط رقم WhatsApp
WbizTool WhatsApp Client Statusالتحقق مما إذا كان رقم WhatsApp متصلًا.حالة الاتصال

WbizTool Send Message#

الحقلملاحظات
Target Type (نوع الهدف)Phone Number (رقم هاتف) أو Group (مجموعة).
Phone Numberيظهر مع Phone Number. اربطه من العقد السابقة، مثل {{ $json.phone }}.
Country Code (رمز الدولة)القيمة الافتراضية 91. غيّرها إلى رمز دولة المستلمين. يُضاف قبل رقم الهاتف ما لم يكن الرقم يبدأ به بالفعل.
Group Name (اسم المجموعة)يظهر مع Group. الاسم الدقيق لمجموعة ينتمي إليها رقم WhatsApp الخاص بك.
Message Type (نوع الرسالة)Text أو Image with Text أو File with Text.
Message Text (نص الرسالة)الرسالة، حتى 3,000 حرف.
Image URL / File URL / File Nameتظهر لرسائل الصور والملفات. يجب أن تكون الروابط عامة.
WhatsApp Client ID (Optional)اتركه فارغًا لاستخدام الرقم المحدد في بيانات الاعتماد.
Additional Options (خيارات إضافية)Expire After (Seconds) (انتهاء الصلاحية بعد ثوانٍ) وWebhook URL.

تُخرج العقدة messageId (قيمة msg_id من API). احفظه إذا أردت التحقق من الحالة أو إلغاء الرسالة لاحقًا.

مثال على مسار عمل#

  1. تستقبل عقدة Webhook عميلًا محتملًا جديدًا مع phone وname.
  2. WbizTool Send Message: اضبط Phone Number على {{ $json.phone }} وMessage Text على Hi {{ $json.name }}, thanks for signing up!.
  3. عقدة IF: تحقق من أن {{ $json.messageId }} ليس فارغًا للمتابعة إلى الخطوة التالية، مثل تحديث نظام CRM.

تُخرج WbizTool Send Message الناجحة عنصرًا مثل هذا:

{
  "success": true,
  "messageId": 9817263,
  "status": 1,
  "message": "Created",
  "response": { "status": 1, "message": "Created", "msg_id": 9817263 }
}

يتضمن العنصر أيضًا كائن input بالقيم التي أرسلتها العقدة. إذا أرجعت API خطأ، تتوقف العقدة وتعرض message الخاصة بـ API. فعّل Continue On Fail للحصول على عنصر يحتوي على success: false ونص error بدلًا من ذلك.

مع WbizTool WhatsApp Client Status، استخدم طريقة الفحص General Status. تُرجع طريقة Status by ID خطأ لكل رقم بسبب علّة في نقطة النهاية تلك في API. مع General Status، يوقف الرقم غير المتصل العقدة أيضًا بخطأ Disconnected، لذا فعّل إعداد Continue On Fail في العقدة إذا أردت التفرّع بناءً على النتيجة.

استخدام عقدة HTTP Request#

أضف عقدة HTTP Request واضبطها هكذا:

الإعدادالقيمة
MethodPOST
URLhttps://wbiztool.com/api/v1/send_msg/
AuthenticationNone
Send BodyOn
Body Content TypeJSON
Specify BodyUsing JSON

ثم الصق جسمًا مثل هذا واربط القيم من العقد السابقة باستخدام التعبيرات:

{
  "client_id": 12345,
  "api_key": "YOUR_API_KEY",
  "whatsapp_client": 678,
  "msg_type": 0,
  "country_code": "91",
  "phone": "{{ $json.phone }}",
  "msg": "Hi {{ $json.name }}, thanks for signing up!"
}

يُرجع الاستدعاء الناجح {"status": 1, "message": "Created", "msg_id": 9817263}. كل الحقول ورسائل الخطأ موجودة في إرسال رسالة.

لاستدعاء نقاط نهاية أخرى، غيّر الرابط وجسم الطلب. مثلًا، لجدولة رسالة استخدم https://wbiztool.com/api/v1/schedule_msg/ وأضف date بالصيغة DD/MM/YYYY، وtime بالصيغة HH:MM وtimezone. راجع جدولة رسالة.

لإرسال الرسالة نفسها إلى عدة أرقام أو مجموعات في استدعاء واحد، استخدم https://wbiztool.com/api/v1/send_msg/multi/ وضع المستلمين في phone كسلسلة نصية واحدة مفصولة بفواصل. راجع الإرسال إلى عدة أرقام.

{
  "client_id": 12345,
  "api_key": "YOUR_API_KEY",
  "whatsapp_client": 678,
  "msg_type": 1,
  "country_code": "91",
  "phone": "{{ $json.phones }}",
  "img_url": "https://example.com/offers/diwali-sale.jpg",
  "msg": "Our Diwali sale starts tomorrow!"
}

لا تضع إلا أرقامًا في كل رقم هاتف. أي قيمة ليست عددًا صحيحًا، مثل 98765 43210، تُرسل كاسم مجموعة.

تعمل تعبيرات n8n داخل أي حقل نصي. مثلًا، تحية تعتمد على وقت اليوم، أو نص يعتمد على إجمالي الطلب:

{
  "msg": "Good {{ $now.hour < 12 ? 'morning' : 'evening' }} {{ $json.name }}, your order total is {{ $json.total }}.{{ $json.total > 1000 ? ' Delivery is free.' : '' }}"
}

يستخدم $now المنطقة الزمنية لمسار العمل (Workflow settings → Timezone)، لذا اضبطها لتحديد متى ينتهي «الصباح».

تلقَّ إشعارًا عند إرسال رسالة#

  1. أنشئ مسار عمل webhook

    أضف عقدة Webhook بطريقة HTTP ‏POST وانسخ رابط الإنتاج الخاص بها.

  2. مرّر الرابط عند الإرسال

    ضع ذلك الرابط في خيار Webhook URL في العقدة، أو في الحقل webhook في جسم طلب HTTP.

  3. اقرأ النتيجة

    تستدعي Wbiztool الرابط بمجرد إرسال الرسالة أو فشلها. الجسم مرمّز كنموذج (form-encoded) ولا يحتوي إلا على msg_id وstatus، وقيمته SENT أو FAILED.

راجع Webhook لمعرفة إعادة المحاولات والمهل الزمنية.

استكشاف الأخطاء وإصلاحها#

المشكلةما الذي يجب التحقق منه
يفشل اختبار بيانات الاعتمادتحقق من Client ID ومفتاح API في Settings → API keys، ومن أن Base URL لا ينتهي بشرطة مائلة، ومن أن WhatsApp Client ID في بيانات الاعتماد رقم في مساحة العمل هذه.
Auth Error: invalid api keyحُذف المفتاح أو ينتمي إلى مساحة عمل مختلفة.
Invalid whatsapp clientWhatsApp Client ID ليس رقمًا في مساحة العمل هذه.
Invalid phone numberتحتوي قيمة الهاتف على أحرف أو رموز غير المسافات والنقاط والشرطات والأقواس و+، أو تتكون من أقل من 6 أرقام أو أكثر من 17 رقمًا. اربط رقمًا يتكون من أرقام فقط مثل 919876543210.
Either phone or group_name parameter is requiredقيمة الهاتف المربوطة فارغة لهذا العنصر.
Invalid Contact Number "…"يصبح الرقم أطول من 15 رقمًا بعد إضافة رمز الدولة. تحقق من أن رمز الدولة لا يُضاف إلى رقم يتضمن رمزًا بالفعل.
Not enough creditsلم يتبقَّ في باقتك أي رسائل.
تنجح العقدة لكن الرسالة لا تُرسلتنتظر الرسالة في قائمة الانتظار إلى أن يتصل رقم WhatsApp الخاص بك. تحقق منها عبر حالة الرسالة باستخدام عقدة HTTP Request، أو في سجل رسائلك. تبلّغ عقدة WbizTool Message Status عن الرسالة التي في قائمة الانتظار كخطأ باسم Created.