ایونٹس کیٹلاگ
ہر webhook باڈی میں ایک type فیلڈ ہوتا ہے جس کی قدر اس صفحے پر موجود ایونٹ
اقسام میں سے ایک ہوتی ہے۔ جب آپ کسی
endpoint کو سبسکرائب کرتے ہیں، تو events array میں وہ
ایونٹ اقسام شامل ہونی چاہئیں جو آپ چاہتے ہیں (یا ہر چیز کو سبسکرائب کرنے کے لیے اسے خالی چھوڑ دیں)۔
یہ ایونٹس دو ڈیلیوری انداز میں پہنچائے جاتے ہیں:
- Endpoint ڈیلیوریز ہمیشہ دوبارہ کوششوں کے ساتھ نان بلاکنگ اطلاعات
ہوتی ہیں: کسی بھی 2xx کے ساتھ جواب دیں؛ envelope میں dedup کے لیے ایک
event_idہوتا ہے۔ - بلاکنگ ایکسچینجز صرف
legacy single-URL webhook پر چلتے ہیں:
telephony.incoming/web.incomingکنفیگریشن درخواست (webhook-mode نمبرز اور widget keys، 10 s timeout) اور webhook-mode tool dispatch۔ آپ کا جواب لائیو کال کی صورت متعین کرتا ہے۔
ذیل میں مثال payloads endpoint envelope کو اس کے wire order
(کلیدیں حروف تہجی کے لحاظ سے ترتیب دی گئی ہیں: 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
جب کوئی
ٹیسٹ کال رن
حتمی اسٹیٹس تک پہنچتا ہے — 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 چینلز بنانے کے لیے الرٹس گائیڈ دیکھیں۔
متعلقہ
بلاک کرنے والا آنے والی کال کا پے لوڈ جس کا جواب آپ کو دینا لازمی ہے۔
کال کے بعد کی ٹرانسکرپٹ اور میٹرکس۔
ان ایونٹس کے کسی ذیلی مجموعے کے لیے ایک URL کو سبسکرائب کریں۔
telephony.tool / web.tool ایونٹس کیسے بنائے جاتے ہیں۔