Kolejki i routing

Zasady, które porządkują ruch: priorytety, eskalacje i logiczne ścieżki rozmowy.

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.

Stabilność    Bezpieczeństwo