Wiadomości głosowe
SpeechCall to rodzaj wiadomości z interaktywną odpowiedzią głosową (IVR), który umożliwia wykonywanie automatycznych połączeń głosowych za pomocą opcji menu i interakcji w formacie DTMF (dual-tone multi-frequency).
Przegląd
SpeechCall umożliwia firmom:
- Wykonuj automatyczne połączenia głosowe z klientami
- Odtwórz wstępne wiadomości audio
- Przedstaw interaktywne opcje menu
- Obsługa reakcji na naciśnięcie klawisza DTMF (0-9, *, #)
- Zdefiniuj niestandardowe zachowanie dla nieprawidłowych danych wejściowych/przekroczenia limitu czasu
- Wyzwalaj webhooki z niestandardowymi treściami i nagłówkami w oparciu o wybory użytkownika
- Zarządzaj dynamicznie przepływem połączeń (nawiguj pomiędzy menu)
Przypadki użycia
- Ankiety konsumenckie - Zbieraj opinie za pomocą opcji menu telefonu
- Przypomnienia o spotkaniach - Potwierdź lub przełóż spotkanie za pomocą interakcji głosowej
- Śledzenie zamówienia - Zapewnia aktualizacje statusu zamówienia
- Interaktywne powiadomienia - Dostarczaj ważne informacje wraz z opcjami działania
- Weryfikacja głosowa - Uwierzytelnianie wieloskładnikowe za pośrednictwem połączeń głosowych
##Format żądania
Podstawowa struktura
KOD_BLOKU_0
Opis parametru
| Parametr | Wpisz | Wymagane | Opis |
|---|---|---|---|
od | ciąg | Tak | Identyfikator nadawcy (nazwa alfa lub identyfikator) |
do | ciąg | Tak | Numer telefonu odbiorcy w formacie międzynarodowym |
tekst | ciąg | Tak | Wartość tekstowa, zazwyczaj „ivr” dla SpeechCall |
typ | ciąg | Tak | Musi być "rozmowa" |
menu | tablica | Tak | Tablica konfiguracji menu dla połączenia |
Konfiguracja menu
Każdy obiekt menu zawiera:
| Parametr | Wpisz | Wymagane | Opis |
|---|---|---|---|
introUrl | ciąg | Tak | Adres URL lub identyfikator wstępnego pliku audio |
idleTimeoutMs | liczba całkowita | Nie | Limit czasu w milisekundach oczekiwania na naciśnięcie klawisza (np. „10000”). Jeśli użytkownik nie zareaguje, zostaną wykonane akcje skonfigurowane pod klawiszem zły |
dtmfActions | obiekt | Tak | Mapa kluczy DTMF do akcji |
Akcje DTMF
Obiekt dtmfActions odwzorowuje klucze DTMF lub warunki specjalne na tablice akcji:
| Klucz DTMF | Opis |
|---|---|
d0 | Naciśnij 0 |
d1 | Naciśnij 1 |
d2 | Naciśnij 2 |
| … | … |
d9 | Naciśnij 9 |
d* | Naciśnij * |
d# | Naciśnij # |
| „źle” | Wywołuje się po naciśnięciu nieprawidłowego klawisza lub osiągnięciu idleTimeoutMsec bez wprowadzania danych |
Każdy klucz/warunek DTMF jest odwzorowywany na tablicę akcji, które będą wykonywane sekwencyjnie.
Obsługiwane akcje
| Akcja | Parametry | Opis |
|---|---|---|
webhook | url (string, wymagany)treść (obiekt, opcjonalny)headers (obiekt, opcjonalny) | Wysyła żądanie HTTP POST w formacie JSON na podany adres URL. Obiekt „treść” zostanie zagnieżdżony w polu „akcja” w żądaniu webhooka. Nagłówki niestandardowe są dołączane jako nagłówki HTTP. |
| „rozłącz” | Brak | Kończy połączenie |
gotoMenu | menu (ciąg znaków lub liczba całkowita) | Przechodzi wywołanie do innego menu w tablicy menu przy użyciu indeksu opartego na 0 (np. `“1”) |
Szczegółowe zachowanie akcji
Akcja webhooka („webhook”)
Akcja „webhook” wysyła żądanie HTTP POST na adres URL wywołania zwrotnego z metadanymi wywołania i opcjonalnymi danymi niestandardowymi:
- Jeśli podano „treść”, jej pary klucz-wartość są wysyłane do pola „akcja” treści ładunku.
- Jeśli podano „nagłówki”, są one wysyłane w żądaniu jako niestandardowe nagłówki HTTP.
Akcja rozłączania („rozłączanie”)
Akcja „rozłącz” natychmiast kończy aktywne połączenie. Po akcji „rozłączania” żadne dalsze działania w sekwencji lub menu nie będą przetwarzane.
Przejdź do akcji menu („gotoMenu”)
Akcja gotoMenu przekierowuje przepływ wywołania do innej struktury menu w obrębie tablicy menu. Pobiera pojedynczy parametr menu, który określa indeks menu docelowego oparty na 0 (np. 1'' aby przejść do drugiego menu lub 0” aby zrestartować pierwsze menu).
Brak aktywności i obsługa błędów („źle”)
„Zły” klucz w „dtmfActions” to specjalna procedura obsługi awaryjnej. Wykonuje szereg sekwencji akcji w dwóch scenariuszach:
- Nieprawidłowe wejście: Osoba wywołująca naciska klawisz DTMF, który nie jest zdefiniowany w
dtmfActions(na przykład naciska3, ale menu definiuje tylkod1id2). - Limit czasu bezczynności: Osoba wywołująca nie naciśnie żadnego klawisza w czasie określonym przez
idleTimeoutMsec.
Jeśli słowo „źle” nie zostało zdefiniowane i osoba dzwoniąca naciśnie nieprawidłowy klawisz lub upłynie limit czasu, połączenie zostanie domyślnie rozłączone. Zdefiniowanie wrong pozwala na budowanie menu zapętlonych (np. powrót do tego samego menu za pomocą "action": "gotoMenu", "menu": "0") lub przekierowanie użytkownika do menu pomocy.
Format dostarczania webhooka
Kiedy zostanie uruchomiona akcja webhook, system wysyła żądanie HTTP POST do skonfigurowanego url z Content-Type: application/json.
Nagłówki żądań webhooka
Jeśli akcja jest skonfigurowana z parametrem „headers”, te pary klucz-wartość zostaną uwzględnione w żądaniu jako nagłówki HTTP.
Treść żądania webhooka
Ładunek JSON wysłany na adres URL webhooka ma następującą strukturę:
KOD_BLOKU_1
| Pole | Wpisz | Opis |
|---|---|---|
od | ciąg | Numer telefonu osoby dzwoniącej / ID nadawcy |
do | ciąg | Numer telefonu odbiorcy |
środek | ciąg | Identyfikator wiadomości |
akcja | obiekt | Niestandardowy obiekt JSON zdefiniowany w polu treść akcji |
Kompletny przykład
Prosty IVR z limitem czasu i walidacją danych wejściowych
KOD_BLOKU_2
Złożony IVR z wieloma menu i routingiem DTMF
Ten przykład pokazuje, jak zdefiniować wiele menu i nawigować między nimi za pomocą akcji „gotoMenu”, gdy użytkownik wprowadzi nieprawidłowy klucz lub upłynie limit czasu wywołania. Pokazuje także niestandardowe treści i niestandardowe nagłówki HTTP wysyłane z wyzwalaczami elementu webhook.
KOD_BLOKU_3
##Format odpowiedzi
Odpowiedź pomyślna
KOD_BLOKU_4
Obsługa błędów
| Stan HTTP | Opis |
|---|---|
| 200 | Żądanie powiodło się |
| 400 | Nieprawidłowy format żądania |
| 401 | Uwierzytelnienie nie powiodło się |
| 429 | Przekroczono limit stawki |
| 500 | Wewnętrzny błąd serwera |
cURL Przykład
KOD_BLOKU_5
Najlepsze praktyki
- Pliki audio — upewnij się, że początkowe adresy URL są dostępne, a pliki audio mają obsługiwane formaty
- Niezawodność webhooka – Projektuj webhooki tak, aby szybko reagowały (w ciągu 2 sekund)
- Opcje DTMF – Ogranicz opcje menu do 4–6 opcji, aby zapewnić lepszą wygodę użytkowania
- Obsługa limitu czasu - Użyj
idleTimeoutMsec, aby określić niestandardowe limity braku aktywności (np. 10000 ms) i skonfigurować płynne przywracanie ustawień awaryjnych podzłymklawiszem DTMF (np. powtarzanie menu lub rozłączanie się) - Przepływ połączeń w wielu menu – Używaj
gotoMenuostrożnie, aby zapobiec nieskończonym pętlom podczas przekierowywania użytkowników z powrotem do poprzednich menu - Strategia awaryjna – Używaj wiadomości zastępczych dla użytkowników, którzy nie odbierają lub nie rozłączają się
Powiązane tematy
- Wyślij wiadomość - Ogólna instrukcja wysyłania wiadomości
- Połączenie błyskawiczne - Proste połączenia z weryfikacją głosową
- Sprawdź stan - Śledź stan dostarczenia wiadomości
- Typy wiadomości - Przegląd wszystkich obsługiwanych typów wiadomości