Kartläggning av nyttolast och Shopify Flow-variabler

Kartläggning av nyttolast och Shopify Flow-variabler

Kopiera sidan

Mappa upp till fyra fält i webhookens nyttolast till Shopify Flow-variabler med punktsökvägar, och se hur objekt, arrayer och saknade fält hanteras.

Triggerfälten i Shopify Flow är vanliga strängar. Din data är förmodligen inte det. Mappning innebär att du väljer ut de delar av en inkommande begäran som ditt arbetsflöde behöver.

De fyra områdena

Varje webhook tillhandahåller fyra fält till Shopify Flow: fieldOne, fieldTwo, fieldThree, fieldFour. Under ”Avancerade inställningar” ska du koppla vart och ett av dem till en nyckel i din payload.

Med utgångspunkt från följande förfrågningsinnehåll:

Fliken ”Avancerade inställningar” där fält 1 till fält 4 är kopplade till orderId, status, total och note
Avancerade inställningar: koppla upp till fyra värden från förfrågans huvuddel. De skickas till Shopify Flow som fieldOne till fieldFour.
Shopify Flow
Vad utlösaren skickar vidare till ditt arbetsflöde: webhook-ID:t och dina fyra mappade fält, visade tillsammans med värdena från en nyligen gjord begäran.
json
{
  "orderId": "1001",
  "customer": { "email": "someone@example.com", "name": "Alex" },
  "note": "gift wrap"
}
Fält Visa på kartan Värde som skickas till Shopify Flow
fieldOne orderId 1001
fieldTwo customer.email someone@example.com
fieldThree customer.name Alex
fieldFour note gift wrap

För inbäddade värden används punktseparerade sökvägar (customer.email). För arrayelement används ett index (items.0.sku).

I Shopify Flow hänvisar du till dem som {{fieldOne}}, {{fieldTwo}} och så vidare.

Objekt och arrayer

Om ett mappat värde i sig är ett objekt eller en array omvandlar vi det automatiskt till en JSON-sträng, eftersom Shopify Flow-variabler inte kan innehålla strukturer. När man mappar fieldOne till customer från exemplet ovan blir resultatet i Shopify Flow:

text
{"email":"someone@example.com","name":"Alex"}

Analysera den i en ”Shopify Flow Run Code”-åtgärd när du behöver delarna igen.

När fyra fält inte räcker till

Fyra namngivna fält täcker de flesta integrationerna. Om så inte är fallet finns det tre aktiveringsknappar, alla under ”Avancerade inställningar” och alla avstängda som standard:

Miljö Vad Shopify Flow tar emot Fält i Shopify Flow
Tillåt anpassad begärantext Accepterar alla kroppsformer utan strikta krav -
Använd hela kroppen Hela begäran som en JSON-sträng rawBody
Inkludera begärandehuvuden Begäranens rubriker i form av en lista med nyckel/värde-par requestHeaders
Inkludera sökparametrar URL-frågesträngen som en lista med nyckel-värde-par queryParams

requestHeaders och queryParams levereras som listor - gå igenom requestHeaders.items i en ”Kör kod”-åtgärd, där varje post är { key, value }.

Se till att storleken inte överstiger 50 KB

Shopify Flows begränsar varje utlösningskörning till 50 KB. Vi mäter den exakta datamängden som vi skulle skicka och avvisar allt som är större med payload_too_large redan från början, så att du får ett tydligt felmeddelande istället för att arbetsflödet misslyckas senare.

Om du stöter på problemet kan du skicka en mindre datamängd eller inaktivera alternativen ”Använd hela datamängden”, ”Inkludera förfrågningshuvuden” och ”Inkludera sökparametrar” - det är oftast dessa inställningar som orsakar problemet.

Rubriker och sökfrågor registreras alltid

Opt-in-omkopplarna styr endast vad som vidarebefordras till Shopify Flow. Anropshistoriken registrerar alltid rubrikerna och frågesträngen (med känsliga värden maskerade), så att du kan felsöka en begäran utan att skicka allt till ditt arbetsflöde.