Checklista produkcyjna: zanim puścisz ruch “na stałe”
Ta lista ma jeden cel: zero ciszy i zero ślepych końców w realnym ruchu (szczyty, awarie zależności, Busy/Noanswer, błędne DTMF, timeout webhooka).
1) Ustawienia w panelu IVR API (must-have)
- Adres WWW: HTTPS, stabilny URL webhooka (bez przekierowań “po drodze”).
-
Automatyczne odbieranie (0–30 s):
ustaw zgodnie z flow. 0 ma sens, jeśli aplikacja jawnie steruje odbieraniem (np. używa
Answer); w prostych scenariuszach najczęściej sprawdza się szybkie automatyczne odebranie i dopiero potem decyzje w webhooku. - Hash: ustaw i weryfikuj po stronie aplikacji (nie traktuj webhooka jak publicznego endpointu).
- Maksymalny czas oczekiwania: rozsądnie (zwykle kilka sekund) — klient nie może “słuchać ciszy”.
- W przypadku problemów wykonaj: ustaw działanie awaryjne (np. kolejka ogólna albo komunikat + rozłączenie).
- Połączenia na numery zewnętrzne: włącz tylko jeśli faktycznie używasz
CallExternalNumber. - Ignoruj błędy SSL: tylko tymczasowo do testów — produkcyjnie napraw certyfikat.
2) Fast path i fallback w kodzie
- celuj w odpowiedź webhooka < 1–2 s (real-time),
- zależności (CRM/DB/API) z krótkimi timeoutami i bez “wiszących” zapytań,
- gdy brak danych: bezpieczna degradacja (np. kolejka ogólna),
- zawsze zwracaj poprawny JSON (błędy formatu to typowa przyczyna 1006).
Zasada: lepiej “standardowa kolejka” niż czekanie kilka sekund na CRM i cisza u klienta.
3) Bezpieczeństwo endpointu (minimum)
- HTTPS (prawidłowy certyfikat; brak obejść typu “ignore SSL”),
- weryfikacja Hash po stronie aplikacji,
- rate limiting na endpoint (ochrona przed nadużyciami),
- allowlista IP jeśli masz taką możliwość (WAF / reverse proxy),
- ostrożne logowanie: nie wrzucaj w logi “wrażliwych” wartości wprost.
4) Logowanie i korelacja
- UniqueCallId jako klucz korelacji,
- Event.EventName + Event.EventData,
- zwrócone Action + parametry + Session.step,
- czas odpowiedzi endpointu (ms).
5) UX rozmowy
- menu krótkie (3–5 opcji), najczęstsze na “1”,
- DTMF ma limit prób i zawsze “wyjście” do kolejki/konsultanta,
- komunikaty krótkie (nie czytaj regulaminów w IVR),
- po godzinach: osobny scenariusz (dyżur tylko dla pilnych + reszta do wiadomości/kolejki).
6) Zapowiedzi WAV
- pliki dodajesz w: Usługi → Archiwum i pliki .wav → Pliki .wav,
- wymagany format: WAV 16 bit, 8kHz, mono,
- zapowiedzi 1–10 przypinasz w zakładce Zapowiedzi głosowe w IVR API.
Jeśli nie masz narzędzia do eksportu w tym formacie, nagraj zapowiedź przez skrzynkę głosową i użyj pliku z e-maila jako gotowego WAV do repozytorium.
Gotowe? Zrób testy negatywne
Najwięcej problemów wychodzi w: webhook timeout, zły JSON, Busy/Noanswer, timeout DTMF. Zrób je świadomie zanim wpuścisz ruch klientów.