Skip to main content
Każde ciało webhooka ma pole type, którego wartością jest jeden z typów zdarzeń na tej stronie. Gdy subskrybujesz endpoint, tablica events musi zawierać wybrane typy zdarzeń (lub być pusta, aby subskrybować wszystkie). Te zdarzenia są dostarczane na dwa sposoby: Poniższe przykładowe ładunki pokazują kopertę endpointu w kolejności przesyłania (klucze posortowane alfabetycznie: data, event_id, type); starsze dostarczenia zawierają te same data bez event_id.

Zdarzenia połączeń

telephony.incoming

Wysyłane, gdy połączenie przychodzące dociera na jeden z Twoich numerów telefonów. Dostarczenia do endpointu to powiadomienia typu fire-and-forget wysyłane dla każdego połączenia przychodzącego, niezależnie od tego, czy numer jest skonfigurowany dla agenta, czy dla webhooka. Numery bez przypisanego agenta dodatkowo otrzymują blokujące żądanie konfiguracji na starszym webhooku — pełny schemat żądania / odpowiedzi znajdziesz w telephony.incoming / web.incoming.

telephony.complete

Wysyłane po zakończeniu przychodzącego lub wychodzącego połączenia telefonicznego. Nieblokujące. Obejmuje transkrypcję, adres URL nagrania, gdy jest dostępny, oraz podsumowanie rozliczeń. Zobacz telephony.complete / web.complete, aby poznać schemat danych.

telephony.tool

Wysyłane po tym, jak połączenie telefoniczne wywoła narzędzie funkcji. Nieblokujące powiadomienie audytowe — narzędzie zostało już wykonane w chwili dostarczenia tego zdarzenia; obejmuje ono Twoje własne narzędzia funkcji (nie wbudowane narzędzia, narzędzia bazy wiedzy, połączeń aplikacji ani MCP).
response jest wynikiem wykonania: {"status": <http status>, "response": <your endpoint's JSON>} w przypadku powodzenia albo {"status": <status>, "error": "<message>"} w przypadku niepowodzenia.

web.incoming

Odpowiednik telephony.incoming dla kanału internetowego, wysyłany, gdy rozpoczyna się sesja widżetu internetowego lub testowe połączenie mikrofonowe w kreatorze. Dostarczenia do endpointu są typu fire-and-forget dla każdej sesji internetowej. Klucze publikowalne w mode="webhook" dodatkowo otrzymują blokujące żądanie konfiguracji na starszym webhooku — to blokujące żądanie ma inną strukturę (origin_domain, publishable_key_prefix; bez numerów telefonów). Zobacz telephony.incoming / web.incoming.
from_number zawsze ma literalną wartość "web". W przypadku sesji widżetu w trybie webhook to_number jest puste (numer agenta dla sesji jest przypisywany po konfiguracji); w przypadku testowych połączeń mikrofonowych w kreatorze origin_domain i publishable_key_prefix są puste.

web.complete

Odpowiednik telephony.complete dla kanału internetowego, obejmujący połączenia widżetu internetowego (direction: "web") oraz testowe połączenia mikrofonowe w kreatorze (direction: "test"). Nieblokujące. Taka sama struktura danych jak w telephony.complete, dodatkowo z origin_domain, przy czym from_number ma wartość "web".
W starszym webhooku z jednym adresem URL testowe połączenia mikrofonowe w kreatorze historycznie są raportowane jako telephony.complete — tylko połączenia z direction: "web" używają tam typu web.complete. System endpointów mapuje zarówno połączenia internetowe, jak i testowe na web.*. Historyczne dane mogą zawierać starsze wartości direction: widget lub mic.

web.tool

Odpowiednik telephony.tool dla kanału internetowego. data zawiera origin_domain zamiast from_number / to_number.

Zdarzenia głosowe

Tworzenie niestandardowego głosu jest asynchroniczne. Te nieblokujące zdarzenia umożliwiają reagowanie na wynik końcowy zamiast odpytywania punktu końcowego szczegółów klona.

voice.ready

Wysyłane, gdy niestandardowy głos zakończy przetwarzanie i można go przypisać do agenta.

voice.failed

Wysyłane, gdy przetwarzanie niestandardowego głosu zakończy się trwałym błędem.

Zdarzenia jakości

call.graded

Wysyłane po zakończeniu uruchomienia oceny AI dla połączenia. Nie blokuje.
Połączenie może zostać ocenione więcej niż raz — po szybkiej ocenie heurystycznej często następuje pełna ocena modelu, gdy nagranie jest dostępne, a także możliwe są ręczne ponowne oceny. Każde zakończone uruchomienie emituje własne zdarzenie call.graded; jako autorytatywną traktuj najnowszą wartość graded_at.

issue.reported

Wysyłane, gdy tworzony jest raport problemu — zgłoszony przez użytkownika z panelu (source: "user") lub utworzony automatycznie przez ocenę połączenia (source: "system"). Nie blokuje.
Ponowna ocena połączenia odtwarza jego raporty problemów wygenerowane przez system, co ponownie emituje issue.reported dla odtworzonych raportów. Wykonaj deduplikację według call_id + title, jeśli chcesz otrzymywać tylko jedno powiadomienie na każdy podstawowy problem.

Zdarzenia połączeń testowych

test-call.completed

Wysyłane, gdy uruchomienie połączenia testowego osiągnie status końcowy — completed lub failed, w tym uruchomienia, które zakończyły się niepowodzeniem przy starcie i nigdy nie utworzyły połączenia. Nie blokuje. Przydatne do integracji wsadowych uruchomień CI z systemami czatu i powiadomień.

Zdarzenia alertów

alert.triggered

Wysyłane, gdy reguła alertu z włączonym kanałem Dostarczaj do webhooków deweloperskich przekroczy swój próg. Nie blokuje działania. Reguła uruchamia się raz, a następnie uwzględnia okres wyciszenia, dlatego utrzymujące się naruszenie generuje jedno zdarzenie na każde okno wyciszenia.
Zobacz przewodnik po alertach, aby tworzyć reguły, metryki, okresy wyciszenia oraz kanały e-mail / Slack.

Powiązane

telephony.incoming / web.incoming

Blokujący ładunek połączenia przychodzącego, na który musisz odpowiedzieć.

telephony.complete / web.complete

Transkrypcja i metryki po zakończeniu połączenia.

Punkty końcowe webhooków

Zasubskrybuj adres URL dla podzbioru tych zdarzeń.

Narzędzia funkcji

Jak są generowane zdarzenia telephony.tool / web.tool.