Så här kopplar du Lemon Squeezy till Shopify Flow

Så här kopplar du Lemon Squeezy till Shopify Flow

Kopiera sidan

Koppla Lemon Squeezy till Shopify Flow med webhooks och HMAC-verifiering. Tagga kunder, uppdatera metafält och skicka e-post vid order och prenumerationer.

Lemon Squeezy säljer digitala produkter och prenumerationer och meddelar dig om varje beställning, prenumeration och licensändring. Workflow Webhooks omvandlar detta meddelande till en utlösare i Shopify Flow, så att din butik kan reagera på det: märka en kund, lägga till en beställningsanteckning, skicka ett internt e-postmeddelande, uppdatera ett metafält - allt som Shopify Flow kan göra.

Den här guiden beskriver hela processen - Lemon Squeezy skickar, Workflow Webhooks tar emot och verifierar, Shopify Flow utför åtgärden - där Lemon Squeezys HMAC-signatur kontrolleras vid varje förfrågan, så att endast Lemon Squeezy kan starta ditt arbetsflöde.

Vad du kan bygga

  • Märk den Shopify-kund som även har köpt en digital produkt, så att produktpaket och segment stämmer överens.
  • Ange den aktiva licensnivån i kundregistret som ett metafält.
  • Skicka ett e-postmeddelande till ditt team när en kund med nyligen genomförda Shopify-beställningar säger upp sin prenumeration.

Vanliga händelser som ska skickas: order_created, subscription_created, subscription_cancelled, license_key_created.

Innan du börjar

  • Workflow Webhooks-funktioner som är installerade i din Shopify-butik.
  • Shopify Flow är installerat, vilket är gratis att hämta från Shopify App Store.
  • Ett konto på Lemon Squeezy med behörighet att skapa webhooks.

Steg 1 - Skapa webhooken i Workflow Webhooks

  1. Öppna ”Workflow Webhooks”** -> ”Webhooks” -> ”Skapa webhook”** och ge den ett namn som du känner igen i Shopify Flow, till exempel Lemon Squeezy events.
  2. Under ”Autentisering” väljer du HMAC.
  3. Under ”Signaturleverantör” väljer du Lemon Squeezy. Appen fyller i rubriken, algoritmen, den signerade datamängden och återuppspelningsfönstret åt dig - det finns inget annat att konfigurera.
  4. Lämna fältet för hemligheten tomt för tillfället och klicka på Spara. Kopiera webhook-URL:en som visas på sidan.

Se Autentisering för övriga autentiseringslägen och Kartläggning av nyttolast och Shopify Flow-variabler för information om hur du väljer vilka fält som ska skickas till Shopify Flow.

Steg 2 - Lägg till slutpunkten i Lemon Squeezy

I Lemon Squeezy öppnar du Inställningar -> Webhooks, lägger till en webhook med den URL du kopierade, väljer händelserna och anger en signeringsnyckel.

Så här hittar du din hemliga kod för att registrera dig hos Lemon Squeezy

Den signeringshemlighet som du angav när du skapade webhooken.

Lemon Squeezys egen dokumentation om webhook-signaturer innehåller den exakta formuleringen och skärmdumpar för just ditt konto.

Klistra in den hemliga koden i fältet ”Secret” för webhooken i Workflow Webhooks och spara. Från och med då verifieras varje leverans från Lemon Squeezy innan den når Shopify Flow.

Vad detta kontrollerar

Vad Värde
Signaturrubrik X-Signature
Var signaturen ska placeras Hela värdet i rubriken
Vad som har undertecknats {body}
Signatur HMAC-SHA256, hexadecimalt kodad
Tidsstämpel Används inte av denna avsändare
Skydd mot uppspelning Ingen - den här avsändaren signerar inte tidsstämpeln, så alla giltiga signaturer förblir giltiga
Hemligheten Används som ren text. Klistra in den exakt så som avsändaren visar den

I den signerade nyttolasten är {body} den obearbetade begäran, byte för byte.

En begäran som inte uppfyller något av dessa krav avvisas med 401, registreras i Historik och felsökning och sätter aldrig igång ett arbetsflöde.

Steg 3 - Skapa arbetsflödet i Shopify Flow

  1. I Shopify Flow skapar du ett arbetsflöde och väljer utlösaren ”Workflow Webhooks”.
  2. Klicka på ”Spela in händelser” och skicka sedan en testhändelse från Lemon Squeezy (eller använd funktionen ”Skicka test” i Workflow Webhooks) så att Shopify Flow lär sig hur dina data ser ut.
  3. Varje webhook som du äger aktiverar samma utlösare i Shopify Flow, så lägg till ett första villkor baserat på webhook-id:t för att begränsa detta arbetsflöde till endast Lemon Squeezy. Id:t visas på webhook-sidan.
  4. Lägg till dina åtgärder - märk en kund, lägg till en anteckning, skicka ett internt e-postmeddelande, uppdatera ett metafält.
Shopify Flow
I Shopify Flow väljer du ”Välj en utlösare”, öppnar ”Workflow Webhooks” och väljer ”Webhook-utlösare”.
Ett villkor i Shopify Flow: Webhook-ID:t är lika med ID:t för en webhook
Det första steget i varje arbetsflöde: ett villkor baserat på webhook-ID:t, så att arbetsflödet endast körs för just denna webhook.
Det färdiga arbetsflödet: Webhook-utlösare, ett villkor baserat på webhook-ID:t, följt av att ett internt e-postmeddelande skickas i ”True”-grenen
Det färdiga arbetsflödet: utlösare, villkor baserat på webhook-ID:t, följt av din åtgärd i ”True”-grenen.

Steg 4 - Testa systemet från början till slut

Utlös en riktig händelse i Lemon Squeezy. Under ”Workflow Webhooks” → ”History” bör du se anropet med statusen ”Success”. Om signaturen var felaktig får du istället en post som visar att det misslyckades, tillsammans med orsaken, och Verifiering av signerade webhooks förklarar signaturkontrollen som visar exakt vilket steg som misslyckades.

En anropning öppnades i ”History” med dess begärandehuvuden, nyttolast, status, varaktighet och identifierare
En genomförd händelse i Historik: statusen ”Framgång” innebär att Shopify Flow har godkänt den.
Signaturen stämmer inte överens

I följande ordning: hemligheten (den vanligaste orsaken - ett extra mellanslag eller en nyckel från fel miljö), om avsändaren använder en annan ändpunkts hemlighet, och om något mellan Lemon Squeezy och appen omskriver huvudtexten. Signaturerna täcker de råa byte, så en proxy som omformaterar JSON bryter dem. Signaturtestaren på webhook-sidan visar den exakta texten som signerades.

Jag får felkod 401 vid varje förfrågan

Kontrollera att webhookens autentisering är inställd på HMAC med leverantören Lemon Squeezy vald, att den hemliga nyckeln är ifylld och att Lemon Squeezy skickar data till URL:en exakt så som den visas i appen, inklusive koden i slutet.

Det visas inget i historiken

Begäran kom aldrig fram. Kontrollera URL-adressen i Lemon Squeezy igen och titta i Lemon Squeezys egen leveranslogg för att se vilket svar som mottogs. Ett 404-fel innebär att webhooken är felaktig eller har tagits bort, medan ett 429-fel innebär att du har överskridit antalet anrop som ingår i ditt abonnemang - se Planer och användning.

Arbetsflödet körs för fel händelser

Varje webhook i din butik utlöser samma utlösare i Shopify Flow. Lägg till ett villkor baserat på webhook-ID:t som det första steget i arbetsflödet, eller begränsa vilka händelser du skickar från Lemon Squeezy.

Relaterat