Webhooki i API REST

Channels & Integrations

Webhooki i API REST

Conviro udostępnia webhooki do powiadomień o zdarzeniach w czasie rzeczywistym oraz API REST do programowego dostępu do wszystkich funkcji platformy.

Webhooki

Czym są webhooki?

Webhooki wysyłają żądanie HTTP POST na Twój serwer za każdym razem, gdy w Conviro wystąpi określone zdarzenie. Dzięki temu możesz reagować w czasie rzeczywistym, bez odpytywania (polling).

Dostępne zdarzenia

ZdarzenieKiedy się uruchamia
message.newZostaje wysłana nowa wiadomość (przez odwiedzającego lub bota)
session.startedRozpoczyna się nowa sesja rozmowy
session.closedRozmowa zostaje zamknięta
session.escalatedRozmowa zostaje eskalowana
lead.capturedZostaje pozyskany nowy lead
lead.createdZostaje utworzony rekord leada
lead_form.submittedZostaje wysłany formularz leada
handoff.requestedZostaje zgłoszone przekazanie do konsultanta
csat.submittedZostaje przesłana ocena CSAT
csat.receivedZostaje zapisany wynik CSAT
ai.failedAI nie potrafi wygenerować odpowiedzi
ticket.createdZostaje otwarte zgłoszenie do wsparcia
ticket.resolvedZgłoszenie do wsparcia zostaje rozwiązane
contact.createdZostaje utworzony nowy kontakt
contact.updatedKontakt zostaje zaktualizowany
contact.mergedDwa kontakty zostają scalone
contact.deletedKontakt zostaje usunięty

Formularz webhooka udostępnia też opcję Wszystkie zdarzenia, która subskrybuje każde ze zdarzeń powyżej (zapisywana jako symbol wieloznaczny *); pojedynczy webhook przyjmuje również listę nazw zdarzeń rozdzieloną przecinkami.

Konfiguracja

  1. Przejdź do Dashboard -> Deweloperzy -> Webhooki.
  2. Kliknij Add Webhook.
  3. Podaj adres URL swojego endpointu (musi być HTTPS).
  4. Wybierz zdarzenia, które chcesz otrzymywać.
  5. Kliknij Save.

Bezpieczeństwo: podpisywanie HMAC-SHA256

Każdy ładunek webhooka jest podpisywany algorytmem HMAC-SHA256 przy użyciu Twojego sekretu webhooka. Zweryfikuj podpis na swoim serwerze, aby potwierdzić autentyczność:

X-Webhook-Signature: t=<unix_timestamp>,v1=<hex_digest>
X-Webhook-Event: <event_name>
X-Webhook-Retry: <attempt>          # only on a retried delivery

Skrót jest liczony z <unix_timestamp>.<surowe_ciało_żądania>, więc weryfikacja samego ciała nigdy się nie zgodzi. Podziel nagłówek po ,, odczytaj wartości t= i v1=, przelicz ponownie HMAC-SHA256 z t + '.' + rawBody używając swojego webhook secret i porównaj oba skróty w stałym czasie. Odrzucaj dostawy, których znacznik czasu jest starszy niż kilka minut, aby przechwycony ładunek nie mógł zostać odtworzony. Uwaga: Wyślij test na adres URL, który nie jest zapisanym webhookiem, jest dostarczany bez podpisu — nie ma sekretu do podpisania; przetestuj weryfikację na zapisanym endpoincie.

Zasady ponawiania

Jeśli Twój endpoint zwróci kod statusu inny niż 2xx, Conviro ponawia próbę maksymalnie 3 razy z wykładniczym opóźnieniem (1 min, 5 min, 30 min).


API REST

Uwierzytelnianie

  1. Wygeneruj klucz API w Dashboard -> Deweloperzy -> Klucze API -> Utwórz klucz API.
  2. Dołącz go do nagłówka Authorization:
Authorization: Bearer sk_your_api_key_here

> Klucz jest pokazywany tylko raz. Utworzenie klucza wymaga co najmniej jednego zakresu (scope) — Utwórz pozostaje nieaktywny, dopóki go nie wybierzesz — a pełna wartość sk_ pojawia się jeden jedyny raz, w oknie, które celowo nie zamyka się klawiszem Escape ani kliknięciem w tło. Później czytelny pozostaje wyłącznie prefiks; reszta to skrót bcrypt i nie da się jej odzyskać. Skopiuj klucz przed zamknięciem okna. Jeśli go zgubisz, utwórz nowy i unieważnij stary.

Najważniejsze endpointy

MetodaEndpointOpis
GET/api/chatbotsWyświetla listę wszystkich chatbotów
GET/api/chatbots/:idPobiera szczegóły chatbota
GET/api/sessionsWyświetla listę sesji (z filtrami)
GET/api/sessions/:id/messagesPobiera wiadomości z sesji
POST/api/sessions/:id/messagesWysyła wiadomość do sesji
GET/api/contactsWyświetla listę kontaktów
POST/api/contactsTworzy kontakt
GET/api/leadsWyświetla listę leadów
POST/api/leadsTworzy lead
GET/api/analytics/overviewPobiera podsumowanie analityki

Limity zapytań

  • Plan Free: 60 zapytań/minutę
  • Starter: 120 zapytań/minutę
  • Pro: 300 zapytań/minutę
  • Growth+: 600 zapytań/minutę

Nagłówki z limitem zapytań są dołączane do każdej odpowiedzi:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 298
X-RateLimit-Reset: 1672531200

Pełna dokumentacja

Odwiedź /developers, aby zobaczyć pełną dokumentację API z przykładami żądań i odpowiedzi.

webhookapiresthmacintegrationendpointsdeveloper

Czy ten artykuł był pomocny?