Asignación de la carga útil y variables de flujo

Shopify Flow Los campos de activación son cadenas de texto simples. Es probable que su payload no lo sea. La asignación consiste en seleccionar las partes de una solicitud entrante que necesita su flujo de trabajo.

Los cuatro campos

Cada webhook expone cuatro campos a Shopify Flow: fieldOne, fieldTwo, fieldThree, fieldFour. En la sección «Configuración avanzada», asigne cada uno de ellos a una clave de su payload.

Teniendo en cuenta el cuerpo de esta solicitud:

La pestaña «Configuración avanzada», en la que los campos 1 a 4 están asignados a «orderId», «status», «total» y «note»
Configuración avanzada: asigne hasta cuatro valores del cuerpo de la solicitud. Estos se reciben en Shopify Flow como fieldOne a fieldFour.
El panel «Añadir una variable» de Shopify Flow para el activador Webhook, en el que se muestran «webhookId» y «fieldOne» a «fieldFour» con valores de ejemplo de una solicitud reciente
Lo que los activadores le proporcionan a su flujo de trabajo: el ID del webhook y sus cuatro campos asignados, que se muestran con los valores de una solicitud reciente.
json
{
  "orderId": "1001",
  "customer": { "email": "someone@example.com", "name": "Alex" },
  "note": "gift wrap"
}
Campo Localícelo en el mapa Un valor que alcanza Shopify Flow
fieldOne orderId 1001
fieldTwo customer.email someone@example.com
fieldThree customer.name Alex
fieldFour note gift wrap

Los valores anidados utilizan rutas con puntos (customer.email). Los elementos de una matriz utilizan un índice (items.0.sku).

En Shopify Flow, se hace referencia a ellos como {{fieldOne}}, {{fieldTwo}}, etc.

Objetos y matrices

Si un valor asignado es en sí mismo un objeto o una matriz, lo convertimos automáticamente en una cadena JSON, ya que las variables de Shopify Flow no pueden contener estructuras. Al asignar fieldOne a customer, tal y como se muestra en el ejemplo anterior, se obtiene en Shopify Flow:

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

Analícelo en una acción «Ejecutar código» de Shopify Flow cuando necesite recuperar los datos.

Cuando cuatro campos no son suficientes

Cuatro campos con nombre específico cubren la mayoría de las integraciones. Cuando no sea así, dispone de tres opciones de activación, todas ellas en «Configuración avanzada» y desactivadas por defecto:

Escenario Lo que recibe Shopify Flow Campo en Shopify Flow
Permitir el cuerpo de solicitud personalizado Acepta cualquier tipo de figura sin requisitos estrictos de validación -
Utilice todo el cuerpo El cuerpo completo de la solicitud como cadena JSON rawBody
Incluya los encabezados de la solicitud Los encabezados de la solicitud en forma de lista de pares clave-valor requestHeaders
Incluya los parámetros de consulta La cadena de consulta de la URL como una lista de clave/valor queryParams

requestHeaders y queryParams se reciben como listas: recorra requestHeaders.items en una acción «Ejecutar código», donde cada entrada es { key, value }.

Procure que no supere los 50 KB

Shopify Flow limita cada ejecución de activador a 50 KB. Medimos la payload exacta que enviaríamos y rechazamos cualquier dato de mayor tamaño mediante un payload_too_large desde el principio, de modo que se le muestre un error claro en lugar de que el flujo de trabajo falle más adelante.

Si se produce el error, envíe un cuerpo más pequeño o desactive las opciones «Usar cuerpo completo», «Incluir encabezados de solicitud» e «Incluir parámetros de consulta»; esas suelen ser las causas que provocan el error.

Las cabeceras y las consultas siempre se registran

Los interruptores de activación controlan únicamente lo que se reenvía a Shopify Flow. El historial de invocaciones siempre registra los encabezados y la cadena de consulta (con los valores confidenciales ocultos), por lo que puede depurar una solicitud sin enviar toda la información a su flujo de trabajo.