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 מלא רגיש יותר מסיכום תוצאה.