אינטגרציות
אינטגרציה עם n8n
שלחו הודעות WhatsApp מתהליכי העבודה (workflows) שלכם ב-n8n. למשל, שלחו הודעה לליד חדש שמגיע מ-Webhook, אשרו הזמנה מהחנות שלכם, או שלחו התראה כשבדיקה נכשלת.
יש שתי דרכים להתחבר:
- צומת הקהילה של Wbiztool (
n8n-nodes-wbiztool): צמתים (nodes) מוכנים עם שדות לכל אפשרות. - הצומת המובנה 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.
התקנת צומת הקהילה#
פתחו את צמתי הקהילה
ב-n8n, עברו אל Settings → Community Nodes ולחצו על Install.
הזינו את שם החבילה
הזינו
n8n-nodes-wbiztool, אשרו והתקינו. אם הצמתים לא מופיעים, הפעילו מחדש את n8n.
במופע באחסון עצמי (self-hosted) אפשר גם להתקין אותו עם npm בתיקיית הצמתים המותאמים (custom nodes) של n8n:
npm install n8n-nodes-wbiztool
יצירת פרטי הגישה (credential)#
הוסיפו credential חדש מסוג WbizTool API:
| שדה | ערך |
|---|---|
| Client ID | מזהה הלקוח שלכם ב-API (API Client ID). |
| API Key | מפתח ה-API שלכם. |
| WhatsApp Client ID | מספר ברירת המחדל שממנו שולחים. ברוב הצמתים אפשר לדרוס אותו. |
| Base URL | השאירו את ברירת המחדל https://wbiztool.com/api/v1 (בלי לוכסן בסוף). |
כשאתם שומרים, n8n בודק את פרטי הגישה מול בדיקת פרטי גישה.
צמתים#
החבילה מוסיפה את הצמתים האלה. כל צומת קורא לנקודת קצה של ה-API של Wbiztool ומחזיר כפלט את תגובת ה-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 | בדיקה שמזהה הלקוח ומפתח ה-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 | מוצגים בהודעות תמונה וקובץ. כתובות ה-URL חייבות להיות ציבוריות. |
| WhatsApp Client ID (Optional) | השאירו ריק כדי להשתמש במספר שמוגדר ב-credential. |
| Additional Options | האפשרויות Expire After (Seconds) ו-Webhook URL. |
הצומת מחזיר את messageId (ה-msg_id מה-API). שמרו אותו אם תרצו לבדוק את הסטטוס או לבטל את ההודעה מאוחר יותר.
תהליך עבודה לדוגמה#
- צומת Webhook מקבל ליד חדש עם
phoneו-name. - WbizTool Send Message: הגדירו את Phone Number ל-
{{ $json.phone }}ואת Message Text ל-Hi {{ $json.name }}, thanks for signing up!. - צומת 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 מחזירה שגיאה לכל מספר בגלל באג ב-endpoint הזה של ה-API. עם General Status, מספר שאינו מחובר גם עוצר את הצומת עם שגיאת Disconnected, לכן הפעילו את ההגדרה Continue On Fail של הצומת אם אתם רוצים ליצור הסתעפות לפי התוצאה.
שימוש בצומת HTTP Request#
הוסיפו צומת HTTP Request והגדירו אותו כך:
| הגדרה | ערך |
|---|---|
| Method | POST |
| URL | https://wbiztool.com/api/v1/send_msg/ |
| Authentication | None |
| Send Body | On |
| Body Content Type | JSON |
| Specify Body | Using JSON |
לאחר מכן הדביקו גוף בקשה כמו זה, ומפו את הערכים מצמתים קודמים באמצעות ביטויים (expressions):
{
"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}. כל השדות והודעות השגיאה מפורטים בדף שליחת הודעה.
כדי לקרוא לנקודות קצה אחרות, שנו את ה-URL ואת גוף הבקשה. למשל, כדי לתזמן הודעה השתמשו ב-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), לכן הגדירו אותו כדי לקבוע מתי נגמר ה-„morning“.
קבלת עדכון כשהודעה נשלחת#
צרו תהליך עבודה עם Webhook
הוסיפו צומת Webhook עם
POSTכשיטת ה-HTTP, והעתיקו את כתובת ה-URL של סביבת הייצור (production URL) שלו.העבירו את הכתובת בזמן השליחה
הכניסו את הכתובת הזו לאפשרות Webhook URL של הצומת, או לשדה
webhookבגוף בקשת ה-HTTP שלכם.קראו את התוצאה
המערכת של Wbiztool קוראת לכתובת ברגע שההודעה נשלחת או נכשלת. הגוף מקודד כטופס (form-encoded) ומכיל רק את
msg_idואתstatus, שערכוSENTאוFAILED.
ניסיונות חוזרים וזמני המתנה מוסברים בסעיף Webhook.
פתרון בעיות#
| בעיה | מה לבדוק |
|---|---|
| בדיקת ה-credential נכשלת | בדקו את מזהה הלקוח ומפתח ה-API בדף Settings → API keys, ודאו שאין לוכסן בסוף ה-Base URL, ושה-WhatsApp Client ID ב-credential הוא מספר בסביבת העבודה הזו. |
Auth Error: invalid api key | המפתח נמחק או שייך לסביבת עבודה אחרת. |
Invalid whatsapp client | ה-WhatsApp 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. |
