Κατάλογος συμβάντων
Κάθε σώμα διαδικτυακού αγκίστρου έχει ένα πεδίο type του οποίου η τιμή είναι ένας από τους τύπους
συμβάντων αυτής της σελίδας. Όταν εγγράφεστε σε ένα
τελικό σημείο, ο πίνακας events πρέπει να περιέχει τους
τύπους συμβάντων που θέλετε (ή να είναι κενός για εγγραφή σε όλα).
Δύο στυλ παράδοσης μεταφέρουν αυτά τα συμβάντα:
- Οι παραδόσεις τελικού σημείου είναι πάντα ειδοποιήσεις χωρίς αποκλεισμό
με επαναλήψεις: απαντήστε με
οποιοδήποτε 2xx· ο φάκελος περιέχει ένα
event_idγια αποδιπλοποίηση. - Οι αποκλειστικές ανταλλαγές εκτελούνται μόνο στο
παλαιού τύπου διαδικτυακό άγκιστρο ενός URL: το
αίτημα ρύθμισης
telephony.incoming/web.incoming(αριθμοί και κλειδιά γραφικού στοιχείου σε λειτουργία διαδικτυακού αγκίστρου, χρονικό όριο 10 s) και η δρομολόγηση εργαλείων σε λειτουργία διαδικτυακού αγκίστρου. Η απόκρισή σας διαμορφώνει τη ζωντανή κλήση.
Τα παρακάτω παραδείγματα φορτίων δείχνουν τον φάκελο τελικού σημείου στη σειρά
μετάδοσής του (κλειδιά ταξινομημένα αλφαβητικά: data, event_id, type)· οι παραδόσεις παλαιού τύπου
μεταφέρουν τα ίδια data χωρίς event_id.
Συμβάντα κλήσεων
telephony.incoming
Αποστέλλεται όταν μια εισερχόμενη κλήση φτάνει σε έναν από τους
αριθμούς τηλεφώνου σας. Οι παραδόσεις σε endpoint είναι
ειδοποιήσεις χωρίς αναμονή που αποστέλλονται για κάθε εισερχόμενη κλήση, ανεξάρτητα
από το αν ο αριθμός έχει διαμορφωθεί με πράκτορα ή με webhook. Οι αριθμοί χωρίς
εκχωρημένο πράκτορα λαμβάνουν επιπλέον το δεσμευτικό αίτημα διαμόρφωσης
στο webhook παλαιού τύπου — δείτε
telephony.incoming / web.incoming για
το πλήρες σχήμα αιτήματος / απόκρισης.
{
"data": {
"call_id": 987654321,
"from_number": "+14155550199",
"to_number": "+15551234567"
},
"event_id": "3f6b2ad0-1c9e-4a57-9f2b-8f6f0f9d2f11",
"type": "telephony.incoming"
}
telephony.complete
Αποστέλλεται όταν ολοκληρώνεται μια εισερχόμενη ή εξερχόμενη τηλεφωνική κλήση. Δεν είναι δεσμευτικό.
Περιλαμβάνει την απομαγνητοφώνηση, το URL της εγγραφής όταν είναι διαθέσιμο και τη σύνοψη χρέωσης. Δείτε
telephony.complete / web.complete για
το σχήμα payload.
telephony.tool
Αποστέλλεται αφού μια τηλεφωνική κλήση καλέσει ένα εργαλείο συνάρτησης. Μη δεσμευτική ειδοποίηση ελέγχου — το εργαλείο έχει ήδη εκτελεστεί όταν παραδίδεται αυτό το συμβάν· καλύπτει τα δικά σας εργαλεία συναρτήσεων (όχι ενσωματωμένα εργαλεία, εργαλεία βάσης γνώσεων, σύνδεσης εφαρμογής ή MCP).
{
"data": {
"arguments": { "date": "2026-04-21" },
"call_id": 987654321,
"from_number": "+14155550199",
"response": {
"response": { "available_slots": ["9:00 AM", "2:00 PM"] },
"status": 200
},
"to_number": "+15551234567",
"tool_name": "search_appointments"
},
"event_id": "1f0a7c3e-52d4-4a0e-8f4b-b1a6a1c0d9e2",
"type": "telephony.tool"
}
Το response είναι το αποτέλεσμα που εκτελέστηκε: {"status": <http status>, "response": <your endpoint's JSON>} σε περίπτωση επιτυχίας ή
{"status": <status>, "error": "<message>"} σε περίπτωση αποτυχίας.
web.incoming
Το αντίστοιχο του telephony.incoming για το κανάλι ιστού, το οποίο αποστέλλεται όταν ξεκινά
μια συνεδρία γραφικού στοιχείου ιστού ή μια δοκιμαστική κλήση μικροφώνου του builder.
Οι παραδόσεις σε endpoint είναι ειδοποιήσεις χωρίς αναμονή για κάθε συνεδρία ιστού.
Τα δημοσιεύσιμα κλειδιά σε mode="webhook" λαμβάνουν επιπλέον το
δεσμευτικό αίτημα διαμόρφωσης στο webhook παλαιού τύπου — αυτό το
δεσμευτικό αίτημα έχει διαφορετική μορφή (origin_domain,
publishable_key_prefix; χωρίς αριθμούς τηλεφώνου). Δείτε
telephony.incoming / web.incoming.
{
"data": {
"call_id": 987654322,
"from_number": "web",
"origin_domain": "https://example.com",
"publishable_key_prefix": "pk_live_a1b2",
"to_number": "+15551234567"
},
"event_id": "9a2b4c6d-8e0f-4a1b-9c2d-3e4f5a6b7c8d",
"type": "web.incoming"
}
Το from_number είναι πάντα η κυριολεκτική τιμή "web". Για συνεδρίες γραφικού στοιχείου
σε λειτουργία webhook, το to_number είναι κενό (ο αριθμός του πράκτορα της συνεδρίας εκχωρείται
μετά τη διαμόρφωση)· για δοκιμαστικές κλήσεις μικροφώνου του builder, τα
origin_domain και publishable_key_prefix είναι κενά.
web.complete
Το αντίστοιχο του telephony.complete για το κανάλι ιστού, που καλύπτει κλήσεις
γραφικού στοιχείου ιστού (direction: "web") και δοκιμαστικές κλήσεις μικροφώνου του builder
(direction: "test"). Δεν είναι δεσμευτικό. Έχει την ίδια μορφή payload με το
telephony.complete, επιπλέον του origin_domain,
με το from_number ορισμένο σε "web".
web.tool
Το αντίστοιχο του telephony.tool για το κανάλι ιστού. Το data περιέχει
origin_domain αντί για from_number / to_number.
Συμβάντα φωνής
Η δημιουργία προσαρμοσμένης φωνής είναι ασύγχρονη. Αυτά τα μη αποκλειστικά συμβάντα σάς επιτρέπουν να αντιδράτε σε ένα τελικό αποτέλεσμα αντί να πραγματοποιείτε περιοδικούς ελέγχους στο τελικό σημείο λεπτομερειών κλώνου.
voice.ready
Στέλνεται όταν μια προσαρμοσμένη φωνή ολοκληρώσει την επεξεργασία και μπορεί να ανατεθεί σε έναν πράκτορα.
{
"data": {
"voice": {
"created_at": "2026-07-30T14:12:08.317Z",
"display_name": "Support voice",
"failure_reason": "",
"gender": "female",
"id": "cv_2f6f90b0e9a34ee8b39be7d1",
"language": "en",
"name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
"status": "ready",
"updated_at": "2026-07-30T14:13:31.605Z"
}
},
"event_id": "2d5f0a61-e9b5-4a3c-b684-29d7d9e4b214",
"type": "voice.ready"
}
voice.failed
Στέλνεται όταν η επεξεργασία προσαρμοσμένης φωνής καταλήξει σε μόνιμη αποτυχία.
{
"data": {
"reason": "audio sample could not be processed",
"voice": {
"created_at": "2026-07-30T14:12:08.317Z",
"display_name": "Support voice",
"failure_reason": "audio sample could not be processed",
"gender": "female",
"id": "cv_2f6f90b0e9a34ee8b39be7d1",
"language": "en",
"name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
"status": "failed",
"updated_at": "2026-07-30T14:13:31.605Z"
}
},
"event_id": "3493e985-1a75-4f77-a10a-e74af440cd31",
"type": "voice.failed"
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
voice.id | string | Δημόσιο αναγνωριστικό προσαρμοσμένης φωνής |
voice.name | string | Τιμή φωνής πράκτορα στη μορφή custom:<public_id> |
voice.display_name | string | Όνομα φωνής για τον οργανισμό |
voice.language | string | Ο μοναδικός κωδικός γλώσσας του κλώνου |
voice.gender | string | male, female ή κενή συμβολοσειρά |
voice.status | string | ready για voice.ready· failed για voice.failed |
voice.failure_reason | string | Κενό σε επιτυχία· λεπτομέρεια αποτυχίας επεξεργασίας σε αποτυχία |
voice.created_at, voice.updated_at | timestamp | Χρονικές σημάνσεις ISO 8601 |
reason | string | Λεπτομέρεια αποτυχίας· υπάρχει μόνο στο voice.failed |
Συμβάντα ποιότητας
call.graded
Αποστέλλεται κάθε φορά που ολοκληρώνεται μια εκτέλεση αξιολόγησης AI για μια κλήση. Δεν εμποδίζει την εκτέλεση.
{
"data": {
"call_id": 987654321,
"grade": {
"call_outcome": "success",
"created_at": "2026-04-20T18:25:11.002Z",
"detected_issues": [],
"graded_at": "2026-04-20T18:25:11.002Z",
"grader_model": "heuristic-v1",
"id": 5512,
"score": 92,
"status": "completed",
"summary": "Caller asked about their policy and got a full answer…"
}
},
"event_id": "7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "call.graded"
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
grade.id | integer | Αναγνωριστικό αξιολόγησης |
grade.score | integer | null | 0–100 |
grade.call_outcome | string | success, failure, unknown ή no_conversation |
grade.summary | string | Σύνοψη μίας παραγράφου |
grade.detected_issues | array | Συμβολοσειρές ζητημάτων που εντοπίστηκαν από τον αξιολογητή |
grade.status | string | Πάντα completed — εκπέμπονται μόνο ολοκληρωμένες εκτελέσεις |
grade.grader_model | string | Ο αξιολογητής που παρήγαγε το αποτέλεσμα (π.χ. heuristic-v1) |
grade.graded_at, grade.created_at | timestamp |
issue.reported
Αποστέλλεται όταν δημιουργείται μια αναφορά ζητήματος —
είτε υποβάλλεται από χρήστη μέσω του πίνακα ελέγχου (source: "user") είτε
αυτόματα από την αξιολόγηση κλήσεων (source: "system"). Δεν εμποδίζει την εκτέλεση.
{
"data": {
"call_id": 987654321,
"issue_report": {
"created_at": "2026-04-20T18:25:11.002Z",
"description": "Five-second silence before responding to the main question.",
"id": 4321,
"severity": "warning",
"source": "system",
"status": "open",
"title": "Agent paused too long"
}
},
"event_id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"type": "issue.reported"
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
issue_report.severity | string | critical, warning ή info |
issue_report.status | string | open ή resolved |
issue_report.source | string | user (υποβλήθηκε μέσω του πίνακα ελέγχου) ή system (δημιουργήθηκε από την αξιολόγηση) |
Συμβάντα δοκιμαστικών κλήσεων
test-call.completed
Αποστέλλεται όταν μια
εκτέλεση δοκιμαστικής κλήσης
φτάσει σε τελική κατάσταση — completed ή failed, συμπεριλαμβανομένων εκτελέσεων
που απέτυχαν κατά την εκκίνηση και δεν παρήγαγαν ποτέ κλήση. Δεν εμποδίζει την εκτέλεση. Χρήσιμο
για τη σύνδεση μαζικών εκτελέσεων CI με τα συστήματα συνομιλίας/ειδοποιήσεών σας.
{
"data": {
"test_call_run": {
"call_id": 987654321,
"completed_at": "2026-04-20T18:25:04.822Z",
"error_message": "",
"id": 7110,
"status": "completed",
"target_id": 12,
"target_type": "agent"
}
},
"event_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"type": "test-call.completed"
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
test_call_run.target_type | string | agent ή phone_number |
test_call_run.target_id | integer | Το αναγνωριστικό πράκτορα ή αριθμού τηλεφώνου που στόχευσε η εκτέλεση, σύμφωνα με το target_type |
test_call_run.status | string | completed ή failed |
test_call_run.call_id | integer | null | null όταν η εκτέλεση απέτυχε πριν πραγματοποιηθεί κλήση |
test_call_run.error_message | string | Κενό σε περίπτωση επιτυχίας |
Συμβάντα ειδοποιήσεων
alert.triggered
Αποστέλλεται όταν ένας κανόνας ειδοποίησης με ενεργοποιημένο το κανάλι Παράδοση σε webhook προγραμματιστή υπερβαίνει το όριό του. Δεν εμποδίζει τη ροή. Ένας κανόνας ενεργοποιείται μία φορά και έπειτα τηρεί την περίοδο αναμονής του, επομένως μια παρατεταμένη παραβίαση παράγει ένα συμβάν ανά παράθυρο περιόδου αναμονής.
{
"data": {
"comparator": "lt",
"event_id": "b8e6a1d4-2c3f-4a5b-9c8d-7e6f5a4b3c2d",
"fired_at": "2026-04-20T18:00:00+00:00",
"metric": "success_rate",
"metric_value": 71.4,
"rule_id": "d2c3b4a5-6f7e-4d8c-9b0a-1c2d3e4f5a6b",
"rule_name": "Success rate below 80%",
"threshold": 80.0,
"window_hours": 24
},
"event_id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
"type": "alert.triggered"
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
event_id (στο data) | UUID | Το αναγνωριστικό ενεργοποίησης της ειδοποίησης — διαφέρει από το event_id παράδοσης του περιβλήματος |
rule_id, rule_name | UUID, συμβολοσειρά | Ο κανόνας που ενεργοποιήθηκε |
metric | συμβολοσειρά | success_rate, failure_rate, avg_score, call_volume ή suite_regression |
comparator | συμβολοσειρά | lt, lte, gt ή gte |
metric_value | αριθμός | Η τιμή της μετρικής στο παράθυρο όταν ενεργοποιήθηκε ο κανόνας |
threshold | αριθμός | Το διαμορφωμένο όριο |
window_hours | ακέραιος | Κυλιόμενο παράθυρο αξιολόγησης |
fired_at | χρονική σήμανση |
Ανατρέξτε στον οδηγό ειδοποιήσεων για τη δημιουργία κανόνων, μετρικών, περιόδων αναμονής και καναλιών ηλεκτρονικού ταχυδρομείου / Slack.
Σχετικά
Το ωφέλιμο φορτίο εισερχόμενης κλήσης που εμποδίζει τη ροή και στο οποίο πρέπει να απαντήσετε.
Απομαγνητοφώνηση και μετρικές μετά την κλήση.
Εγγράψτε μια διεύθυνση URL σε ένα υποσύνολο αυτών των συμβάντων.
Πώς δημιουργούνται τα συμβάντα telephony.tool / web.tool.