מדריכיםCall Results API

Call Results API

השתמשו ב-call ID כדי לקבל תוצאה מובנית ולחבר אותה למערכת המקורית.

אימות

כל קריאת API נשלחת מהשרת עם Bearer token. המפתח שייך לסביבה ול-tenant המתאימים ואינו נחשף בדפדפן, באפליקציית לקוח או בלוגים.

Authorization: Bearer $TTMA_API_KEY

שליפת שיחה אחת

השתמשו ב-call ID שהתקבל ביצירת השיחה או ב-webhook. התגובה כוללת סטטוס, זמנים, מספרים, end reason ותוצאה עסקית לפי התרחיש.

GET /v1/calls/{callId}

קריאת התגובה

הבדילו בין שיחה שנוצרה, התחברה והושלמה. outcome מתאר את התוצאה העסקית; endReason מסביר מדוע ערוץ השיחה נסגר.

  • status
  • startedAt ו-endedAt
  • durationSeconds
  • outcome
  • toolActions
  • metadata

סיבות סיום

completed אינו מבטיח שהמטרה העסקית הושגה. no_answer, busy, rejected, failed ו-timeout דורשים מדיניות retry שונה.

  • אין retry מידי ל-do_not_contact
  • busy מקבל backoff
  • failed נבדק תפעולית
  • completed נקרא יחד עם outcome

רשימת שיחות ו-pagination

סננו לפי טווח זמן, סטטוס או cursor. שמרו את cursor בדיוק כפי שהוחזר ואל תניחו שסדר מזהים הוא כרונולוגי.

GET /v1/calls?limit=50&cursor=...

הקלטות

כאשר הקלטה מופעלת ומותרת, ה-API מחזיר קישור מוגבל בזמן או endpoint מורשה. אין לשמור URL זמני ככתובת קבועה.

  • בדקו הרשאה
  • הורידו רק לצורך מוגדר
  • הצפינו באחסון
  • מחקו לפי retention

Webhooks

webhook הוא הדרך המועדפת לקבל תוצאה בלי polling. אמתו HMAC על ה-body הגולמי, timestamp ומזהה מסירה לפני עיבוד.

  • החזירו 2xx מהר
  • עבדו אסינכרונית
  • idempotency לפי event ID
  • אפשרו retry בטוח

n8n ואוטומציה

ב-n8n שמרו credentials במנגנון הסודות, אמתו חתימה לפני node עסקי ומפו רק שדות נדרשים ל-Sheets, CRM או Slack.

  • אין webhook פתוח ללא אימות
  • אין transcript מלא לערוץ ציבורי
  • תעדו שגיאות ומסירה חוזרת

בדיקת בטיחות

הגבילו גישה לפי tenant; transcript מלא רגיש יותר מסיכום תוצאה.