כלי הודעות — WhatsApp ואימייל
Send-WhatsApp-Message
Section titled “Send-WhatsApp-Message”כלי אחד עם שני מצבי הפעלה: גילוי (מחזיר מידע, לא שולח) ושליחה.
מצב גילוי
Section titled “מצב גילוי”| הפרמטר | טיפוס | מה חוזר |
|---|---|---|
getNumbers |
Boolean | מספרי השליחה הזמינים — ומהם ערך ה‑fromPhoneNumberId |
getTemplates |
Boolean | התבניות המאושרות, כולל מערך ה‑components המלא של כל אחת |
{ "getNumbers": true }{ "getTemplates": true }שתי הקריאות האלה בטוחות ואינן שולחות דבר — והן תמיד הצעד הראשון.
שליחה — קבוצות הפרמטרים
Section titled “שליחה — קבוצות הפרמטרים”הצירוף המינימלי, כפי שהשרת עצמו מנסח אותו כשחסר משהו: Every request must include phoneNumber and fromPhoneNumberId. Additionally, you must specify the content using either message, fileBase64, or a template. — כלומר שני פרמטרי הכתובת תמיד, ועוד בדיוק אחד מסוגי התוכן. fileDBName לבדו אינו נחשב תוכן.
כתובות
| הפרמטר | טיפוס | המשמעות |
|---|---|---|
phoneNumber |
String | הנמען, בפורמט בינלאומי בלי + — למשל 972500000000 |
fromPhoneNumberId |
String | מזהה מספר השולח. Channels.Identity |
wabaId |
String | חשבון WhatsApp Business, כשיש יותר מאחד |
תוכן
| הפרמטר | טיפוס | המשמעות |
|---|---|---|
message |
String | גוף ההודעה. תומך בסימון של WhatsApp: *מודגש*, _נטוי_, ~מחוק~, `קוד`, ואמוג’ים |
שרשור ותיעוד
| הפרמטר | טיפוס | המשמעות |
|---|---|---|
conversationId |
String | צירוף ההודעה לשיחה קיימת |
contextId |
String | מזהה ההודעה שאליה משיבים — מייצר תשובה משורשרת |
savedInTable + savedInObjectId |
String | היכן לתעד את ההודעה כשלא משתמשים ב‑conversationId |
בלי אף אחד מאלה, ההודעה נשלחת אבל לא מתועדת על שום רשומה — היא לא תופיע בכרטיס הלקוח. במערכת CRM זה כמעט תמיד לא מה שרוצים.
קבצים
| הפרמטר | טיפוס | המשמעות |
|---|---|---|
fileBase64 |
String | תוכן הקובץ. לפי הסכימה חייב לכלול קידומת Data‑URI (data:application/pdf;base64,…). בשרת עדכני ה‑WAF אינו חוסם את הקידומת מול MCP (ב‑REST כן — במכוון) — ראו למעלה |
fileName |
String | שם הקובץ הנשלח. חובה יחד עם fileBase64 — בלעדיו: Error: fileName is required if fileBase64 is provided. |
fileDBName |
String | שליחת קובץ שכבר שמור ב‑CRM, לפי שמו (יחד עם message או template). בגרסאות שרת ישנות היה המסלול היחיד שעבד מ‑MCP; גם היום הוא המסלול המוכר מקצה לקצה |
תיאור הכלי מונה את סוגי הקבצים: תמונה, וידאו, אודיו ומסמך (PDF). הרשימה המדויקת של הפורמטים היא של WhatsApp Cloud API (Meta), לא של המוצר.
תבניות
| הפרמטר | טיפוס | המשמעות |
|---|---|---|
template |
Object | { name ✔, language, components ✔ } — ה‑components מועתקים כמות שהם מ‑getTemplates |
WATemplateParams |
Object | הערכים שממלאים את ה‑{{1}}, {{2}} של התבנית |
אלמנטים אינטראקטיביים
| הפרמטר | המבנה | המגבלה |
|---|---|---|
interactiveButtons |
[{ title ✔, id }] |
עד 3 כפתורי תשובה מהירה |
interactiveCTA |
{ title ✔, url, HEADER_TEXT, FOOTER_TEXT } |
כפתור קריאה‑לפעולה אחד |
interactiveLIST |
{ BUTTON_TEXT ✔, SECTIONS ✔, HEADER_TEXT, FOOTER_TEXT } |
1–10 מקטעים { title ✔, rows ✔ }, בכל מקטע 1–10 שורות { id ✔, title ✔, description } |
המגבלות האלה נאכפות בוולידציית הסכימה, לפני השרת: כפתור רביעי ⇒ interactiveButtons: Too big: expected array to have <=3 items; מקטע בלי title ⇒ interactiveLIST.SECTIONS.0.title: Invalid input; 11 שורות ⇒ rows: Too big: expected array to have <=10 items; interactiveCTA בלי title, או template בלי components — אותו סוג שגיאה. כולן מתחילות ב‑Input validation error.
דוגמאות
Section titled “דוגמאות”// הודעת טקסט מינימלית{ "fromPhoneNumberId": "100000000000000", "phoneNumber": "972500000000", "message": "*שלום רב!*\nההצעה שביקשת מוכנה 🚀" }// תשובה עם PDF, בתוך שיחה קיימת{ "conversationId": "L7y9ieFPBh", "fromPhoneNumberId": "100000000000000", "phoneNumber": "972500000000", "contextId": "RoUWBMnQoM", "message": "מצורף המסמך המבוקש", "fileBase64": "data:application/pdf;base64,JVBERi0xLjcKJc…", "fileName": "quote-1042.pdf" }// הודעה עם כפתורים{ "fromPhoneNumberId": "100000000000000", "phoneNumber": "972500000000", "message": "לאשר את מועד הפגישה?", "interactiveButtons": [ { "title": "מאשר", "id": "confirm" }, { "title": "לשנות", "id": "reschedule" } ] }חלון 24 השעות — מגבלת פלטפורמה, לא של המוצר
Section titled “חלון 24 השעות — מגבלת פלטפורמה, לא של המוצר”Get-WhatsApp-Template-Params
Section titled “Get-WhatsApp-Template-Params”בונה את שלד ה‑WATemplateParams מתוך רכיבי תבנית.
| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
templateComponents |
Array<Object> | ✔ | מערך ה‑components שהועתק מפלט getTemplates |
// רכיב קלט — כפי שהוא חוזר מ-getTemplates, כולל בלוק example:{ "type": "BODY", "text": "שלום {{1}}, בהמשך לפנייתך מספר {{2}}…", "example": { "body_text": [["דנה", "1042"]] } }
// מה שחוזר:{ "BODY": ["דנה", "1042"] }הערכים שחוזרים הם הדוגמאות של Meta מתוך example. מחליפים אותם ב‑placeholders של ה‑CRM כשהתבנית מיועדת לטריגר או לקמפיין:
{ "BODY": ["{{{AccountId.Name}}}", "{{{Name}}}"] }תבנית מלאה מחזירה מפתח לכל רכיב: HEADER — מתוך example.header_text (כותרת טקסט) או example.header_handle (כותרת תמונה — ה‑URL של התמונה), BODY — מתוך example.body_text, ו‑button-URL — מתוך ה‑example של כפתור URL דינמי. רכיבי FOOTER וכפתורי QUICK_REPLY לא מייצרים מפתח.
זרימת התבניות המאושרות — ארבעה צעדים
Section titled “זרימת התבניות המאושרות — ארבעה צעדים”1. Send-WhatsApp-Message { getTemplates: true } ↓ בחירת התבנית, העתקת components כמות שהם2. Get-WhatsApp-Template-Params { templateComponents: [...] } ↓ קבלת שלד WATemplateParams3. החלפת ערכי הדוגמה בערכים אמיתיים או ב-{{{placeholders}}} ↓4. Send-WhatsApp-Message { fromPhoneNumberId, phoneNumber, template, WATemplateParams }Get-SMTP-Accounts
Section titled “Get-SMTP-Accounts”בלי פרמטרים. מחזיר את חשבונות השליחה של האימייל:
[ { "objectId": "smtp12345x", "SenderEmail": "info@company.co.il", "SenderName": "שירות לקוחות", "UserId": { "__type": "Pointer", "className": "_User", "objectId": "2b0QVKoigE" } } ]ה‑objectId הוא כל מה שצריך: הוא הערך של emailAccount בפעולת אימייל בטריגר. SenderName ו‑SenderEmail הם מה שהנמען רואה.
{ "actionType": "email", "actionData": { "email": { "emailAccount": "smtp12345x", "template": "tmpl098765", "emailType": "field", "emailTarget": "Email", "emailSubject": "עדכון בנוגע ל-{{{Name}}}", "saveToEmailsTable": true } } }היכן מתועדות ההודעות
Section titled “היכן מתועדות ההודעות”אין יומן הודעות אחד. כל ערוץ כותב למקום אחר, וחקירה חייבת לפנות לטבלה הנכונה:
| הערוץ | היכן מחפשים |
|---|---|
| WhatsApp דרך הערוץ | Conversations + ConversationMessages (שדות Message, Direction, failed, failedAt, errors) — טבלאות השיחות של MyChat. נתקלתם באזכור של טבלת _syslogWA? היא אינה קיימת במערכת חדשה |
| WhatsApp — דיוור (MyCampaigns) | _syslogCampaignWA |
| SMS | טבלת SMS (From, To, Content, Status, TemplateId) · ברמת הספק: _syslogSMS |
אימייל שנשלח מטריגר עם saveToEmailsTable |
טבלת Emails (MailFrom, MailTo, Subject, SendAt, SendStatus, ErrorMessage) |
| שינוי ברשומה שההודעה נקשרה אליה | _Timeline |
הפירוט המלא: יומנים וראיות.
- כלי טריגרים ואוטומציות — פעולות
email,smsו‑whatsapp-message - כלי קבצים — הכנת קובץ לשליחה
- סוכן במצב קריאה בלבד — למה כלי שנראה קריא מסווג כמשנה
- אינדקס הכלים המלא