> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Olay Kataloğu

> ThunderPhone'un gönderdiği tüm webhook olay türleri.

Her webhook gövdesi, değeri bu sayfadaki etkinlik türlerinden biri olan bir `type` alanı içerir. Bir [uç noktaya](/tr/webhooks/endpoints) abone olduğunuzda, `events` dizisi istediğiniz etkinlik türlerini içermelidir (veya her şeye abone olmak için boş bırakılmalıdır).

Bu etkinlikler iki teslimat biçimiyle iletilir:

* **Uç nokta teslimatları**, [yeniden denemeler](/tr/webhooks/overview) içeren, her zaman **engellemesiz** bildirimlerdir: herhangi bir 2xx ile yanıt verin; zarf, yinelenenleri kaldırmak için kullanılacak bir `event_id` içerir.
* **Engelleyici** alışverişler yalnızca [eski tek URL'li webhook](/tr/webhooks/overview) üzerinde çalışır: [`telephony.incoming` / `web.incoming`](/tr/webhooks/call-incoming) yapılandırma isteği (webhook modundaki numaralar ve widget anahtarları, 10 sn zaman aşımı) ve webhook modundaki [araç yönlendirmesi](/tr/tools/overview). Yanıtınız canlı çağrıyı şekillendirir.

Aşağıdaki örnek yükler, kablo sırasındaki uç nokta zarfını gösterir (anahtarlar alfabetik olarak sıralanmıştır: `data`, `event_id`, `type`); eski teslimatlar, `event_id` olmadan aynı `data` değerini taşır.

## Arama olayları

### `telephony.incoming`

Gelen bir arama [telefon numaralarınızdan](/api-reference/phone-numbers) birine
ulaştığında gönderilir. Uç nokta teslimatları, numaranın ajana mı yoksa webhook'a mı
yapılandırıldığına bakılmaksızın **her** gelen arama için gönderilen,
tetikleyip beklemeyen bildirimlerdir. Atanmış bir ajanı olmayan numaralar,
ayrıca eski webhook üzerinde **engelleyici** yapılandırma isteğini alır —
tam istek / yanıt şeması için
[`telephony.incoming` / `web.incoming`](/tr/webhooks/call-incoming)
bölümüne bakın.

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

### `telephony.complete`

Gelen veya giden bir telefon araması sona erdiğinde gönderilir. Engelleyici değildir.
Tam transkripti, kayıt URL'sini ve faturalama özetini içerir. Yük şeması için
[`telephony.complete` / `web.complete`](/tr/webhooks/call-complete)
bölümüne bakın.

### `telephony.tool`

Bir telefon araması bir [işlev aracını](/tr/tools/overview) çağırdıktan sonra
gönderilir. Engelleyici olmayan denetim bildirimi — bu olay teslim edildiğinde
araç zaten yürütülmüştür; kendi işlev araçlarınızı kapsar (yerleşik,
bilgi tabanı, uygulama bağlantısı veya MCP araçlarını kapsamaz).

```json theme={null}
{
  "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`, yürütülen sonuçtur: başarı durumunda `{"status": <http status>,
"response": <your endpoint's JSON>}`, hata durumunda ise
`{"status": <status>, "error": "<message>"}`.

### `web.incoming`

`telephony.incoming` olayının web kanalı eşdeğeridir; bir
[web bileşeni](/tr/widget/overview) oturumu veya oluşturucu mikrofon test araması
başladığında gönderilir. Uç nokta teslimatları, her web oturumu için
tetikleyip beklemeyen bildirimlerdir. `mode="webhook"` içindeki yayımlanabilir
anahtarlar ayrıca eski webhook üzerinde **engelleyici** yapılandırma isteğini
alır — bu engelleyici isteğin yapısı farklıdır (`origin_domain`,
`publishable_key_prefix`; telefon numarası yoktur). Bkz.
[`telephony.incoming` / `web.incoming`](/tr/webhooks/call-incoming).

```json theme={null}
{
  "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` her zaman `"web"` sabit değeridir. Webhook modundaki bileşen
oturumlarında `to_number` boştur (oturumun ajan numarası yapılandırmadan sonra
atanır); oluşturucu mikrofon test aramalarında ise `origin_domain` ve
`publishable_key_prefix` boştur.

### `web.complete`

`telephony.complete` olayının web kanalı eşdeğeridir; web bileşeni aramalarını
(`direction: "web"`) ve oluşturucu mikrofon test aramalarını
(`direction: "test"`) kapsar. Engelleyici değildir. Yük yapısı
[`telephony.complete`](/tr/webhooks/call-complete) ile aynıdır; ayrıca
`origin_domain` içerir ve `from_number` değeri `"web"` olarak ayarlanır.

<Note>
  Eski tek URL'li webhook'ta, oluşturucu mikrofon test aramaları geçmişte
  `telephony.complete` olarak bildirilir — burada yalnızca `direction:
      "web"` aramaları `web.complete` türünü kullanır. Uç nokta sistemi hem web
  hem de test aramalarını `web.*` ile eşler. Geçmiş yükler, eski
  `direction` değerleri olan `widget` veya `mic` içerebilir.
</Note>

### `web.tool`

`telephony.tool` olayının web kanalı eşdeğeridir. `data`, `from_number` /
`to_number` yerine `origin_domain` taşır.

***

## Kalite etkinlikleri

### `call.graded`

Bir çağrı için [AI derecelendirme çalıştırması](/api-reference/calls#ai-call-grading)
tamamlandığında gönderilir. Engelleyici değildir.

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

| Alan                                  | Tür             | Açıklama                                                             |
| ------------------------------------- | --------------- | -------------------------------------------------------------------- |
| `grade.id`                            | integer         | Derecelendirme kimliği                                               |
| `grade.score`                         | integer \| null | 0–100                                                                |
| `grade.call_outcome`                  | string          | `success`, `failure`, `unknown` veya `no_conversation`               |
| `grade.summary`                       | string          | Tek paragraflık özet                                                 |
| `grade.detected_issues`               | array           | Derecelendirici tarafından bulunan sorun dizeleri                    |
| `grade.status`                        | string          | Her zaman `completed` — yalnızca tamamlanan çalıştırmalar gönderilir |
| `grade.grader_model`                  | string          | Sonucu üreten derecelendirici (ör. `heuristic-v1`)                   |
| `grade.graded_at`, `grade.created_at` | timestamp       |                                                                      |

<Note>
  Bir çağrı birden fazla kez derecelendirilebilir — hızlı bir buluşsal derecelendirmenin
  ardından kayıt kullanılabilir olduğunda genellikle tam model derecelendirmesi yapılır
  ve manuel yeniden derecelendirme de mümkündür. Tamamlanan her çalıştırma kendi
  `call.graded` etkinliğini gönderir; en son `graded_at` değerini
  esas alın.
</Note>

### `issue.reported`

Bir [sorun raporu](/api-reference/issue-reports) oluşturulduğunda gönderilir —
rapor ya kontrol panelinden bir kullanıcı tarafından bildirilir (`source: "user"`)
ya da çağrı derecelendirmesi tarafından otomatik olarak oluşturulur (`source: "system"`). Engelleyici değildir.

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

| Alan                    | Tür    | Açıklama                                                                                     |
| ----------------------- | ------ | -------------------------------------------------------------------------------------------- |
| `issue_report.severity` | string | `critical`, `warning` veya `info`                                                            |
| `issue_report.status`   | string | `open` veya `resolved`                                                                       |
| `issue_report.source`   | string | `user` (kontrol panelinden bildirildi) veya `system` (derecelendirme tarafından oluşturuldu) |

<Note>
  Bir çağrıyı yeniden derecelendirmek, sistem tarafından oluşturulan sorun raporlarını yeniden
  oluşturur; bu işlem, yeniden oluşturulan raporlar için `issue.reported` etkinliğini
  tekrar gönderir. Her temel sorun için yalnızca bir bildirim istiyorsanız
  `call_id` + `title` üzerinde tekilleştirme yapın.
</Note>

***

## Test çağrısı etkinlikleri

### `test-call.completed`

Bir
[test çağrısı çalıştırması](/api-reference/test-calls#test-call-run-object)
son duruma ulaştığında gönderilir — `completed` veya `failed`; buna,
başlatma sırasında başarısız olan ve hiçbir çağrı oluşturmayan çalıştırmalar da dahildir. Engelleyici değildir.
Toplu CI çalıştırmalarını sohbet/bildirim sistemlerinize bağlamak için kullanışlıdır.

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

| Alan                          | Tür             | Açıklama                                                                                        |
| ----------------------------- | --------------- | ----------------------------------------------------------------------------------------------- |
| `test_call_run.target_type`   | string          | `agent` veya `phone_number`                                                                     |
| `test_call_run.target_id`     | integer         | `target_type` ile eşleşen, çalıştırmanın hedeflediği ajan kimliği veya telefon numarası kimliği |
| `test_call_run.status`        | string          | `completed` veya `failed`                                                                       |
| `test_call_run.call_id`       | integer \| null | Çalıştırma çağrı yapılmadan önce başarısız olduysa `null`                                       |
| `test_call_run.error_message` | string          | Başarılı olduğunda boş                                                                          |

***

## Uyarı etkinlikleri

### `alert.triggered`

**Geliştirici webhook'larına teslim et** kanalı etkin olan bir [uyarı kuralı](/tr/guides/alerts)
eşiğini aştığında gönderilir.
Engellemez. Bir kural bir kez tetiklenir ve ardından bekleme süresine uyar; bu nedenle
süregelen bir ihlal, her bekleme süresi penceresi için bir etkinlik üretir.

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

| Alan                       | Tür           | Açıklama                                                                           |
| -------------------------- | ------------- | ---------------------------------------------------------------------------------- |
| `event_id` (`data` içinde) | UUID          | Uyarı **tetiklenme** kimliği — zarfın teslimat `event_id` değerinden farklıdır     |
| `rule_id`, `rule_name`     | UUID, dize    | Tetiklenen kural                                                                   |
| `metric`                   | dize          | `success_rate`, `failure_rate`, `avg_score`, `call_volume` veya `suite_regression` |
| `comparator`               | dize          | `lt`, `lte`, `gt` veya `gte`                                                       |
| `metric_value`             | sayı          | Kural tetiklendiğinde metrik değerinin pencere üzerindeki değeri                   |
| `threshold`                | sayı          | Yapılandırılmış eşik                                                               |
| `window_hours`             | tamsayı       | Geriye dönük değerlendirme penceresi                                               |
| `fired_at`                 | zaman damgası |                                                                                    |

Kurallar, metrikler, bekleme süreleri ve e-posta / Slack kanalları oluşturmak için
[Uyarılar kılavuzuna](/tr/guides/alerts) bakın.

***

## İlgili

<CardGroup cols={2}>
  <Card title="telephony.incoming / web.incoming" icon="phone" href="/tr/webhooks/call-incoming">
    Yanıtlamanız gereken engelleyici gelen arama yükü.
  </Card>

  <Card title="telephony.complete / web.complete" icon="phone-slash" href="/tr/webhooks/call-complete">
    Arama sonrası transkript ve metrikler.
  </Card>

  <Card title="Webhook uç noktaları" icon="bolt" href="/tr/webhooks/endpoints">
    Bir URL'yi bu etkinliklerin bir alt kümesine abone edin.
  </Card>

  <Card title="Fonksiyon Araçları" icon="screwdriver-wrench" href="/tr/tools/overview">
    `telephony.tool` / `web.tool` etkinliklerinin nasıl oluşturulduğu.
  </Card>
</CardGroup>
