Webhook i zdarzenia połączeń

Dostajesz kontekst rozmowy i podejmujesz decyzję w swoim systemie — bez ręcznego przełączania.

Webhook (zdarzenia): co dostajesz w żądaniu

Platforma wywołuje Twoją aplikację metodą HTTP POST i przekazuje dane rozmowy w JSON (w polu request). Na tej podstawie Twoja logika podejmuje decyzję i odsyła Action + opcjonalnie Session.

W praktyce webhook jest “wejściem” do procesu: dostajesz kontekst rozmowy, a następnie sterujesz IVR, DTMF, kolejkami i routingu według reguł z CRM/helpdesku.

Najważniejsze pola w request

  • FromNumber — numer dzwoniącego,
  • ToNumber — numer docelowy,
  • ChannelStatus — status kanału/połączenia,
  • UniqueCallId — unikalny identyfikator rozmowy (korelacja logów i CRM),
  • Hash — wartość weryfikacyjna (jeśli jest skonfigurowana),
  • Event — zdarzenie (EventName + EventData),
  • Session — stan rozmowy zwrócony wcześniej przez Twoją aplikację.

Co odsyłasz w odpowiedzi: Akcje API.

Przykład request (uproszczony)

{
  "request": {
    "FromNumber": "48123456789",
    "ToNumber": "48221234567",
    "ChannelStatus": "Connected",
    "UniqueCallId": "f95bccb5b1140554030b9d4186855cdc12e6e1c0",
    "Hash": "4fa0ff6d065ba50c...",
    "Event": { "EventName": "Connected", "EventData": "" },
    "Session": null
  }
}

Odpowiedź Twojej aplikacji to JSON z Action (+ opcjonalnie Session), np. pytanie DTMF, komunikat, przekierowanie, kolejka.

Błędy (Error) i kody błędów

Gdy wystąpi błąd wywołania aplikacji, platforma wykona zdefiniowane działanie awaryjne (np. rozłączenie / komunikat / połączenie z obiektem), a następnie przekaże w polu Error: ErrorNo i ErrorMsg.

W przypadku błędu webhook jest traktowany informacyjnie — po przesłaniu komunikatu z Error system nie oczekuje już na odpowiedź Twojej aplikacji.

Kody błędów (najczęstsze)

  • 1000 — zbyt wiele odpytań do aplikacji klienta,
  • 1001 — aplikacja kliencka odesłała zbyt dużo danych,
  • 1002 — aplikacja kliencka nie odpowiedziała w wyznaczonym czasie,
  • 1003 — problem z certyfikatem SSL,
  • 1004 — błąd podczas pobierania adresu IP dla domeny aplikacji klienta,
  • 1005 — błąd podczas łączenia z aplikacją klienta,
  • 1006 — niepoprawna odpowiedź aplikacji klienta.

Pozostałe (często spotykane w praktyce)

  • 2001 — plik do odegrania nie istnieje,
  • 2002 — zły format znacznika czasu,
  • 2003 — złe parametry dla wybranej akcji,
  • 3001 — brak skonfigurowanego konta SIP dla połączeń wychodzących,
  • 9999 — nieznany błąd.

Przykład pola Error (uproszczony)

{
  "request": {
    "...": "...",
    "Error": {
      "ErrorNo": "1002",
      "ErrorMsg": "Timeout po stronie aplikacji klienta"
    }
  }
}

Chcesz przetestować webhook?

Najprościej: Connected → Play → GetDTMF → routing. Potem dopracuj timeouty i fallback.

Załóż konto    Akcje API