Kolejki i routing: plan A → plan B → przewidywalny finał
Routing w IVR API robisz akcjami typu Call…. Wynik dostajesz w zdarzeniu CallStatus. “Produkcyjny” routing to zawsze scenariusz warstwowy: najpierw próba do właściwej osoby, potem backup, a na końcu kolejka lub czytelny komunikat.
CallStatus: co dostajesz po próbie połączenia
Po Call… webhook wraca z Event.EventName = CallStatus,
a w Event.EventData
- Answer – odebrane
- Busy – zajęte
- Noanswer – brak odpowiedzi (timeout)
- Cancel – anulowane
- Error – błąd
Dobra praktyka: loguj UniqueCallId + CallStatus + czas próby.
To daje pełną rozliczalność routingu bez “zgadywania” po fakcie.
Próba połączenia z timeoutem (plan A)
Zaczynasz od krótkiej próby do właściwego celu (opiekun/agent/dyżurny). Timeouty ustawiaj realistycznie: zwykle 10–20 s, nie 60.
{
"Action": {
"Type": "CallExternalNumber",
"Destination": "501234567",
"Options": "PlayCallStatus,RingTones,Timeout=15"
},
"Session": { "step": "dial_primary" }
}
Jeśli docelowy “pierwszy wybór” nie odpowie (Busy/Noanswer), przechodzisz do planu B.
Plan B: backup → kolejka (bez ślepych końców)
Najczęstszy wzorzec: opiekun → backup → kolejka zespołu. Możesz mieć 1–2 kroki eskalacji, ale zawsze zakończ to kolejką lub komunikatem, żeby rozmowa nie kręciła się w pętli.
{
"Action": {
"Type": "CallByObjectLogin",
"Destination": "kolejka_sprzedaz",
"Options": "PlayCallStatus,Timeout=30"
},
"Session": { "step": "fallback_queue" }
}
Nazwa/identyfikator “kolejki” zależy od Twojej konfiguracji w panelu. W dokumentacji trzymamy przykład koncepcyjny: ważny jest układ i fallback.
3 wzorce routingu, które najczęściej “dowozą”
1) Opiekun klienta
- Webhook rozpoznaje klienta → opiekun jako plan A
- Busy/Noanswer → kolejka zespołu (plan B)
- na końcu: komunikat i czytelne zakończenie
2) VIP / SLA
- VIP/SLA → priorytetowa kolejka lub krótsza ścieżka eskalacji
- reszta ruchu → standardowa kolejka
- overflow → backup kolejka / drugi zespół
3) Po godzinach (dyżury)
- krótki IVR: “pilne” vs “standard”
- pilne → dyżur z eskalacją
- standard → komunikat + powrót w godzinach pracy / kolejka (jeśli chcesz)
Jeśli chcesz zobaczyć to na przykładach branżowych: Zastosowania.
Chcesz dopiąć stabilność “produkcyjną”?
Timeouty webhooka, retry, fallback i diagnostyka są równie ważne jak sam routing. Bez tego nawet dobre reguły potrafią “popsuć” UX w godzinach szczytu.