למפתחים

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.

מתחילים בשיחה, מסיימים עם ערוץ מחובר

אחרי שיחת ההיכרות פותחים לכם חשבון, ואשף קצר מחבר ערוץ ראשון ומזמין את הצוות. בסוף שולחים לעצמכם הודעה כדי לראות אותה נוחתת.