Katalog događaja

Свако тело вебхука има поље type чија је вредност један од типова догађаја на овој страници. Када се претплатите на крајњу тачку, низ events мора да садржи типове догађаја које желите (или да буде празан да бисте се претплатили на све).

Ови догађаји се испоручују на два начина:

Примери терета у наставку приказују омотач крајње тачке у редоследу на мрежи (кључеви су сортирани по абецеди: data, event_id, type); застареле испоруке носе исти data без event_id.

Догађаји позива

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 садржи 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нискаЈавни ИД прилагођеног гласа
voice.nameнискаВредност гласа агента у облику custom:<public_id>
voice.display_nameнискаНазив гласа видљив организацији
voice.languageнискаКод јединог језика клона
voice.genderнискаmale, female или празна ниска
voice.statusнискаready за voice.ready; failed за voice.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цео бројИдентификатор оцене
grade.scoreцео број | null0–100
grade.call_outcomeнискаsuccess, failure, unknown или no_conversation
grade.summaryнискаРезиме у једном пасусу
grade.detected_issuesнизНиске проблема које је пронашао оцењивач
grade.statusнискаУвек completed — емитују се само завршена покретања
grade.grader_modelнискаКоји је оцењивач произвео резултат (нпр. heuristic-v1)
grade.graded_at, grade.created_atвременска ознака

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нискаcritical, warning или info
issue_report.statusнискаopen или resolved
issue_report.sourceниска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нискаagent или phone_number
test_call_run.target_idцео бројИдентификатор агента или телефонског броја који је покретање циљало, у складу са target_type
test_call_run.statusнискаcompleted или failed
test_call_run.call_idцео број | nullnull када покретање не успе пре упућивања позива
test_call_run.error_messageнискаПразно при успеху

Догађаји упозорења

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_iddata)UUIDИД активирања упозорења — разликује се од ИД-а испоруке event_id у коверти
rule_id, rule_nameUUID, нискаПравило које се активирало
metricнискаsuccess_rate, failure_rate, avg_score, call_volume или suite_regression
comparatorнискаlt, lte, gt или gte
metric_valueбројВредност метрике током прозора када се правило активирало
thresholdбројКонфигурисани праг
window_hoursцео бројКлизни прозор процене
fired_atвременска ознака

Погледајте водич за упозорења за креирање правила, метрике, периоде хлађења и канале е-поште / Slack-а.


Повезано