Sådan forbinder du Sendcloud med Shopify Flow

Sendcloud håndterer forsendelse og pakkesporing. Tjenesten sender en Webhook, hver gang en pakkes status ændres. Workflow Webhooks omdanner dette kald til en Shopify Flow-udløser, så din butik kan reagere på det: mærke en kunde, tilføje en ordrekommentar, sende en intern e-mail, opdatere et metafelt - alt, hvad Shopify Flow kan gøre.

Denne vejledning beskriver hele forløbet - Sendcloud sender, Workflow Webhooks modtager og verificerer, Shopify Flow udfører handlingen - hvor Sendclouds HMAC-signatur kontrolleres ved hver eneste anmodning, så kun Sendcloud kan igangsætte din arbejdsgang.

Hvad du kan bygge

  • Tilføj en ordrekommentar, så snart en pakke er leveret, uden at skulle forespørge transportørens API.
  • Send en e-mail til kundens tildelte kontaktperson, når en levering mislykkes.
  • Mærk ordrer, der er forsinket under transporten længere end forventet, så supporten kan gribe ind.

Typiske hændelser, der skal sendes: en pakke er anmeldt, en pakke er undervejs, en pakke er leveret, en levering mislykkes.

Inden du går i gang

  • Workflow Webhooks installeret på din Shopify-butik.
  • Shopify Flow installeret, som kan hentes gratis fra App Store på Shopify.
  • En konto hos Sendcloud med tilladelse til at oprette webhooks.

Trin 1 - Opret webhook på Workflow Webhooks

  1. Åbn Workflow Webhooks -> Webhooks -> Opret webhook, og giv den et navn, du kan genkende i Shopify Flow, f.eks. Sendcloud events.
  2. Vælg HMAC under »Autentificering«.
  3. Vælg Sendcloud under »Signaturudbyder«. Appen udfylder selv overskriften, algoritmen, den signerede Payload og replay-vinduet for dig - der er ikke andet, du skal konfigurere.
  4. Lad feltet »Secret« være tomt foreløbig, og klik på »Gem«. Kopier den webhook-URL, der vises på siden.

Se Godkendelse for de øvrige godkendelsesmetoder, og Kortlægning af payload og strømningsvariabler for at vælge, hvilke felter der skal sendes til Shopify Flow.

Trin 2 - Tilføj endpointet i Sendcloud

I Sendcloud skal du åbne integrationens indstillinger og indstille webhook-URL’en til den URL, du har kopieret. Integrationens hemmelige nøgle er det, der underskriver anmodningen.

Sådan finder du din Sendcloud-signeringsnøgle

Integrationens hemmelige nøgle (eller Webhook-signaturnøglen).

Sendclouds egen vejledning om webhook-signaturer indeholder den nøjagtige formulering og skærmbilleder til netop din konto.

Indsæt den hemmelige nøgle i feltet »Secret« under Webhooken på Workflow Webhooks og gem. Fra det øjeblik bliver hver eneste Sendcloud-levering verificeret, inden den når frem til Shopify Flow.

Hvad dette kontrollerer

Hvad Værdi
Signaturhoved Sendcloud-Signature
Hvor underskriften er placeret Hele værdien i overskriften
Hvad der er underskrevet {body}
Underskrift HMAC-SHA256, hex-kodet
Tidspunkt Bruges ikke af denne afsender
Beskyttelse mod afspilning Ingen - denne afsender underskriver ikke et tidsstempel, så alle gyldige underskrifter forbliver gyldige
Hemmeligheden Bruges som almindelig tekst. Indsæt den præcis, som afsenderen har angivet den

I den signerede payload er {body} den rå anmodningstekst, byte for byte.

En anmodning, der ikke opfylder et af disse kriterier, afvises med fejlmeddelelsen »401«, registreres i »Historik og fejlfinding« og udløser aldrig en arbejdsgang.

Trin 3 - Opret arbejdsgangen »Shopify Flow«

  1. I »Shopify Flow« skal du oprette en arbejdsgang og vælge udløseren »Workflow Webhooks«.
  2. Tryk på »Optag begivenheder«, og send derefter en testbegivenhed fra Sendcloud (eller brug »Send test« i Workflow Webhooks), så Shopify Flow kan lære dine datas struktur at kende.
  3. Hver eneste webhook, du har, udløser den samme Shopify Flow-trigger, så tilføj en første betingelse baseret på webhook-id’et for at sikre, at denne arbejdsgang kun gælder for Sendcloud. Id’et vises på webhook-siden.
  4. Tilføj dine handlinger - tag en kunde, tilføj en note, send en intern e-mail, opdater et metafelt.
Shopify Flow
I »Shopify Flow« skal du vælge »Select a trigger«, åbne »Workflow Webhooks« og vælge »Webhook Trigger«.
I Shopify Flow: Webhook-id’et er det samme som ID’et for en bestemt webhook
Det første trin i enhver arbejdsgang: en betingelse baseret på webhook-id’et, så arbejdsgangen kun kører for netop denne webhook.
Den færdige arbejdsgang: Webhook-udløser, en betingelse baseret på webhook-ID’et, og derefter »Send intern e-mail« på »True«-grenen
Den færdige arbejdsgang: udløser, betingelse baseret på webhook-ID’et, og derefter din handling på »True«-grenen.

Trin 4 - Test det fra start til slut

Udløs en reel begivenhed i Sendcloud. Under »Workflow Webhooks« -> »History« bør du kunne se opkaldet med status »Success«. Hvis signaturen var forkert, får du i stedet en fejlmelding med årsagen, og på Bekræftelse af signerede webhooks finder du en forklaring til signaturtesteren, der viser dig præcis, hvilket trin der mislykkedes.

En anmodning, der er åbnet i History, med dens anmodningsheadere, payload, status, varighed og identifikatorer
En gennemført begivenhed i History: Status »Succes« betyder, at Shopify Flow har godkendt den.
Underskriften stemmer ikke overens▾

I denne rækkefølge: hemmeligheden (den mest almindelige årsag - et ekstra mellemrum eller en nøgle fra det forkerte miljø), om afsenderen bruger en anden endpoints hemmelighed, og om noget mellem Sendcloud og appen omskriver brødteksten. Signaturerne dækker de rå bytes, så en proxy, der omformaterer JSON, ødelægger dem. Signaturtesteren på webhook-siden viser den nøjagtige tekst, der blev signeret.

Jeg får en 401-fejl ved hver eneste anmodning▾

Kontroller, at webhookens godkendelse er indstillet til HMAC med Sendcloud valgt som udbyder, at den hemmelige nøgle er udfyldt, og at Sendcloud sender til URL’en præcis som angivet i appen, inklusive koden i slutningen.

Der vises intet under »Historik«▾

Anmodningen er aldrig kommet frem. Tjek URL’en igen i Sendcloud, og se i Sendclouds egen leveringslog, hvilket svar systemet har modtaget. En 404 betyder, at webhooken er forkert eller er blevet slettet, mens en 429 betyder, at du har overskredet dit abonnements grænse for antallet af kald - se Planer og anvendelse.

Arbejdsgangen kører for de forkerte begivenheder▾

Hver webhook i din butik udløser den samme Shopify Flow-trigger. Tilføj en betingelse baseret på webhook-id’et som det første trin i arbejdsgangen, eller begræns de begivenheder, du sender fra Sendcloud.

Relateret