इव्हेंट्स कॅटलॉग
प्रत्येक webhook body मध्ये type फील्ड असते, ज्याचे मूल्य या पृष्ठावरील इव्हेंट
प्रकारांपैकी एक असते. तुम्ही एखाद्या
endpoint चे सदस्यत्व घेतल्यावर, events array मध्ये तुम्हाला हवे असलेले
इव्हेंट प्रकार असणे आवश्यक आहे (किंवा सर्वांचे सदस्यत्व घेण्यासाठी ते रिकामे ठेवा).
हे इव्हेंट दोन वितरण शैलींमधून पाठवले जातात:
- Endpoint वितरण ही नेहमी non-blocking सूचना असतात
ज्यात पुनर्प्रयत्न होतात: कोणत्याही 2xx ने प्रतिसाद द्या;
envelope मध्ये dedup करण्यासाठी
event_idअसतो. - Blocking exchanges फक्त
legacy single-URL webhook वर चालतात:
telephony.incoming/web.incomingकॉन्फिगरेशन विनंती (webhook-mode क्रमांक आणि widget keys, 10 s timeout) आणि webhook-mode टूल डिस्पॅच. तुमचा प्रतिसाद थेट कॉलचा आकार ठरवतो.
खालील उदाहरण payloads त्यांच्या wire क्रमातील endpoint envelope दर्शवतात
(की वर्णानुक्रमाने क्रमबद्ध आहेत: data, event_id, type); legacy
वितरणांमध्ये event_id शिवाय तेच data असते.
कॉल इव्हेंट्स
telephony.incoming
इनबाउंड कॉल तुमच्या फोन नंबरांपैकी एका नंबरवर पोहोचल्यावर पाठवले जाते. एंडपॉइंट डिलिव्हरी प्रत्येक इनबाउंड कॉलसाठी पाठवल्या जाणाऱ्या फायर-अँड-फॉरगेट सूचना आहेत, नंबर एजंट-कॉन्फिगर केलेला असो किंवा वेबहुक-कॉन्फिगर केलेला असो. नियुक्त एजंट नसलेल्या नंबरांना लेगसी वेबहुकवर अतिरिक्त अवरोधक कॉन्फिगरेशन विनंती मिळते — संपूर्ण विनंती / प्रतिसाद स्कीमासाठी
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 पहा.
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 चे वेब-चॅनेल समतुल्य, वेब विजेट सेशन किंवा बिल्डर माइक चाचणी कॉल सुरू झाल्यावर पाठवले जाते. एंडपॉइंट डिलिव्हरी प्रत्येक वेब सेशनसाठी फायर-अँड-फॉरगेट असतात. mode="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" असते. वेबहुक-मोड विजेट सेशनसाठी to_number रिक्त असते (सेशनचा एजंट नंबर कॉन्फिगरेशननंतर नियुक्त केला जातो); बिल्डर माइक चाचणी कॉलसाठी origin_domain आणि
publishable_key_prefix रिक्त असतात.
web.complete
telephony.complete चे वेब-चॅनेल समतुल्य, वेब विजेट कॉल्स (direction: "web") आणि बिल्डर माइक चाचणी कॉल्स
(direction: "test") समाविष्ट करते. अवरोधक नाही. telephony.complete प्रमाणेच पेलोड आकार, तसेच origin_domain, आणि from_number ला "web" सेट केलेले असते.
web.tool
telephony.tool चे वेब-चॅनेल समतुल्य. data मध्ये
from_number / to_number ऐवजी origin_domain असते.
व्हॉइस इव्हेंट्स
सानुकूल व्हॉइस निर्मिती असिंक्रोनस आहे. हे नॉन-ब्लॉकिंग इव्हेंट्स तुम्हाला पोलिंग करण्याऐवजी अंतिम निकालावर प्रतिक्रिया देऊ देतात क्लोन तपशील एंडपॉइंट.
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 | स्ट्रिंग | सानुकूल व्हॉइसचा सार्वजनिक id |
voice.name | स्ट्रिंग | custom:<public_id> स्वरूपातील एजंट व्हॉइस मूल्य |
voice.display_name | स्ट्रिंग | संस्थेसाठी दृश्यमान व्हॉइस नाव |
voice.language | स्ट्रिंग | क्लोनचा एकल भाषा कोड |
voice.gender | स्ट्रिंग | male, female किंवा रिक्त स्ट्रिंग |
voice.status | स्ट्रिंग | voice.ready साठी ready; voice.failed साठी failed |
voice.failure_reason | स्ट्रिंग | यशस्वी झाल्यास रिक्त; अयशस्वी झाल्यास प्रक्रिया अयशस्वी होण्याचा तपशील |
voice.created_at, voice.updated_at | टाइमस्टॅम्प | ISO 8601 टाइमस्टॅम्प्स |
reason | स्ट्रिंग | अयशस्वी होण्याचा तपशील; केवळ 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 | ग्रेड id |
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
test-call रन
अंतिम स्थितीवर पोहोचल्यावर पाठवले जाते — 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 | रनने लक्ष्य केलेला एजंट id किंवा फोन-नंबर id, 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
डेव्हलपर वेबहुक्सना वितरित करा चॅनेल सक्षम असलेला अलर्ट नियम त्याची मर्यादा ओलांडल्यावर पाठवला जातो. अवरोध न करणारा. नियम एकदाच ट्रिगर होतो आणि त्यानंतर त्याच्या कूलडाउनचा आदर करतो, त्यामुळे सततच्या उल्लंघनामुळे प्रत्येक कूलडाउन विंडोसाठी एक इव्हेंट तयार होतो.
{
"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 चॅनेल तयार करण्यासाठी अलर्ट्स मार्गदर्शक पहा.