Jak połączyć Zendesk zShopify Flow
Połącz Zendesk z Shopify Flow przez webhooki z weryfikacją HMAC i reaguj na zgłoszenia tagami klientów, notatkami do zamówień lub e-mailami.
Zendesk może wywołać webhook z poziomu wyzwalacza lub automatyzacji za każdym razem, gdy nastąpi zmiana w zgłoszeniu. Funkcja Workflow Webhooks przekształca to wywołanie w wyzwalacz Shopify Flow, dzięki czemu Państwa sklep może na nie zareagować: oznaczyć klienta, dodać notatkę do zamówienia, wysłać wewnętrzną wiadomość e-mail, zaktualizować metapole - czyli wykonać każdą czynność, do której zdolny jest Shopify Flow.
Niniejszy przewodnik opisuje cały proces - Zendesk wysyła dane, Workflow Webhooks je odbiera i weryfikuje, a Shopify Flow podejmuje odpowiednie działania - przy czym przy każdym żądaniu sprawdzany jest podpis HMAC serwisu Zendesk, dzięki czemu wyłącznie Zendesk może uruchomić Państwa przepływ pracy.
Co można zbudować
- Proszę oznaczyć klienta Shopify, którego dotyczy zgłoszenie, które zostało przekazane do wyższego szczebla, aby Państwa zespół mógł je zobaczyć w panelu administracyjnym.
- Prosimy o dodanie uwagi do zamówienia po rozpatrzeniu zgłoszenia do działu obsługi klienta dotyczącego tego zamówienia.
- Proszę wysłać wiadomość e-mail do kierownika, gdy otrzymają Państwo niską ocenę satysfakcji od klienta o dużej wartości.
Typowe zdarzenia, które należy zgłaszać: utworzenie zgłoszenia, rozwiązanie zgłoszenia, otrzymanie oceny satysfakcji.
Zanim zaczną Państwo
- Webhooki Workflow Webhooks zainstalowane w Państwa sklepie Shopify.
- Zainstalowano aplikację Shopify Flow, którą można pobrać bezpłatnie ze sklepu Shopify App Store.
- Konto w serwisie Zendesk z uprawnieniami do tworzenia webhooków.
Krok 1 - Utwórz webhook w sekcji Workflow Webhooks
- Proszę otworzyć sekcję Workflow Webhooks → Webhooks → Utwórz webhook i nadać mu nazwę, którą będą Państwo w stanie rozpoznać w Shopify Flow, na przykład
Zendesk events. - W sekcji Uwierzytelnianie proszę wybrać opcję HMAC.
- W sekcji Dostawca podpisu proszę wybrać opcję Zendesk. Aplikacja automatycznie wypełni pola dotyczące nagłówka, algorytmu, podpisanej treści oraz okna odtworzenia - nie ma potrzeby dokonywania żadnych dodatkowych ustawień.
- Na razie proszę pozostawić pole „secret” puste i kliknąć Zapisz. Proszę skopiować adres URL webhooka wyświetlony na stronie.
Informacje na temat pozostałych trybów uwierzytelniania można znaleźć w sekcji Uwierzytelnianie, a informacje dotyczące wyboru pól, które mają zostać przesłane do Shopify Flow - w sekcji Mapowanie danych użytkowych i zmienne w Shopify Flow.
Krok 2 - Dodaj punkt końcowy w Zendesk
W Centrum administracyjnym Zendesk proszę otworzyć sekcję Aplikacje i integracje → Webhooki, utworzyć webhook wskazujący na skopiowany adres URL, powiązać go z wyzwalaczem, a następnie skorzystać z opcji Ujawnij sekret.
Jak znaleźć swój sekretny klucz podpisu w Zendesk
Sekret podpisywania webhooka (Centrum administracyjne → Aplikacje i integracje → Webhooki → Ujawnij sekret).
W dokumentacji firmy Zendesk dotyczącej podpisów webhooków znajdą Państwo dokładne sformułowania oraz zrzuty ekranu dotyczące Państwa konta.
Wklej ten klucz tajny w polu **Secret (**Klucz tajny) webhooka w sekcji Workflow Webhooks (Webhooki przepływu pracy) i zapisz. Od tego momentu każda wiadomość z serwisu Zendesk będzie weryfikowana, zanim dotrze do Shopify Flow.
Co to sprawdza
| Co | Wartość |
|---|---|
| Nagłówek podpisu | X-Zendesk-Webhook-Signature |
| Miejsce umieszczenia podpisu | Cała wartość nagłówka |
| Co zostało podpisane | {header:x-zendesk-webhook-signature-timestamp}{body} |
| Podpis | HMAC-SHA256, zakodowany w formacie base64 |
| Sygnatura czasowa | Nie jest używane przez tego nadawcę |
| Ochrona przed ponownym odtworzeniem | Brak - ten nadawca nie podpisuje znacznika czasu, więc każdy ważny podpis zachowuje swoją ważność |
| Sekret | Należy użyć jako zwykły tekst. Proszę wkleić go dokładnie tak, jak przedstawił go nadawca |
W podpisanej treści żądania {body} stanowi surową treść żądania, bajt po bajcie, a {header:x-zendesk-webhook-signature-timestamp} stanowi nagłówek żądania x-zendesk-webhook-signature-timestamp.
Żądanie, które nie spełnia któregokolwiek z tych warunków, jest odrzucane z kodem błędu 401, rejestrowane w sekcji Historia i rozwiązywanie problemów i nigdy nie uruchamia przepływu pracy.
Krok 3 - Utwórz proces w Shopify Flow
- W Shopify Flow proszę utworzyć przepływ pracy i wybrać wyzwalacz Workflow Webhooks.
- Proszę kliknąć opcję Rejestruj zdarzenia, a następnie wysłać zdarzenie testowe z serwisu Zendesk (lub skorzystać z opcji Wyślij zdarzenie testowe w sekcji Workflow Webhooks), aby Shopify Flow rozpoznał strukturę Państwa danych.
- Każdy posiadany przez Państwa webhook uruchamia ten sam wyzwalacz w Shopify Flow, dlatego proszę dodać pierwszy warunek oparty na identyfikatorze webhooka, aby ten przepływ pracy dotyczył wyłącznie Zendesk. Identyfikator ten jest widoczny na stronie webhooka.
- Proszę dodać swoje działania - oznaczyć klienta, dodać notatkę, wysłać wewnętrzną wiadomość e-mail, zaktualizować metapole.



Krok 4 - Przeprowadź test od początku do końca
Wywołaj rzeczywiste zdarzenie w Zendesk. W sekcji Workflow Webhooks → Historia powinno być widoczne wywołanie o statusie Success. Jeśli podpis był nieprawidłowy, pojawi się zamiast tego wpis o niepowodzeniu wraz z przyczyną, a Weryfikacja podpisanych webhooków zawiera wyjaśnienie narzędzia do weryfikacji podpisu, które wskazuje dokładnie, który etap zakończył się niepowodzeniem.

Podpis nie jest zgodny
W następującej kolejności: klucz tajny (najczęstsza przyczyna - dodatkowa spacja lub klucz z niewłaściwego środowiska), czy nadawca korzysta z klucza tajnego innego punktu końcowego oraz czy cokolwiek pomiędzy Zendesk a aplikacją zmienia treść wiadomości. Podpisy obejmują surowe bajty, więc serwer proxy, który zmienia format JSON, powoduje ich uszkodzenie. Narzędzie do sprawdzania podpisów na stronie webhooka wyświetla dokładny tekst, który został podpisany.
Przy każdym żądaniu otrzymuję kod błędu 401
Proszę sprawdzić, czy w ustawieniach uwierzytelniania webhooka wybrano opcję HMAC z dostawcą Zendesk, czy wpisano klucz tajny oraz czy Zendesk wysyła dane na adres URL dokładnie taki, jaki wyświetla aplikacja, łącznie z kodem na końcu.
W historii nie ma żadnych wpisów
Żądanie nigdy nie dotarło. Proszę ponownie sprawdzić adres URL w Zendesk oraz zapoznać się z dziennikiem dostarczania Zendesk, aby sprawdzić, jaką odpowiedź otrzymał system. Kod 404 oznacza nieprawidłowy lub usunięty webhook, a kod 429 oznacza przekroczenie limitu wywołań przewidzianego w Państwa planie - zobacz Plany i sposób użytkowania.
Proces jest uruchamiany dla niewłaściwych zdarzeń
Każdy webhook w Państwa sklepie uruchamia ten sam wyzwalacz w Shopify Flow. Proszę dodać warunek oparty na identyfikatorze webhooka jako pierwszy krok przepływu pracy lub zawęzić zakres zdarzeń wysyłanych z Zendesk.
Powiązane
- Weryfikacja podpisanych webhooków - każdy dostawca, którego weryfikujemy, oraz sposób opisania tego, którego nie weryfikujemy.
- Mapowanie danych użytkowych i zmienne w Shopify Flow - pobieranie odpowiednich pól z danych przesyłanych i wprowadzanie ich do Shopify Flow.
- Ochrona przed podwójną dostawą - co się dzieje, gdy Zendesk ponawia próbę dostarczenia wiadomości.
- Historia i rozwiązywanie problemów - dziennik wszystkich żądań wraz z możliwością odtworzenia.
