Start w 1 dzień: minimalny scenariusz, który działa
Cel na dziś: numer, który nie gubi połączeń i ma przewidywalne zachowanie. Minimum: Play → routing (Call...) → fallback. Jeśli zostanie czas: krótkie menu DTMF (1–3 opcje).
Plan dnia
1) Ustal 3 rzeczy (30 minut)
- 2–3 tematy rozmów (sprzedaż / serwis / rozliczenia),
- kto odbiera (primary) i kto jest backupem,
- co ma się stać, gdy webhook nie działa albo nikt nie odbiera (działanie awaryjne / kolejka).
2) Endpoint webhook (60 minut)
- przyjmij POST i odczytaj
$_POST['request'](JSON), - loguj:
UniqueCallId,Event.EventName,FromNumber,ToNumber, - zwróć prostą
Actionna Connected (Play), - w kolejnym kroku wykonaj routing (Call...).
3) Panel: uruchom IVR API (45 minut)
- Panel klienta → Usługi → IVR → API (czasem nazwa sekcji to „IVR API”),
- Info: nazwa + konto rozliczeniowe,
- Numery: przypisz numer testowy,
- Konfiguracja: URL webhooka + timeout + Hash + działanie awaryjne,
- Zapowiedzi: przypisz Prompt „1” (powitanie) i (opcjonalnie) „2” (menu).
4) Testy “na żywo” (45–60 minut)
- Happy path: Connected → Play → Call…,
- Webhook timeout: wyłącz endpoint → sprawdź, czy działa działanie awaryjne,
- Busy/Noanswer: brak odbioru → sprawdź, czy masz plan B.
Minimalne odpowiedzi webhooka (zgodne z IVR API)
Connected → Play (Prompt „1”)
{
"Action": { "Type": "Play", "Prompt": "1" },
"Session": { "step": "welcome" }
}
Kolejny krok → routing do obiektu (CallByObjectLogin)
{
"Action": {
"Type": "CallByObjectLogin",
"Destination": "twoj_obiekt_docelowy",
"Options": "PlayCallStatus,Timeout=30"
},
"Session": { "step": "route_main" }
}
Destination to login/nazwa obiektu skonfigurowanego u Ciebie (np. kolejka, obiekt wewnętrzny, inny IVR). W przykładzie wstaw własną nazwę docelową.
Jeśli masz czas: jedno menu DTMF (GetDTMF)
Menu ma być krótkie: 1–3 opcje. Brak wyboru → domyślna kolejka.
{
"Action": { "Type": "GetDTMF", "Prompt": "2", "Timeout": "1200", "MaxDigits": "1" },
"Session": { "step": "menu_main", "tries": 0 }
}
Prompt „2” to zapowiedź typu: „Wciśnij 1 sprzedaż, 2 serwis, 3 faktury”.
W kolejnym wywołaniu dostaniesz EventName=GetDTMF oraz EventData z cyfrą lub „timeout”.
Zapowiedzi WAV: szybki sposób na poprawny format
- W panelu pliki dodajesz w: Usługi → Archiwum i pliki .wav → Pliki .wav.
- Wymagany format: WAV 16 bit, 8kHz, mono — inaczej zapowiedź może się nie odtwarzać poprawnie.
- Jeśli nie masz narzędzia do eksportu w tym formacie, najprościej użyć konwertera audio. Alternatywnie (gdy masz już uruchomioną pocztę głosową) możesz nagrać krótką wiadomość i wykorzystać otrzymany plik WAV jako punkt wyjścia — zwykle jest w formacie zgodnym z telefonią.
Zrób dziś działający szkielet
Dziś: Play → routing → fallback. Jutro: DTMF i routing po danych.