Webhooki po rozmowie
Otrzymuj powiadomienia przez webhooki, gdy rozmowy się zakończą, a analiza będzie gotowa.
Przegląd
Webhooki Webhooks po rozmowie pozwalają otrzymywać szczegółowe informacje o rozmowie po zakończeniu analizy. Po ich włączeniu ElevenLabs wyśle żądanie POST do wskazanego endpointu z pełnymi danymi rozmowy.
ElevenLabs obsługuje trzy typy webhooków po rozmowie:
- Webhooki transkrypcji (
post_call_transcription): Zawierają pełne dane rozmowy, w tym transkrypcje, wyniki analizy i metadane - Webhooki audio (
post_call_audio): Zawierają minimalny zestaw danych z dźwiękiem całej rozmowy zakodowanym w base64 - Webhooki niepowodzenia rozpoczęcia rozmowy (
call_initiation_failure): Zawierają informacje o nieudanych próbach rozpoczęcia rozmowy, w tym przyczyny niepowodzenia i metadane
Włączanie webhooków po rozmowie
Webhooki po rozmowie możesz włączyć dla wszystkich agentów w obszarze roboczym na stronie ustawień ElevenAgents.

Webhooki po rozmowie muszą zwracać kod statusu 200, aby zostały uznane za udane. Webhooki, które wielokrotnie zawodzą, są automatycznie wyłączane po co najmniej 10 kolejnych niepowodzeniach, jeśli ostatnie udane dostarczenie nastąpiło ponad 7 dni temu lub webhook nigdy nie został pomyślnie dostarczony.
Webhooki po rozmowie mogą być automatycznie ponawiane w razie niepowodzenia. Zobacz ponawianie webhooków.
Uwierzytelnianie
Ważne, by odbiornik weryfikował wszystkie przychodzące webhooki. Webhooki obecnie obsługują uwierzytelnianie za pomocą podpisów HMAC. Aby skonfigurować uwierzytelnianie HMAC:
- Bezpiecznie przechowuj współdzielony sekret wygenerowany podczas tworzenia webhooka
- Zweryfikuj nagłówek ElevenLabs-Signature w swoim endpointzie za pomocą SDK
SDK JavaScript udostępnia constructEvent, a SDK Python construct_event z parametrami rawBody, sig_header i secret (w Pythonie nie nazywają się one payload / signature). Oba weryfikują podpis, sprawdzają znacznik czasu i parsują dane JSON.
Python
JavaScript
Przykładowy handler webhooka z użyciem FastAPI:
Lista dozwolonych adresów IP
Dla dodatkowego bezpieczeństwa możesz dodać statyczne wychodzące adresy IP ElevenLabs do listy dozwolonych. Pełną listę adresów IP znajdziesz w sekcji lista dozwolonych adresów IP.
Używanie listy dozwolonych adresów IP razem z walidacją podpisu HMAC zapewnia wiele warstw zabezpieczeń.
Struktura odpowiedzi webhooka
ElevenLabs wysyła trzy różne typy webhooków po rozmowie, każdy o innej strukturze danych:
Webhooki transkrypcji (post_call_transcription)
Zawierają pełne dane rozmowy, w tym kompletne transkrypcje, wyniki analizy i metadane.
Pola najwyższego poziomu
Struktura obiektu danych
Obiekt data zawiera:
Webhooki audio (post_call_audio)
Zawierają minimalny zestaw danych oraz pełne audio rozmowy jako MP3 zakodowane w base64.
Pola najwyższego poziomu
Struktura obiektu danych
Obiekt data zawiera tylko:
Webhooki audio zawierają tylko trzy pola wymienione powyżej. NIE zawierają danych transkrypcji, metadanych, wyników analizy ani żadnych innych szczegółów rozmowy.
Webhooki nieudanej inicjacji rozmowy (call_initiation_failure)
Zawierają informacje o próbach inicjacji rozmów telefonicznych, w tym przyczyny niepowodzenia i metadane dostawcy telefonii.
Zdarzenia webhooka nieudanej inicjacji rozmowy są wysyłane, gdy nie uda się rozpocząć rozmowy z powodu błędów połączenia, odrzucenia rozmowy przez użytkownika lub nieodebrania jej przez użytkownika. Jeśli rozmowa trafi do poczty głosowej lub zostanie odebrana przez automatyczną usługę, webhook nieudanej inicjacji rozmowy nie zostanie wysłany, ponieważ rozmowa została pomyślnie zainicjowana.
Pola najwyższego poziomu
Struktura obiektu danych
Obiekt data zawiera:
Struktura obiektu metadanych
Struktura obiektu metadata różni się zależnie od tego, czy połączenie wychodzące wykonano przez Twilio czy przez trunking SIP. Obiekt zawiera pole type, które rozróżnia te dwa przypadki, oraz pole body ze szczegółami specyficznymi dla dostawcy.
Metadane SIP (type: "sip"):
Obiekt body dla metadanych SIP zawiera:
Metadane Twilio (type: "twilio"):
Przykładowe ładunki webhooków
Przykład webhooka transkrypcji
Przykład webhooka audio
Przykłady webhooków nieudanej inicjacji rozmowy
Przykład metadanych Twilio
Przykład metadanych SIP
Dostarczanie webhooków audio
Webhooki audio są dostarczane osobno od webhooków transkrypcji i zawierają tylko podstawowe pola potrzebne do identyfikacji rozmowy oraz dane audio zakodowane w base64.
Webhooki audio możesz włączyć lub wyłączyć przełącznikiem „Send audio data” w ustawieniach webhooka. To ustawienie możesz skonfigurować zarówno na poziomie obszaru roboczego (w ustawieniach ElevenAgents), jak i agenta (w nadpisaniach webhooka danego agenta).
Dostarczanie strumieniowe
Webhooki audio są dostarczane jako strumieniowe żądania HTTP z nagłówkiem transfer-encoding: chunked, aby sprawnie obsługiwać duże pliki audio.
Przetwarzanie webhooków audio
Webhooki audio są dostarczane przez kodowanie transferu porcjowanego, więc musisz prawidłowo obsłużyć dane strumieniowe:
Webhooki audio mogą być dużymi plikami, więc upewnij się, że endpoint webhooka obsługuje żądania strumieniowe i ma wystarczającą pojemność pamięci lub miejsca na dysku. Audio jest dostarczane w formacie MP3.
Zastosowania
Automatyczne działania po rozmowie
Webhooki po rozmowie pozwalają tworzyć automatyczne workflow uruchamiane zaraz po zakończeniu rozmowy. Oto kilka praktycznych zastosowań:
Integracja z CRM
Aktualizuj system CRM danymi z rozmowy od razu po jej zakończeniu:
Rozmowy ze stanem
Zachowaj kontekst rozmowy między wieloma interakcjami, zapisując i odczytując stan:
- Gdy rozmowa się zaczyna, przekaż identyfikator użytkownika jako zmienną dynamiczną.
- Gdy rozmowa się kończy, skonfiguruj endpoint webhooka, aby zapisywał dane rozmowy w bazie danych na podstawie identyfikatora użytkownika pobranego z
dynamic_variables. - Gdy użytkownik zadzwoni ponownie, możesz pobrać ten kontekst i przekazać go do nowej rozmowy w zmiennej dynamicznej {{previous_topics}}.
- Dzięki temu agent „pamięta” wcześniejsze interakcje, zapewniając płynne doświadczenie.