Sådan forbinder du WooCommerce med Shopify Flow

WooCommerce kan sende en Webhook vedrørende ordrer, produkter, kunder og rabatkuponer fra en WordPress-butik. Workflow Webhooks omdanner dette opkald til en Shopify Flow-udløser, så din butik kan reagere på det: mærke en kunde, tilføje en ordrebemærkning, sende en intern e-mail, opdatere et metafelt - alt, hvad Shopify Flow kan gøre.

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

Hvad du kan bygge

  • Overfør en ordre fra en WooCommerce-butik til Shopify Flow: Mærk den relevante kunde eller tilføj en bemærkning.
  • Sørg for, at din liste over kunder forbliver opdateret, mens du skifter fra WooCommerce til Shopify.
  • Reagér i Shopify, når et produkt er udsolgt i WooCommerce.

Typiske hændelser, der skal sendes: order.created, order.updated, product.updated, customer.created.

Før 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 på WooCommerce 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. WooCommerce events.
  2. Vælg HMAC under »Autentificering«.
  3. Vælg WooCommerce under »Signature provider«. Appen udfylder automatisk felterne »header«, »algorithm«, »signed Payload« og »replay window« for dig - der er ikke andet, du skal konfigurere.
  4. Lad feltet »Secret« stå tomt foreløbig, og klik på »Gem«. Kopier den webhook-URL, der vises på siden.

Se Godkendelse for at få mere at vide om 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 WooCommerce

I WordPress skal du åbne WooCommerce → Indstillinger → Avanceret → Webhooks, tilføje en webhook med URL’en som leverings-URL og indstille den hemmelige nøgle.

Sådan finder du din WooCommerce-signaturnøgle

Den hemmelige indstilling for webhooken (WooCommerce → Indstillinger → Avanceret → Webhooks).

WooCommerces egen dokumentation om webhook-signaturer indeholder den nøjagtige ordlyd og skærmbilleder til din konto.

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

Hvad dette kontrollerer

Hvad Værdi
Signaturhoved X-WC-Webhook-Signature
Hvor underskriften er placeret Hele værdien i overskriften
Hvad der er underskrevet {body}
Underskrift HMAC-SHA256, base64-kodet
Tidskode Bruges ikke af denne afsender
Beskyttelse mod gentagelse Ingen - denne afsender underskriver ikke et tidsstempel, så alle gyldige underskrifter forbliver gyldige
Hemmeligheden Bruges som almindelig tekst. Indsæt den nøjagtigt, 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. Klik på »Optag begivenheder«, og send derefter en testbegivenhed fra WooCommerce (eller brug funktionen »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 omfatter WooCommerce. 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 en Shopify Flow-betingelse: Webhook-id’et er identisk med ID’et for en bestemt webhook
Det første trin i enhver arbejdsgang: en betingelse baseret på webhook-id’et, så arbejdsgangen kun udføres for netop denne webhook.
Den færdige arbejdsgang: Webhook-udløser, en betingelse baseret på webhook-ID’et, efterfulgt af »Send intern e-mail« i »True«-grenen
Den færdige arbejdsgang: udløser, betingelse baseret på webhook-ID’et og derefter din handling i »True«-grenen.

Trin 4 - Test det fra start til slut

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

En opkald blev åbnet i History med dens anmodningsheadere, payload, status, varighed og identifikatorer
En gennemført begivenhed i Historik: Status »Succes« betyder, at Shopify Flow har accepteret 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 endpunkts hemmelighed, og om noget mellem WooCommerce 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 forespørgsel▾

Kontroller, at webhookens godkendelse er indstillet til HMAC med WooCommerce-udbyderen valgt, at den hemmelige nøgle er udfyldt, og at WooCommerce sender data til URL’en nøjagtigt som vist i appen, inklusive koden i slutningen.

Der vises intet under »Historik«▾

Anmodningen blev aldrig modtaget. Tjek URL’en i WooCommerce igen, og se i WooCommerces egen leveringslog, hvilket svar systemet modtog. En 404 betyder, at webhooken er forkert eller er blevet slettet, mens en 429 betyder, at du har overskredet dit abonnements grænse for antal opkald - se Planer og anvendelse.

Arbejdsgangen kører for de forkerte begivenheder▾

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

Relateret