---
title: "Sündmuste kataloog"
description: "Kõik veebikonksu sündmusetüübid, mida ThunderPhone väljastab."
---

Iga webhooki keha sisaldab välja `type`, mille väärtus on üks sellel lehel
toodud sündmusetüüpidest. Kui tellid
[lõpp-punkti](/et/webhooks/endpoints), peab massiiv `events` sisaldama
soovitud sündmusetüüpe (või olema tühi, et tellida kõik sündmused —
välja arvatud voorupõhised sündmused [`telephony.turn`](#telephony-turn) /
[`web.turn`](#web-turn), mis saadetakse ainult lõpp-punktidele, kus
need on selgesõnaliselt nimetatud).

Neid sündmusi edastatakse kahes stiilis:

* **Lõpp-punkti edastused** on alati **mitteblokeerivad** teavitused
  koos [uuesti proovimistega](/et/webhooks/overview): vasta
  mis tahes 2xx-koodiga; ümbrik sisaldab duplikaatide eemaldamiseks `event_id`.
* **Blokeerivad** vahetused toimuvad ainult
  [pärandatud ühe URL-iga webhookis](/et/webhooks/overview): 
  [`telephony.incoming` / `web.incoming`](/et/webhooks/call-incoming)
  seadistustaotlus (webhooki režiimis numbrid ja vidina võtmed, 10 s
  ajalõpp) ning webhooki režiimis
  [tööriista väljakutse](/et/tools/overview). Sinu vastus
  kujundab aktiivset kõnet.

Allolevad näidiskoormad näitavad lõpp-punkti ümbrikku selle juhtmejärjekorras
(võtmed on sorditud tähestikuliselt: `data`, `event_id`, `type`); pärandedastused
sisaldavad sama `data` ilma väljata `event_id`.

## Kõnesündmused

### `telephony.incoming`

Saadetakse, kui sissetulev kõne jõuab ühele sinu
[telefoninumbrile](/api-reference/phone-numbers). Lõpp-punkti edastused on
vastust ootamata teavitused **iga** sissetuleva kõne kohta, olenemata
sellest, kas number on häälagendi või webhooki jaoks seadistatud. Määratud
häälagendita numbrid saavad lisaks pärandwebhooki kaudu **blokeeriva**
konfiguratsioonipäringu — täieliku päringu- ja vastuseskeemi leiad siit:
[`telephony.incoming` / `web.incoming`](/et/webhooks/call-incoming).

```json
{
  "data": {
    "call_id": 987654321,
    "from_number": "+14155550199",
    "to_number": "+15551234567"
  },
  "event_id": "3f6b2ad0-1c9e-4a57-9f2b-8f6f0f9d2f11",
  "type": "telephony.incoming"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

### `telephony.complete`

Saadetakse, kui sissetulev või väljaminev telefonikõne lõpeb. Mitteblokeeriv.
Sisaldab transkriptsiooni, salvestise URL-i, kui see on saadaval, ning arvelduse kokkuvõtet. Vaata
andmekoormuse skeemi siit:
[`telephony.complete` / `web.complete`](/et/webhooks/call-complete).

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

### `telephony.tool`

Saadetakse pärast seda, kui telefonikõne käivitab
[funktsioonitööriista](/et/tools/overview). Mitteblokeeriv auditeerimisteavitus —
tööriist on selle sündmuse edastamise ajaks juba käivitatud; see hõlmab
sinu enda funktsioonitööriistu, mitte sisseehitatud, teadmusbaasi,
rakenduseühenduse ega MCP tööriistu.

```json
{
  "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` on käivitatud tulemus: õnnestumise korral `{"status": <http status>,
"response": <your endpoint's JSON>}`, ebaõnnestumise korral
`{"status": <status>, "error": "<message>"}`.

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

### `telephony.turn`

Saadetakse telefonikõne **ajal** üks kord iga kõnet sisaldava vooru
kohta — häälagendi öeldud lõpetused ja helistaja transkribeeritud voorud.
Võimaldab jälgida reaalajas vestlust tavaliste webhookide kaudu, selle asemel
et küsitleda
[`GET /v1/calls/{call_id}/transcript`](/api-reference/calls#get-transcript).
Mitteblokeeriv.

<Note>
  **Nõutav on otsene tellimus.** Erinevalt kõigist teistest sündmustüüpidest
  ei edastata voorusündmusi kunagi tühja `events` massiivi kaudu
  (kõigi sündmuste tellimus). Lõpp-punkt saab need ainult siis, kui selle
  `events` loend sisaldab selgesõnaliselt väärtust `telephony.turn` / `web.turn`.
</Note>

```json
{
  "data": {
    "call_id": 987654321,
    "entry_type": "completion",
    "from_number": "+14155550199",
    "position": 7,
    "role": "assistant",
    "start_ms": 15200,
    "text": "How many employees does your company have?",
    "to_number": "+15551234567"
  },
  "event_id": "8d3f5a2c-7b1e-4c9a-b6d0-2e4f6a8c0d1e",
  "type": "telephony.turn"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `position` | integer | Vooru indeks kõneajaloos — stabiilne identifikaator järjestamiseks |
| `role` | string | `assistant` (häälagendi kõne) või `user` (helistaja kõne) |
| `text` | string | Vooru transkriptsioonitekst sellisena, nagu see oli väljastamise ajal teada |
| `entry_type` | string | Aluseks oleva ajalookirje tüüp: `completion` (häälagent) või `user_turn` / `span` (helistaja) |
| `start_ms`, `end_ms` | integer | Heli nihked millisekundites alates kõne algusest; olemas ainult siis, kui esituse ajastus oli väljastamise ajal juba teada |

<Note>
  Edastus toimub vähemalt üks kord ja voorud võivad saabuda **vales järjekorras**:
  deduplikeeri ümbrise `event_id` alusel ning järjestada `position` järgi. Helistaja
  transkriptsioone võidakse pärast väljastamist veel täpsustada; kõnejärgne
  [`telephony.complete`](/et/webhooks/call-complete) transkriptsioon on
  autoriteetne. Väljastatakse ainult öeldud voorud — tööriistakõned, sosinad ja
  muud sisemised kirjed ei ilmu selles voos kunagi.
</Note>

### `web.incoming`

`telephony.incoming` veebikanali vaste, mis saadetakse siis, kui
[veebividina](/et/widget/overview) seanss või koosturi mikrofonitestkõne
algab. Lõpp-punkti edastused on vastust ootamata teavitused iga veebiseansi kohta.
Režiimis `mode="webhook"` olevad avaldatavad võtmed saavad lisaks
pärandwebhooki kaudu **blokeeriva** konfiguratsioonipäringu — selle
blokeeriva päringu kuju on erinev (`origin_domain`,
`publishable_key_prefix`; telefoninumbrid puuduvad). Vaata
[`telephony.incoming` / `web.incoming`](/et/webhooks/call-incoming).

```json
{
  "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` on alati sõneliteral `"web"`. Webhooki režiimis veebividina
seansside puhul on `to_number` tühi (seansi häälagendi number määratakse
pärast konfigureerimist); koosturi mikrofonitestkõnede puhul on `origin_domain` ja
`publishable_key_prefix` tühjad.

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

### `web.complete`

`telephony.complete` veebikanali vaste, mis hõlmab veebividina kõnesid
(`direction: "web"`) ja koosturi mikrofonitestkõnesid
(`direction: "test"`). Mitteblokeeriv. Andmekoormuse struktuur on sama mis
[`telephony.complete`](/et/webhooks/call-complete) puhul, lisaks on olemas `origin_domain`
ning `from_number` väärtuseks on `"web"`.

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

<Note>
  Pärandse ühe URL-iga webhooki puhul esitatakse koosturi mikrofonitestkõnesid
  ajalooliselt kui `telephony.complete` — seal kasutavad tüüpi `web.complete`
  ainult `direction: "web"` kõned. Lõpp-punktide süsteem vastendab nii veeb-
  kui ka testkõned väärtusele `web.*`. Ajaloolised andmekoormused võivad
  sisaldada pärandväärtusi `widget` või `mic` väljal `direction`.
</Note>

### `web.tool`

`telephony.tool` veebikanali vaste. `data` sisaldab välja
`from_number` / `to_number` asemel välja `origin_domain`.

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

### `web.turn`

[`telephony.turn`](#telephony-turn) veebikanali vaste, mis hõlmab veebividina
kõnesid ja koosturi mikrofonitestkõnesid. Andmekoormuse struktuur on sama,
kuid `from_number` / `to_number` asemel kasutatakse välja `origin_domain`.
Nagu `telephony.turn`, nõuab see **otsest tellimust** — seda ei edastata
kunagi tühja `events` massiivi kaudu.

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |

---

## Häälsündmused

Kohandatud hääle loomine on asünkroonne. Need mitteblokeerivad sündmused võimaldavad sul
reageerida lõpptulemusele, selle asemel et küsitleda
[klooni üksikasjade lõpp-punkti](/api-reference/custom-voices#list-and-retrieve-clones).

`voice.ready` ja `voice.failed` saadetakse ainult organisatsiooniülesele
lõpp-punktile, millel on `events: []`. Neid ei saa valida otseste sündmusefiltritena.

### `voice.ready`

Saadetakse, kui kohandatud hääl lõpetab töötlemise ja selle saab määrata
agendile.

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

Saadetakse, kui kohandatud hääle töötlemine lõpeb püsiva tõrkega.

```json
{
  "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"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `voice.id` | string | Kohandatud hääle avalik ID |
| `voice.name` | string | Agendi hääle väärtus vormingus `custom:<public_id>` |
| `voice.display_name` | string | Organisatsioonile nähtav hääle nimi |
| `voice.language` | string | Klooni ühekordne keelekood |
| `voice.gender` | string | `male`, `female` või tühi string |
| `voice.status` | string | `ready` väärtuse `voice.ready` jaoks; `failed` väärtuse `voice.failed` jaoks |
| `voice.failure_reason` | string | Edu korral tühi; tõrke korral töötlemistõrke üksikasjad |
| `voice.created_at`, `voice.updated_at` | timestamp | ISO 8601 ajatemplid |
| `reason` | string | Tõrke üksikasjad; olemas ainult sündmuse `voice.failed` korral |

---

## Kvaliteedisündmused

### `call.graded`

Saadetakse iga kord, kui kõne [AI-hindamise käitamine](/api-reference/calls#ai-call-grading)
lõpeb. Ei blokeeri.

```json
{
  "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"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `grade.id` | integer | Hinde ID |
| `grade.score` | integer \| null | 0–100 |
| `grade.call_outcome` | string | `success`, `failure`, `unknown` või `no_conversation` |
| `grade.summary` | string | Ühe lõigu pikkune kokkuvõte |
| `grade.detected_issues` | array | Hindaja tuvastatud probleemide stringid |
| `grade.status` | string | Alati `completed` — sündmuse saadavad ainult lõpetatud käitamised |
| `grade.grader_model` | string | Milline hindaja tulemuse koostas (nt `heuristic-v1`) |
| `grade.graded_at`, `grade.created_at` | timestamp | |

<Note>
  Kõnet saab hinnata rohkem kui üks kord — kiirele heuristilisele hindamisele
  järgneb sageli täismudeli hindamine, kui salvestis on saadaval, ning võimalikud
  on ka käsitsi kordushindamised. Iga lõpetatud käitamine saadab oma
  `call.graded` sündmuse; käsitle uusimat väärtust `graded_at` autoriteetsena.
</Note>

### `call.data_extracted`

Saadetakse iga kord, kui struktureeritud andmete eraldamine lõpeb edukalt, sealhulgas
hilise korduskatse järel pärast `telephony.complete` / `web.complete` või käsitsi
uuesti käivitamisel läbi
[`POST /v1/calls/{call_id}/extract`](/api-reference/calls#run-data-extraction).
Ei blokeeri.

Blokeerivas eraldusrežiimis ootab lõpetamissündmus tavaliselt kuni
75-sekundilist eraldamise ajavahemikku. Kui eraldustöötlusprotsess kaob,
väljastab tootmiskeskkonna lõpetamise tühjendusprotsess (iga viie minuti järel)
lõpetamise, mille `blocking_deadline_at` on möödunud, enne kui alustab uut
eralduskatset. Hilisem õnnestumine saadetakse eraldi selle sündmusena.

<Warning>
  Eraldatud väärtused on mudeli tõlgendus vestlusest. Iga väärtus, mis ei ole
  null, sisaldab tsitaati, kõneleja rolli ja vestlusvooru indeksit, millel see
  põhines, ning käitamise tasemel kinnitustähist. Kontrolli tulemust enne raha,
  identiteeti või juurdepääsu puudutavate otsuste tegemist.
</Warning>

```json
{
  "data": {
    "call_id": 987654321,
    "agent_id": 12,
    "agent_name": "Acme intake",
    "extracted_data": {
      "status": "completed",
      "fields": {
        "customer_name": "Alex Morgan",
        "appointment_date": "2026-04-23"
      },
      "evidence": {
        "customer_name": {
          "quote": "My name is Alex Morgan",
          "speaker_role": "caller",
          "turn_index": 4
        },
        "appointment_date": {
          "quote": "April 23 works for me",
          "speaker_role": "caller",
          "turn_index": 7
        }
      },
      "verification": "verified",
      "field_reasons": {},
      "schema_version": "92850758e231a3c95a..."
    },
    "extracted_at": "2026-04-20T18:25:11.002Z",
    "model": "gemini-2.5-flash"
  },
  "event_id": "4d79ef1d-c2b1-4ed6-85b8-8326bd2895ef",
  "type": "call.data_extracted"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `extracted_data.status` | string | Selle sündmuse korral alati `completed` |
| `extracted_data.fields` | object | Konfigureeritud eraldusväljade võtmetega väärtused; kättesaamatud väärtused on `null` |
| `extracted_data.evidence` | object | Eraldusvälja järgi võtmega tõendid. Nullist erineval väärtusel on täpne struktuurselt kontrollitud tsitaat (kuni 1,000 märki), `speaker_role` (`caller` või `agent`) ja `turn_index`; mudeli tagastatud pikemad tsitaadid lükatakse kärpimise asemel tagasi ning tõend on `null` alati, kui selle väli on `null` |
| `extracted_data.verification` | string | `verified` ainult siis, kui sõltumatu tõendite kontroll tagastas iga kandidaadvälja kohta täpselt ühe kehtiva otsuse. `unavailable` tähendab, et kontroll ebaõnnestus, aegus, sellel polnud piisavalt ressurssi või see tagastas vigase või osalise väljundi. Täielikult kättesaamatu kontroll säilitab kliendi ülevaatuseks struktuurselt põhjendatud väärtused. Osalise väljundi korral rakendatakse kehtivaid otsuseid ja iga kandidaat, mille kohta pole täpselt üht kehtivat otsust, muudetakse nulliks |
| `extracted_data.field_reasons` | object | Põhjused, võtmega väljade järgi, mille struktuurne põhjendamine või sõltumatu kontrollija nulliks muutis |
| `extracted_data.schema_version` | string | Selle eraldamise jaoks kasutatud täpse väljaskeemi räsi |
| `extracted_at` | timestamp | ISO 8601 lõpetamise aeg |
| `model` | string | Eraldamiseks kasutatud mudel |

### `campaign.completed`

Saadetakse üks kord, kui kampaania liigub olekust `running` olekusse `completed`,
olenemata sellest, kas selle ajakava lõppes või kõik kontaktid jõudsid lõppolekusse.
Käivitaja korduskatsed ei saada uut sündmust. See organisatsioonitasandi
elutsüklisündmus saadetakse ainult organisatsioonipõhistele lõpp-punktidele, mitte
häälagendipõhistele lõpp-punktidele. Ei blokeeri.

```json
{
  "data": {
    "campaign_id": "3f6b2c9e-2a0d-4c63-b6d6-a708dc98f403",
    "name": "May win-back",
    "agent_id": 12,
    "status": "completed",
    "started_at": "2026-04-20T17:00:00Z",
    "completed_at": "2026-04-20T18:25:11Z",
    "counts": {
      "contacts_total": 150,
      "completed": 121,
      "failed": 11,
      "no_answer": 18,
      "remaining": 0
    }
  },
  "event_id": "8d8f52ce-6b46-423f-9dde-cea0b91ec135",
  "type": "campaign.completed"
}
```

Neli tulemuste arvu ei kattu ja nende summa on `contacts_total`:
`completed` sisaldab edukaid kontakte; `no_answer` sisaldab lõppolekusse jõudnud
ebaõnnestunud või katsetega ammendatud kontakte, mille lõpptulemuseks oli vastuse
puudumine; `failed` sisaldab kõiki muid lõppolekusse jõudnud ebaõnnestunud või
katsetega ammendatud kontakte; ning `remaining` sisaldab ootel, ajastatud või
praegu helistatavaid kontakte. Korduskatset ootav kontakt on `remaining`, isegi
kui selle viimane katse jäi vastuseta. Käimasolevad kõned kooskõlastatakse enne
ühekordset lõpetamise hetkeseisu. `started_at` on kampaania konfigureeritud
algusaeg või kampaania loomise aeg, kui algusaega ei konfigureeritud.

### `issue.reported`

Saadetakse, kui luuakse [probleemiaruanne](/api-reference/issue-reports) —
kas kasutaja esitab selle töölaualt (`source: "user"`) või see luuakse
automaatselt kõne hindamise käigus (`source: "system"`). Ei blokeeri.

```json
{
  "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"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud häälagent, kui see oli määratud |
| `issue_report.severity` | string | `critical`, `warning` või `info` |
| `issue_report.status` | string | `open` või `resolved` |
| `issue_report.source` | string | `user` (esitatud töölaualt) või `system` (loodud hindamise käigus) |

<Note>
  Kõne kordushindamine koostab selle süsteemi loodud probleemiaruanded uuesti,
  mis saadab uuesti sündmuse `issue.reported` taasloodud aruannete kohta.
  Kui soovid iga aluseks oleva probleemi kohta ainult üht teavitust, eemalda
  duplikaadid väärtuste `call_id` + `title` järgi.
</Note>

### `issue.escalated`

Saadetakse, kui probleemimuster saadetakse ThunderPhone'ile töötajate
ülevaatuseks: pärast **Teavita ThunderPhone'i** kasutamist või kui Paranda
tehisintellektiga ei suuda kliendipoolset parandust kinnitada ja suunab probleemi
automaatselt edasi. Selle sündmuse saavad ainult organisatsiooniülesed lõpp-punktid.

```json
{
  "data": {
    "automatic": false,
    "cluster_id": "7ac2844c-2df0-4fa8-a560-7378da649e19",
    "escalation_id": "ec99f52b-c8c0-41dd-a4f2-dd8a07b10894",
    "status": "open"
  },
  "event_id": "d8f8f420-7a42-45ba-bcf1-b747f9bbecda",
  "type": "issue.escalated"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `automatic` | boolean | `true` automaatse eskaleerimise korral; `false` käsitsi eskaleerimise korral |
| `cluster_id` | UUID | Eskaleeritud probleemimuster |
| `escalation_id` | UUID | Eskaleerimiskirje |
| `status` | string | Sündmuse saatmisel `open` |

See on teavitus, mitte tõendite kogum. Kasuta `cluster_id`, et siduda see
probleemimustriga. Vaata [Teavita ThunderPhone'i](/et/guides/issues).

---

## Testkõne sündmused

### `test-call.completed`

Saadetakse, kui
[testkõne käitamine](/api-reference/test-calls#test-call-run-object)
jõuab lõppolekusse — `completed` või `failed`, sealhulgas käitamised,
mis ebaõnnestusid käivitamisel ega loonud kunagi kõnet. Mitteblokeeriv. Kasulik
partii-CI käitamiste ühendamiseks sinu vestlus- ja teavitussüsteemidega.

```json
{
  "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"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `agent_id` | integer \| null | Kõnet käsitlenud agent, kui see oli määratud |
| `agent_name` | string \| null | Kõnet käsitlenud agent, kui see oli määratud |
| `test_call_run.target_type` | string | `agent` või `phone_number` |
| `test_call_run.target_id` | integer | Agendi ID või telefoninumbri ID, millele käitamine oli suunatud, vastavalt väärtusele `target_type` |
| `test_call_run.status` | string | `completed` või `failed` |
| `test_call_run.call_id` | integer \| null | `null`, kui käitamine ebaõnnestus enne kõne algatamist |
| `test_call_run.error_message` | string | Eduka tulemuse korral tühi |

---

## Hoiatuse sündmused

### `alert.triggered`

Saadetakse, kui [hoiatusreegel](/et/guides/alerts), mille kanal
**Edasta arendaja veebikonksudele** on lubatud, ületab oma lävendi.
Mitteblokeeriv. Reegel käivitub ühe korra ja järgib seejärel oma
jahtumisperioodi, seega tekitab püsiv rikkumine ühe sündmuse iga
jahtumisperioodi akna kohta.

```json
{
  "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"
}
```

| Väli | Tüüp | Kirjeldus |
|-------|------|-------------|
| `event_id` (asukohas `data`) | UUID | Hoiatuse **käivituse** ID — erineb ümbrise edastuse `event_id`-st |
| `rule_id`, `rule_name` | UUID, string | Käivitunud reegel |
| `metric` | string | `success_rate`, `failure_rate`, `avg_score`, `call_volume` või `suite_regression` |
| `comparator` | string | `lt`, `lte`, `gt` või `gte` |
| `metric_value` | number | Mõõdiku väärtus akna jooksul, mil reegel käivitus |
| `threshold` | number | Seadistatud lävend |
| `window_hours` | integer | Jooksev hindamisaken |
| `fired_at` | timestamp | |

Reeglite, mõõdikute, jahtumisperioodide ning e-posti- ja Slacki kanalite
loomise kohta vaata [hoiatuste juhendit](/et/guides/alerts).

---

## Seotud

<CardGroup cols={2}>
  <Card title="telephony.incoming / web.incoming" icon="phone" href="/et/webhooks/call-incoming">
    Blokeeriv sissetuleva kõne andmepakett, millele pead vastama.
  </Card>
  <Card title="telephony.complete / web.complete" icon="phone-slash" href="/et/webhooks/call-complete">
    Kõnejärgne transkript ja mõõdikud.
  </Card>
  <Card title="Veebikonksu lõpp-punktid" icon="bolt" href="/et/webhooks/endpoints">
    Telli URL nende sündmuste alamhulgale.
  </Card>
  <Card title="Funktsioonitööriistad" icon="screwdriver-wrench" href="/et/tools/overview">
    Kuidas genereeritakse sündmusi `telephony.tool` / `web.tool`.
  </Card>
</CardGroup>
