Mappatura del payload e variabili di flusso

Shopify Flow I campi trigger sono stringhe semplici. Probabilmente il Suo payload non lo è. La mappatura consiste nel selezionare le parti di una richiesta in entrata necessarie al Suo workflow.

I quattro campi

Ogni webhook espone quattro campi a Shopify Flow: fieldOne, fieldTwo, fieldThree, fieldFour. Nella sezione** “Impostazioni avanzate”**, associi ciascuno di essi a una chiave presente nel proprio payload.

Considerato il seguente corpo della richiesta:

La scheda “Impostazioni avanzate” con i campi da 1 a 4 associati rispettivamente a orderId, status, total e note
Impostazioni avanzate: è possibile mappare fino a quattro valori dal corpo della richiesta. Questi valori vengono inviati in Shopify Flow come fieldOne, fieldTwo, fieldThree e fieldFour.
Il pannello “Aggiungi una variabile” di Shopify Flow per il trigger Webhook, che elenca webhookId e da fieldOne a fieldFour con valori di esempio tratti da una richiesta recente
Ecco cosa fornisce il trigger al Suo workflow: l’ID del webhook e i Suoi quattro campi mappati, mostrati con i valori di una richiesta recente.
json
{
  "orderId": "1001",
  "customer": { "email": "someone@example.com", "name": "Alex" },
  "note": "gift wrap"
}
Campo Indicate la posizione su Un valore che raggiunge Shopify Flow
fieldOne orderId 1001
fieldTwo customer.email someone@example.com
fieldThree customer.name Alex
fieldFour note gift wrap

I valori annidati utilizzano percorsi con il punto (customer.email). Gli elementi degli array utilizzano un indice (items.0.sku).

In Shopify Flow li si indica come {{fieldOne}}, {{fieldTwo}} e così via.

Oggetti e array

Se un valore mappato è a sua volta un oggetto o un array, lo convertiamo automaticamente in una stringa JSON, poiché le variabili Shopify Flow non possono contenere strutture. Mappando fieldOne su customer dall’esempio sopra riportato, si ottiene in Shopify Flow:

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

Lo analizzi tramite l’azione “Esegui codice” di Shopify Flow quando ha bisogno di recuperare i dati.

Quando quattro campi non bastano

Quattro campi con nome specifico coprono la maggior parte delle integrazioni. Qualora ciò non fosse sufficiente, sono disponibili tre opzioni attivabili, tutte presenti nella sezione "Impostazioni avanzate" e disattivate per impostazione predefinita:

Ambientazione Cosa riceve Shopify Flow Campo in Shopify Flow
Consentire il corpo della richiesta personalizzato Accetta qualsiasi tipo di corporatura senza requisiti rigidi -
Utilizzi tutto il corpo L'intero corpo della richiesta sotto forma di stringa JSON rawBody
Includere le intestazioni della richiesta Le intestazioni della richiesta sotto forma di elenco chiave/valore requestHeaders
Includere i parametri di query La stringa di query dell'URL come elenco chiave/valore queryParams

requestHeaders e queryParams vengono forniti sotto forma di elenchi: si esegua l'iterazione su requestHeaders.items all'interno di un'azione "Esegui codice", in cui ogni voce è { key, value }.

Si prega di mantenere la dimensione inferiore a 50 KB

Shopify Flow limita ogni esecuzione del trigger a 50 KB. Misuriamo l’esatto payload che invieremmo e rifiutiamo qualsiasi dato di dimensioni superiori tramite payload_too_large, in modo che riceviate un errore chiaro anziché un workflow che fallisce in un secondo momento.

Se si verifica questo problema, inviate un corpo più piccolo oppure disattivate le opzioni “Usa l’intero corpo”, “Includi intestazioni della richiesta” e “Includi parametri di query”: solitamente sono proprio queste le cause del problema.

Le intestazioni e le query vengono sempre registrate

Gli interruttori di attivazione controllano esclusivamente ciò che viene inoltrato a Shopify Flow. La cronologia delle chiamate registra sempre le intestazioni e la stringa di query (con i valori sensibili mascherati), consentendovi così di eseguire il debug di una richiesta senza inviare l'intera richiesta al vostro workflow.