מדריכיםWebhooks וחיבור n8n

Webhooks וחיבור n8n

אירוע יכול לפתוח ליד או להפעיל המשך, אבל רק אחרי אימות חתימה.

מה webhook עושה

לאחר אירוע שיחה TTMA שולח POST לכתובת שהגדרתם. האירוע מאפשר לעדכן CRM, לשלוח התראה או להפעיל המשך בלי polling.

  • call started
  • call completed
  • outcome available
  • recording ready לפי הגדרה

הגדרת endpoint

ה-endpoint חייב להיות HTTPS ציבורי, להחזיר 2xx במהירות ולשמור את ה-body הגולמי לצורך אימות חתימה.

  • TLS תקין
  • timeout קצר
  • ללא redirect
  • secret נפרד לסביבה
  • תגובה לפני עבודה ארוכה

חיבור n8n שלב אחר שלב

  • צרו Webhook node במצב POST
  • רשמו את Production URL ב-TTMA
  • הוסיפו Code node לאימות HMAC
  • עצרו את ה-flow אם האימות נכשל
  • העבירו payload ל-nodes העסקיים

payload ושדות מרכזיים

השתמשו ב-eventId ל-idempotency, ב-callId לקישור נתונים, ב-type לניתוב וב-createdAt לבדיקת freshness. metadata מכיל רק מזהים שהמערכת שלכם שלחה.

{
  "eventId": "evt_...",
  "type": "call.completed",
  "callId": "call_...",
  "createdAt": "2026-08-10T12:00:00Z"
}

אימות HMAC

חשבו HMAC על bytes של ה-body המקורי והשוו ב-constant time. בדקו timestamp והחזיקו cache קצר של event IDs כדי למנוע replay.

  • לא לפרסר לפני החתימה
  • לא לבצע השוואת string רגילה
  • לא לקבל timestamp ישן
  • לא לעבד event פעמיים

מתכונים שימושיים

  • שורה ב-Google Sheets עם call ID ותוצאה
  • הודעת Slack ללא מידע אישי רגיש
  • upsert ב-CRM לפי מזהה
  • שליחת follow-up רק לאחר outcome מאושר

פתרון תקלות

  • לא מתקבל אירוע: בדקו Production URL והפעלה
  • חתימה לא תואמת: בדקו raw body ו-encoding
  • אירוע כפול: הוסיפו idempotency
  • מסירה מאוחרת: בדקו אם האירוע מחכה להקלטה
  • retry: החזירו 2xx רק לאחר קבלה בטוחה

בדיקת בטיחות

אל תפעילו workflow לפני האימות ואל תעלו secrets ל-Git.