למפתחים

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

המפתחות של העסק, בונה-הבקשות ויומן המשלוחים נמצאים בתוך החשבון: למסך האינטגרציות

כרטיס אינטגרציה משלכם

אם אתם רק רוצים להציג נתונים מהמערכת שלכם בתוך השיחה, אין צורך ב-API. מגדירים כתובת אחת, מקבלים POST חתום עם זהות הפונה, ומחזירים JSON.

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

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