Katalog dogodkov

Vsako telo webhooka ima polje type, katerega vrednost je ena od vrst dogodkov na tej strani. Ko se naročite na končno točko, mora polje events vsebovati želene vrste dogodkov (ali pa biti prazno, če se želite naročiti na vse).

Te dogodke prenašata dva načina dostave:

Spodnji primeri koristnega tovora prikazujejo ovojnico končne točke v vrstnem redu prenosa (ključi so razvrščeni po abecedi: data, event_id, type); starejše dostave vsebujejo enak data brez event_id.

Dogodki klicev

telephony.incoming

Poslano, ko dohodni klic doseže eno od vaših telefonskih številk. Dostave na končne točke so obvestila brez čakanja na odgovor, poslana za vsak dohodni klic, ne glede na to, ali je številka konfigurirana za agenta ali za webhook. Številke brez dodeljenega agenta dodatno prejmejo blokirajočo zahtevo za konfiguracijo na podedovanem webhooku — za celotno shemo zahteve / odgovora glejte 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

Poslano, ko se dohodni ali odhodni telefonski klic konča. Ne blokira. Vključuje prepis, URL posnetka, kadar je na voljo, in povzetek obračuna. Za shemo koristnega tovora glejte telephony.complete / web.complete.

telephony.tool

Poslano, potem ko telefonski klic prikliče orodje funkcije. Ne blokira in služi kot obvestilo za revizijo — orodje je ob dostavi tega dogodka že izvedeno; zajema vaša lastna orodja funkcij (ne vgrajenih orodij, orodij zbirke znanja, povezav aplikacij ali orodij 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 je rezultat izvedbe: {"status": <http status>, "response": <your endpoint's JSON>} ob uspehu oziroma {"status": <status>, "error": "<message>"} ob neuspehu.

web.incoming

Ekvivalent telephony.incoming za spletni kanal, poslan ob začetku seje spletnega gradnika ali preizkusnega klica mikrofona v gradniku. Dostave na končne točke so obvestila brez čakanja na odgovor za vsako spletno sejo. Javni ključi v mode="webhook" dodatno prejmejo blokirajočo zahtevo za konfiguracijo na podedovanem webhooku — ta blokirajoča zahteva ima drugačno strukturo (origin_domain, publishable_key_prefix; brez telefonskih številk). Glejte 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 je vedno dobesedna vrednost "web". Pri sejah gradnika v načinu webhook je to_number prazen (številka agenta za sejo je dodeljena po konfiguraciji); pri preizkusnih klicih mikrofona v gradniku sta origin_domain in publishable_key_prefix prazna.

web.complete

Ekvivalent telephony.complete za spletni kanal, ki zajema klice spletnega gradnika (direction: "web") in preizkusne klice mikrofona v gradniku (direction: "test"). Ne blokira. Enaka struktura koristnega tovora kot pri telephony.complete, dodatno z origin_domain, pri čemer je from_number nastavljen na "web".

web.tool

Ekvivalent telephony.tool za spletni kanal. data vsebuje origin_domain namesto from_number / to_number.


Glasovni dogodki

Ustvarjanje glasov po meri je asinhrono. Ti neblokirni dogodki vam omogočajo, da se odzovete na končni rezultat, namesto da preverjate končno točko s podrobnostmi klona.

voice.ready

Poslano, ko glas po meri zaključi obdelavo in ga je mogoče dodeliti agentu.

{
  "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

Poslano, ko obdelava glasu po meri doseže trajno napako.

{
  "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"
}
PoljeVrstaOpis
voice.idnizJavni ID glasu po meri
voice.namenizVrednost glasu agenta v obliki custom:<public_id>
voice.display_namenizIme glasu, vidno organizaciji
voice.languagenizEnotna jezikovna koda klona
voice.gendernizmale, female ali prazen niz
voice.statusnizready za voice.ready; failed za voice.failed
voice.failure_reasonnizOb uspehu prazno; ob napaki podrobnost o napaki obdelave
voice.created_at, voice.updated_atčasovni žigČasovni žigi ISO 8601
reasonnizPodrobnost o napaki; prisotno samo pri voice.failed

Dogodki kakovosti

call.graded

Pošlje se, ko se za klic zaključi ocenjevanje z umetno inteligenco. Ne blokira izvajanja.

{
  "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"
}
PoljeVrstaOpis
grade.idintegerID ocene
grade.scoreinteger | null0–100
grade.call_outcomestringsuccess, failure, unknown ali no_conversation
grade.summarystringPovzetek v enem odstavku
grade.detected_issuesarrayNizi težav, ki jih je zaznal ocenjevalnik
grade.statusstringVedno completed — pošljejo se samo zaključeni zagoni
grade.grader_modelstringOcenjevalnik, ki je ustvaril rezultat (npr. heuristic-v1)
grade.graded_at, grade.created_attimestamp

issue.reported

Pošlje se, ko je ustvarjeno poročilo o težavi — bodisi ga uporabnik odda z nadzorne plošče (source: "user") bodisi ga samodejno ustvari ocenjevanje klica (source: "system"). Ne blokira izvajanja.

{
  "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"
}
PoljeVrstaOpis
issue_report.severitystringcritical, warning ali info
issue_report.statusstringopen ali resolved
issue_report.sourcestringuser (oddano z nadzorne plošče) ali system (ustvarjeno z ocenjevanjem)

Dogodki testnih klicev

test-call.completed

Pošlje se, ko zagon testnega klica doseže končno stanje — completed ali failed, vključno z zagoni, ki so spodleteli ob zagonu in niso nikoli ustvarili klica. Ne blokira izvajanja. Uporabno za povezovanje paketnih zagonov CI z vašimi sistemi za klepet in obvestila.

{
  "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"
}
PoljeVrstaOpis
test_call_run.target_typestringagent ali phone_number
test_call_run.target_idintegerID agenta ali telefonske številke, na katerega je bil zagon usmerjen, skladno z target_type
test_call_run.statusstringcompleted ali failed
test_call_run.call_idinteger | nullnull, kadar je zagon spodletel, preden je bil vzpostavljen klic
test_call_run.error_messagestringOb uspehu prazno

Dogodki opozoril

alert.triggered

Pošlje se, ko pravilo opozorila z omogočenim kanalom Pošlji v webhooke za razvijalce preseže svoj prag. Ne blokira. Pravilo se sproži enkrat in nato upošteva obdobje ohlajanja, zato trajna kršitev ustvari en dogodek na obdobje ohlajanja.

{
  "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"
}
PoljeVrstaOpis
event_id (v data)UUIDID sprožitve opozorila — razlikuje se od dostavnega event_id ovojnice
rule_id, rule_nameUUID, nizPravilo, ki se je sprožilo
metricnizsuccess_rate, failure_rate, avg_score, call_volume ali suite_regression
comparatornizlt, lte, gt ali gte
metric_valuešteviloVrednost metrike v obdobju, ko se je pravilo sprožilo
thresholdšteviloKonfigurirani prag
window_hourscelo številoDrseče obdobje vrednotenja
fired_atčasovni žig

Za ustvarjanje pravil, metrike, obdobja ohlajanja ter e-poštne kanale in kanale Slack glejte vodnik za opozorila.


Povezano