Mapeamento da carga útil e variáveis de fluxo
Shopify Flow Os campos de gatilho são cadeias de caracteres simples. A sua carga útil provavelmente não o é. O mapeamento consiste em selecionar as partes de um pedido recebido de que o seu fluxo de trabalho necessita.
Os quatro campos
Cada webhook disponibiliza quatro campos ao Shopify Flow: fieldOne, fieldTwo, fieldThree, fieldFour. Na secção** «Definições avançadas»**, associe cada um deles a uma chave na sua payload.
Tendo em conta o corpo desta solicitação:


{
"orderId": "1001",
"customer": { "email": "someone@example.com", "name": "Alex" },
"note": "gift wrap"
}| Campo | Localize-o no mapa | Valor que atinge o Shopify Flow |
|---|---|---|
fieldOne |
orderId |
1001 |
fieldTwo |
customer.email |
someone@example.com |
fieldThree |
customer.name |
Alex |
fieldFour |
note |
gift wrap |
Os valores aninhados utilizam caminhos com pontos (customer.email). Os elementos de um tabular utilizam um índice (items.0.sku).
No Shopify Flow, deve referir-se a elas como {{fieldOne}}, {{fieldTwo}} e assim por diante.
Objetos e matrizes
Se um valor mapeado for, ele próprio, um objeto ou uma matriz, convertemo-lo automaticamente numa cadeia de caracteres JSON, uma vez que as variáveis do Shopify Flow não podem conter estruturas. Ao mapear fieldOne para customer, conforme o exemplo acima, obtém-se no Shopify Flow:
{"email":"someone@example.com","name":"Alex"}Analise-o numa ação «Executar código» do Shopify Flow quando precisar de recuperar os elementos.
Quando quatro campos não são suficientes
Quatro campos com nome abrangem a maioria das integrações. Quando tal não acontece, dispõe de três opções de ativação, todas na secção «Definições avançadas» e todas desativadas por predefinição:
| Contexto | O que o Shopify Flow recebe | Campo em Shopify Flow |
|---|---|---|
| Permitir cuerpo de pedido personalizado | Aceita qualquer tipo de corpo sem uma validação rigorosa | - |
| Utilize todo o corpo | Todo o corpo da solicitação como uma cadeia de caracteres JSON | rawBody |
| Incluir cabeçalhos de pedido | Os cabeçalhos do pedido, sob a forma de uma lista de chaves/valores | requestHeaders |
| Incluir parâmetros de consulta | A cadeia de consulta da URL como uma lista de chave/valor | queryParams |
requestHeaders e queryParams são fornecidos como listas - itere requestHeaders.items numa ação «Executar Código», em que cada entrada corresponde a { key, value }.
Certifique-se de que o tamanho não ultrapasse os 50 KB
Shopify Flow limita cada execução do gatilho a 50 KB. Medimos exatamente o payload que iríamos enviar e rejeitamos qualquer coisa maior com um payload_too_large logo no início, para que receba um erro claro em vez de um fluxo de trabalho que falhe mais tarde.
Se ocorrer esse problema, envie um corpo de mensagem mais pequeno ou desative as opções «Utilizar corpo completo», «Incluir cabeçalhos de pedido» e «Incluir parâmetros de consulta» - estas opções são, normalmente, o que provoca o problema.
Os cabeçalhos e a consulta são sempre registados
Os interruptores de ativação controlam apenas o que é encaminhado para o Shopify Flow. O histórico de invocações regista sempre os cabeçalhos e a cadeia de consulta (com os valores sensíveis mascarados), pelo que pode depurar um pedido sem enviar tudo para o seu fluxo de trabalho.

