למפתחים
API ציבורי לכל עסק, ואירועים יוצאים חתומים. אותם מנעולים ואותן מגבלות שחלים על הממשק חלים גם כאן.
API ציבורי
מפתח נוצר בהגדרות העסק, נושא קידומת מזהה ומוגבל להיקפים שבחרתם. בקשה אחת — ו-WeHub בוחרת ערוץ ומופע לפי הנמען, שולחת טקסט אם חלון-המענה פתוח ותבנית מאושרת אם לא, ועוברת את אותם שערים כמו שליחה מהתיבה.
- שליחה חכמה: channel: auto בוחר ווטסאפ, מסנג׳ר, אינסטגרם או מייל לפי הנמען והחלון הפתוח.
- תבניות מטא עם פרמטרים לפי שם או מיקום, מדיה מכתובת, ומפתח אידמפוטנטיות נגד שליחה כפולה.
- ניהול תבניות מה-API: יצירה עם כותרת, משתנים וכפתורים, בדיקת סטטוס האישור, מחיקה — ואירוע יוצא כשמטא מאשרת או דוחה.
- אנשי קשר ושיחות: יצירה, קריאה, עדכון, חיפוש לפי זהות — וסטטוס-מסירה לכל הודעה.
- מסמך OpenAPI, בונה-בקשות ומדריך מלא בתוך החשבון.
curl https://api.wehub.co.il/api/v1/public/messages \
-H "Authorization: Bearer wh_live_…" \
-H "Idempotency-Key: order-12345-shipped" \
-H "Content-Type: application/json" \
-d '{
"to": "+972521234567",
"channel": "auto",
"text": "ההזמנה יצאה למשלוח",
"template": {
"name": "order_shipped",
"language": "he",
"body": { "name": "דנה", "order": "12345" }
}
}'Webhooks יוצאים
לכל אירוע נשלחת בקשת POST עם חתימת HMAC-SHA256 וחותמת זמן. אם היעד לא ענה, יש חמישה ניסיונות חוזרים במרווחים גדלים, ויומן משלוחים במסך האינטגרציות.
האירועים
message.receivedהודעה נכנסהmessage.sentהודעה יצאהmessage.deliveredהודעה נמסרהmessage.readהודעה נקראהmessage.failedשליחה נכשלהconversation.openedשיחה נפתחהconversation.assignedשיחה שויכהconversation.closedשיחה נסגרהcsat.receivedהתקבל ציון שביעות רצוןcall.endedשיחת טלפון הסתיימהtemplate.status_changedסטטוס תבנית השתנה
אימות חתימה
משווים בהשוואה בזמן קבוע. חותמת זמן ישנה מ-5 דקות נדחית.
const signed = `${timestamp}.${rawBody}`;
const expected = crypto
.createHmac('sha256', webhookSecret)
.update(signed)
.digest('hex');
crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(req.header('X-Wehub-Signature')),
);התיעוד המלא
מפרט OpenAPI, מפתחות לכל עסק ויומן משלוחים של ה-webhooks נמצאים בתוך החשבון, כדי שהמפתח יעבוד מול המפתחות האמיתיים של העסק.
כרטיס אינטגרציה משלכם
אם אתם רק רוצים להציג נתונים מהמערכת שלכם בתוך השיחה, אין צורך ב-API. מגדירים כתובת אחת, מקבלים POST חתום עם זהות הפונה, ומחזירים JSON.
מתחילים בשיחה, מסיימים עם ערוץ מחובר
אחרי שיחת ההיכרות פותחים לכם חשבון, ואשף קצר מחבר ערוץ ראשון ומזמין את הצוות. בסוף שולחים לעצמכם הודעה כדי לראות אותה נוחתת.