Jak połączyć Lemon Squeezy zShopify Flow
Połącz Lemon Squeezy z Shopify Flow przez Workflow Webhooks: weryfikacja HMAC, tagi klientów, metapola i e-maile po zamówieniach i subskrypcjach.
Lemon Squeezy zajmuje się sprzedażą produktów cyfrowych i subskrypcji oraz powiadamia Państwa o każdym zamówieniu, subskrypcji i zmianie licencji. Workflow Webhooks przekształca to powiadomienie w wyzwalacz Shopify Flow, dzięki czemu Państwa sklep może na nie zareagować: przypisać klientowi tag, 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.
W niniejszym przewodniku opisano cały proces - Lemon Squeezy wysyła dane, Workflow Webhooks je odbiera i weryfikuje, a Shopify Flow podejmuje odpowiednie działania - przy czym w każdym żądaniu sprawdzany jest podpis HMAC serwisu Lemon Squeezy, dzięki czemu wyłącznie Lemon Squeezy może uruchomić Państwa przepływ pracy.
Co można zbudować
- Proszę oznaczyć klienta Shopify, który zakupił również produkt cyfrowy, tak aby pakiety i segmenty były ze sobą spójne.
- Proszę wpisać poziom aktywnej licencji do rekordu klienta jako metapole.
- Proszę wysłać wiadomość e-mail do swojego zespołu, gdy klient, który niedawno złożył zamówienia w Shopify, anuluje subskrypcję.
Typowe zdarzenia, które należy przesyłać: order_created, subscription_created, subscription_cancelled, license_key_created.
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 Lemon Squeezy z uprawnieniami do tworzenia webhooków.
Krok 1 - Utwórz webhook w sekcji Workflow Webhooks
- Otwórz sekcję Workflow Webhooks → Webhooks → Utwórz webhook i nadaj mu nazwę, którą rozpoznasz w Shopify Flow, na przykład
Lemon Squeezy events. - W sekcji Uwierzytelnianie proszę wybrać opcję HMAC.
- W sekcji Dostawca podpisu proszę wybrać opcję Lemon Squeezy. Aplikacja automatycznie wypełni pola nagłówka, algorytmu, podpisanej treści oraz okna odtwarzania - nie ma potrzeby konfigurowania żadnych innych 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 - Proszę dodać punkt końcowy w Lemon Squeezy
W aplikacji Lemon Squeezy proszę otworzyć sekcję Ustawienia → Webhooki, dodać webhook, podając skopiowany adres URL, wybrać zdarzenia oraz wprowadzić klucz podpisujący.
Jak odkryć swój sekret podpisywania się jako „Lemon Squeezy”
Sekret podpisu, który wprowadzili Państwo podczas tworzenia webhooka.
Własna dokumentacja serwisu Lemon Squeezy dotycząca podpisów webhooków zawiera 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 i zapisz. Od tego momentu każda dostawa z serwisu Lemon Squeezy będzie weryfikowana przed dotarciem do Shopify Flow.
Co to sprawdza
| Co | Wartość |
|---|---|
| Nagłówek podpisu | X-Signature |
| Miejsce umieszczenia podpisu | Cała wartość nagłówka |
| Co zostało podpisane | {body} |
| Podpis | HMAC-SHA256, zakodowany w systemie szesnastkowym |
| 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.
Żą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 Lemon Squeezy (lub skorzystać z opcji Wyślij test 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 prosimy o dodanie pierwszego warunku opartego na identyfikatorze webhooka, aby ograniczyć ten przepływ pracy wyłącznie do Lemon Squeezy. 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 Lemon Squeezy. W sekcji Workflow Webhooks → Historia powinno pojawić się 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 opis 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 coś pomiędzy Lemon Squeezy a aplikacją zmienia treść wiadomości. Podpisy obejmują surowe bajty, więc serwer proxy, który zmienia format JSON, unieważnia je. Narzędzie do sprawdzania podpisów na stronie webhooka pokazuje 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 oraz dostawcę Lemon Squeezy, czy wpisano klucz tajny oraz czy Lemon Squeezy wysyła dane na adres URL dokładnie taki, jak wyświetla go 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 Lemon Squeezy oraz zapoznać się z dziennikiem dostarczania Lemon Squeezy, aby sprawdzić, jaką odpowiedź otrzymał. 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 Lemon Squeezy.
Powiązane
- Weryfikacja podpisanych webhooków - każdy dostawca, którego weryfikujemy, oraz sposób opisania dostawcy, 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 firma Lemon Squeezy ponawia próbę dostawy.
- Historia i rozwiązywanie problemów - dziennik wszystkich żądań wraz z możliwością odtworzenia.
