Akcje API: jak sterować przebiegiem rozmowy
Twoja aplikacja odpowiada JSON-em zawierającym Action (co wykonać) oraz opcjonalnie Session (stan rozmowy). Akcje układasz w kroki: komunikat → DTMF → routing → wynik (CallStatus).
Jeśli dopiero zaczynasz: najpierw zbuduj prosty scenariusz (Play + GetDTMF), dopiero potem rozbudowuj routing i fallback.
Format odpowiedzi
Przykład (uproszczony):
{
"Action": { "Type": "Play", "Prompt": "1" },
"Session": { "step": "welcome" }
}
Parametr Prompt odnosi się do zapowiedzi skonfigurowanych w panelu IVR API (np. “1” = konkretna zapowiedź).
Co dostajesz w webhooku: Webhook (zdarzenia).
Najczęściej używane akcje
- Play — odtwarza zapowiedź (Prompt) i przechodzi dalej według kolejnego zdarzenia.
- GetDTMF — pobiera cyfry z klawiatury telefonu (ID sprawy, wybór ścieżki).
- Wait — czeka określoną liczbę sekund (np. między komunikatami).
- Answer / DontAnswer / Hangup — kontrola stanu połączenia.
- CallExternalNumber — połączenie na numer zewnętrzny (routing do opiekuna/zespołu).
- CallLocalNumber — połączenie na numer z Twojej puli.
- CallByObjectLogin — połączenie na obiekt po loginie.
- SayNumber / SayDigits / SayTime / SayDate — odczytywanie wartości.
Jeśli budujesz samoobsługę (ID sprawy, status zamówienia): zacznij od GetDTMF. Potem możesz zagrać komunikat (Play) albo wykonać routing do właściwej kolejki/zespołu.
CallExternalNumber: routing i CallStatus
Połączenia wychodzące najczęściej służą do routingu (opiekun → backup → kolejka / dyżur). Po wykonaniu połączenia wraca zdarzenie CallStatus, dzięki czemu możesz wykonać logiczny fallback (np. Busy → drugi numer → kolejka → komunikat).
Najczęstsze opcje (Options)
- PlayCallStatus — odgrywa komunikat o statusie połączenia,
- RingTones — generuje sygnał wybierania numeru,
- Timeout — ile sekund czekać na połączenie (zwykle 1–30),
- ContinueAfterCompletion — kontynuuj scenariusz po zakończeniu połączenia.
Przykład:
{
"Action": {
"Type": "CallExternalNumber",
"Destination": "501234567",
"Options": "PlayCallStatus,RingTones,Timeout=10"
},
"Session": { "step": "dial_sales" }
}
W zdarzeniu CallStatus dostaniesz m.in.: Answer / Busy / Noanswer / Cancel / Error.
Minimalny scenariusz, który daje efekt
- Play — krótka zapowiedź (1–2 zdania).
- GetDTMF — wybór tematu lub ID sprawy.
- Routing — CallExternalNumber / kolejka / fallback.
- CallStatus — decyzja co dalej (druga próba, kolejka, komunikat, ticket).
Dzięki temu unikasz “przełączania w ciemno” i od razu budujesz przewidywalną obsługę.
Chcesz zbudować pierwszy scenariusz?
Najprościej: Play → GetDTMF → routing. Potem dopiero dopracuj fallback i priorytety.