Checklista produkcyjna

Zamknij temat bezpieczeństwa i stabilności zanim wpuścisz ruch klientów.

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.

Testy integracji    Rozwiązywanie problemów