Webhooki

This post is also available in: Czeski Angielski

Korzystaj z ogromnych możliwości analitycznych Samby, aby segmentować klientów i wykorzystywać webhooki do łączenia jej z interfejsem API dowolnej aplikacji. W oparciu o logikę ustaloną w kampanii Flow, Samba wysyła żądanie HTTP, które może zawierać dowolne dane Twoich klientów. W ten sposób możesz łatwo np. przesyłać dane ważnych klientów, którzy nie odpowiedzieli jeszcze na retencyjną kampanię e-mailową do swojego contact center i uruchomić dla nich kampanię telefoniczną.

Webhook działa tak, jak inne kanały w kampanii Flow, czyli przetwarza wszystkich klientów, którzy dotrą do niego z innych połączonych z nim węzłów. W ustawieniach webhooka możesz wtedy wybrać nie tylko adres API, ale także szczegółowo zdefiniować format żądania oraz sposób, w jaki dane mają być przesyłane przez API.

Zobacz szczegółowe informacje na temat sposobu, w jaki pobieramy opłaty za tę funkcję, w naszym artykule Plany płatności.

Uruchomienie

Jeśli jesteś zainteresowany uruchomieniem takiej funkcjonalności, napisz do nas na sales@samba.ai.

Ustawienia webhooków

W kampanii Flow wybierz węzeł Webhook z menu po prawej stronie.

Podstawowe ustawienia

W ustawieniach webhooka możesz nadać mu nazwę, aby ułatwić zarządzanie kampanią, lub po prostu wyłączyć jego aktywację za pomocą przełącznika.

Endpoint

Wybierz metodę żądania HTTP, możesz wybrać pomiędzy GET, POST, PUT, PATCH lub DELETE.

W polu adresu URL żądania, wprowadź prawidłowy adres połączenia API, w tym protokół (HTTP/HTTPS).

Uwierzytelnienie

Aby zabezpieczyć komunikację, możesz użyć jednej z oferowanych opcji – Brak uwierzytelniania, Uwierzytelnianie podstawowe (nazwa + hasło) lub Token na okaziciela.
Możesz również wprowadzić dodatkowe informacje w nagłówkach w formie Nazwa + Wartość.

Handlebars.js w nagłówkach niestandardowych

Możesz także używać konstruktów Handlebars.js w nagłówku, jak również w żądanej treści, w tym zmiennych dynamicznych.

Pre-request

Pre-request reprezentuje fazę, podczas której pewne operacje są wykonywane przed głównym żądaniem w samym węźle webhook.

Podczas wstępnego żądania można wysłać oddzielne żądanie do innego serwera lub usługi, a jego odpowiedź może być następnie wykorzystana do późniejszego uwierzytelnienia i konfiguracji niestandardowych nagłówków dla głównego żądania, na przykład podczas korzystania z uwierzytelniania Bearer Token.

Kopiowanie odpowiedzi pre-request

Odpowiedź Pre-Request można skopiować jako znacznik scalający za pomocą przycisku „Copy Pre-Request Response to Clipboard” i wkleić do niestandardowych nagłówków w następującym formacie:{{ dynamic.[0] }} Procedura ta pozwala wyodrębnić określone informacje z odpowiedzi i wykorzystać je dynamicznie w przygotowanych nagłówkach dla następnego żądania.

Na przykład, jeśli odpowiedź zawiera token i datę wygaśnięcia w tym formacie

{"token": "this is the current token value, "expiration": "2024-01-10T19:21:46.385Z" }

możemy więc użyć notacji kropkowej{{ dynamic.[0].token}}pobiera bieżącą wartość tokena i wstawia ją do niestandardowych ustawień nagłówka dla żądania głównego.
Więcej informacji na temat notacji kropek można znaleźć w naszej dokumentacji.

Ustawienia pre-request

Ustawienia pre-request nie różnią się od ustawień głównego żądania, tj. wybierasz metodę żądania i wstawiasz prawidłowy adres połączenia API, w tym protokół (http/https).
Następnie należy wybrać odpowiednie uwierzytelnianie i wypełnić zawartość danych, którą omówimy bardziej szczegółowo w dalszej części tego artykułu.

Buforowanie odpowiedzi

Buforowanie odpowiedzi zapewnia możliwość wpływania na częstotliwość wykonywania wstępnego zapytania. Określa to, jak często to wstępne zapytanie powinno być wykonywane. W tym okresie ostatnia zapisana odpowiedź jest używana dla głównego żądania.
Zalecamy korzystanie z buforowania odpowiedzi. Wyłączenie go może mieć znaczący wpływ na wydajność zarówno po stronie API połączonej usługi, jak i po stronie Samby.

Ładunek

Tutaj określasz format, w jakim zapytanie ma zostać wysłane, a także konstruujesz treść zapytania z danymi klienta.

Format żądania

Do wyboru są następujące podstawowe typy MIME: JSON, JSON stream, CSV i XML.

JSON stream

Typ strumienia JSON stream jest zwykle najczęstszym sposobem korzystania z wysyłania partiami. Implementacja Samby w szczególności wykorzystuje typ „application/json-seq”, w którym połączenia nie są nawiązywane w celu ciągłego wysyłania pojedynczych plików json, ale całe żądanie jest wysyłane jednocześnie jako strumień jsons.

Jeśli chcesz wybrać inny typ, którego nie ma w podstawowym wyborze, wybierz Niestandardowy i wprowadź żądany typ w polu wprowadzania, np.

  • text/plain

  • multipart/form-data

  • application/x-www-form-urlencoded

Wysyłanie partiami

Wysyłanie partiami umożliwia wydajną komunikację z interfejsem API, dzięki czemu każdy indywidualny klient nie musi być wysyłany w oddzielnym żądaniu. Zamiast tego, przy wysyłaniu partiami, Samba wysyła wielu klientów jednocześnie w jednym żądaniu, minimalizując liczbę połączeń z osobami trzecimi. W jednej partii można wysłać maksymalnie 1000 klientów.

Aby utworzyć poprawny format wynikowy, może być konieczne oddzielenie każdego klienta przecinkiem, nową linią lub innym symbolem. Zobacz przykład użycia funkcji unless.

Rekomendacja

Zdecydowanie zalecamy przesyłanie partiami, gdy pozwala na to interfejs API. W przypadku większych wolumenów z tysiącami klientów, zwykle niepożądane jest przeciążanie serwera tak dużą liczbą zapytań i może to prowadzić do znacznego spowolnienia lub całkowitego zablokowania komunikacji. Większość aplikacji ma ścisłe ograniczenia maksymalnej liczby połączeń (tzw. limity szybkości), a korzystanie z wysyłania partiami ułatwia ich obejście.

Żądana treść

Język szablonów Handlebars.js jest używany do tworzenia treści żądania

Podstawowa forma żądania musi zawsze zawierać iterację przez klientów w następującej formie:

{{# each customers }}

...
{{/ each }}

Atrybuty klienta

Następujące atrybuty klienta można wstawić do żądania w formie merge tagów, podobnie jak w szablonie wiadomości e-mail (należy jednak pamiętać, że notacja może różnić się od merge tagów). Po prostu skopiuj merge tag do schowka za pomocą polecenia Kopiuj do schowka, a następnie użyj klawiszy Ctrl+V, aby wkleić go we właściwym miejscu w treści żądania.

  • Podstawowe
    • ID klienta: {{ id }}
    • Adres mailowy: {{ email }}
    • Numer telefonu: {{ phone }}
    • Imię: {{ firstName }}
    • Nazwisko: {{ lastName }}
    • Data rejestracji: {{ registeredOn }}
    • Kod pocztowy: {{ zipCode }}
  • Parametry niestandardowe
    • Tutaj znajdziesz wszystkie parametry niestandardowe, które są wymienione w pliku feeda klientów.
    • Merge tag: {{ lookup parameters "PARAMETER NAME" }}

Prosta konstrukcja treści żądania zawierającej identyfikator klienta, adres e-mail i parametr niestandardowy „Punkty bonusowe” wyglądałaby tak:

{{# each customers }}
{
"customer_id": "{{ id }}",
"email_address": "{{ email }}",
"bonus_points": "{{ lookup parameters "Bonus points" }}"
}
{{/ each }}
Wstawianie parametrów niestandardowych

Do wstawiania parametrów niestandardowych zawsze zalecamy użycie interfejsu aplikacji do skopiowania merge tagów ponieważ Samba automatycznie unika znaków specjalnych w nazwie parametru.

Funkcje Handlebars.js

Dostępne są podstawowe funkcje języka szablonów Handlebars.js oraz wybrane funkcje pomocnicze (tzw. helpery), które mogą służyć do transformacji atrybutów klienta oraz samego żądania. Dokumentację tych funkcji można znaleźć w tym artykule.

W interfejsie znajduje się również interaktywny podpowiadacz dostępnych funkcji i atrybutów.

 

Walidacja i testowanie

Możesz użyć Walidacji Ładunku, aby sprawdzić czy wszystko jest poprawne pod względem składni przed próbą wywołania API.

Użyj przycisku Wyślij żądanie testowe, aby wysłać żądanie testowe z bieżącym formatem punktu końcowego i zawartości danych. Jeśli przesłanie zakończy się pomyślnie, zobaczysz również wyjście z konkretną odpowiedzią na przesłane żądanie. 

Ocena webhooków

Szczegółowe wyniki z całkowitą liczbą wywołań API oraz liczbą pomyślnych i nieudanych eksportów klientów, znajdziesz w szczegółach węzła Webhook w trybie Wyniki kampanii Flow.

Dostępne są następujące statystyki:

  • Całkowita liczba wywołań = liczba wysłanych żądań do API.
    • Liczba udanych połączeń
    • Liczba nieudanych połączeń
      • Żądania nieudane z powodu nieprawidłowego żądania, przekroczenia limitów strony trzeciej lub innych błędów.
  • Całkowita liczba klientów = liczba klientów w wysłanych żądaniach API.
    • Liczba udanych klientów
    • Liczba nieudanych klientów

Na przykład 2 wysłane paczki z 1000 klientami oznaczają łącznie 2 połączenia i 2000 klientów.

Podsumowanie wyników można również znaleźć na pulpicie nawigacyjnym dla kampanii Flow.

This post is also available in: Czeski Angielski

Zaktualizowano na 6 czerwca, 2024

Czy ten artykuł był pomocny?

Artykuły powiązane