Pasar datos desde Shopify Flow
El diseño de su correo electrónico es una forma con huecos. Las variables (JSON) son la forma en que Shopify Flow rellena esos huecos.
Este es el error más habitual, por lo que merece la pena dedicarle cinco minutos.
Las dos mitades
| ¿Dónde? | Lo que escribe | Ejemplo |
|---|---|---|
| En el diseño de su correo electrónico | El marcador de posición | Hi {{ variables.firstName }} |
| En la acción «Shopify Flow» | El JSON que lo proporciona | {"firstName": "{{ order.customer.firstName }}"} |
La clave situada a la izquierda del JSON debe coincidir exactamente con el nombre que aparece después de variables. en su diseño: debe tener la misma ortografía y el mismo uso de mayúsculas. firstName y firstname son dos variables diferentes.
Deje que la aplicación genere el JSON por usted
No es necesario que escriba esto a mano, y probablemente no debería hacerlo.
Abra su diseño. En la barra lateral (o en la pestaña «Variables de prueba» del generador visual) encontrará una ficha «Usar en Shopify Flow» que contiene el código JSON exacto para ese diseño, con todas las claves ya configuradas correctamente. Pulse «Copiar JSON» y, a continuación, péguelo en el campo «Variables (JSON)» de su acción «Enviar correo electrónico transaccional».
La aplicación rellena la propiedad «Shopify Flow» en los campos que reconoce: nombre del cliente, nombre del pedido, importe total del pedido, URL de la página de estado y similares. Todo aquello que no pueda deducir aparecerá como <pick a Flow variable> para que usted lo sustituya.
Cómo debe ser el JSON
{
"firstName": "{{ order.customer.firstName }}",
"orderName": "{{ order.name }}",
"statusPageUrl": "{{ order.statusPageUrl }}"
}
Normas que conviene conocer:
- Encerre cada valor de Shopify Flow entre comillas dobles.
"orderName": {{ order.name }}no es un JSON válido;"orderName": "{{ order.name }}"es correcto. - Separe las entradas con comas; no ponga ninguna coma después de la última.
- Usted mismo puede elegir los nombres de las claves. Solo tienen que ajustarse a su configuración. Si en su configuración figura
{{ variables.kunde }}, la clave eskunde. - Los valores se reciben como texto. Los números y las fechas se muestran tal y como los haya representado Shopify Flow.


El error más habitual: los artículos
Un pedido consta de muchos artículos, por lo que no hay un único objeto variant.title que se pueda leer. Esto no devuelve ningún resultado:
{{ order.lineItems.variant.title }}
Tiene dos buenas opciones.
Opción 1: bucle dentro del diseño. Envíe la lista y, a continuación, itere. En la acción «Shopify Flow»:
{
"items": "{{ order.lineItems | json }}"
}
En su diseño, utilice un bloque «Loop»:
{% for item in variables.items %}
<tr>
<td>{{ item.title }}</td>
<td>{{ item.quantity }}</td>
</tr>
{% endfor %}
Opción 2: simplifíquelo en Shopify Flow. Si solo necesita una línea de texto, créela en Shopify Flow con un bucle for y envíe la cadena resultante:
{
"itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}
Si la aplicación detecta una variable que parece corresponder a datos de partida individual - cualquier variable denominada variant, product, item, sku o quantity - , le avisará al respecto en la ficha «Usar en» (Shopify Flow).
Los valores de prueba no son valores en tiempo real
Esto confunde a casi todo el mundo.
- Las variables de prueba del editor de maquetación solo influyen en la vista previa y en la opción «Enviar correo electrónico de prueba».
- Una ejecución en tiempo real de Shopify Flow los ignora por completo y utiliza lo que le envíe la acción de Shopify Flow.
Por lo tanto, un correo electrónico de prueba que tenga un aspecto impecable demuestra que su diseño funciona. No demuestra nada sobre la configuración de Shopify Flow. Confírmelo siempre con una ejecución real del flujo de trabajo.
Cuando una variable no contiene ningún valor
Desde la versión 1.10.0, la aplicación se lo indica directamente, en lugar de dejarle con la duda.
Si un envío en tiempo real deja una variable sin valor, la entrada del historial muestra una etiqueta que indica «Variables vacías», y al abrirla se muestran exactamente cuáles son, divididas en dos casos:
| Caso | Significado | Corregir |
|---|---|---|
| Enviado por Shopify Flow, pero sin contenido | La clave se encontraba en su JSON, pero Shopify Flow no generó ningún valor | La ruta de la propiedad «Shopify Flow» es incorrecta o está realmente vacía para este pedido (una compra como invitado no tiene customer.firstName) |
| No ha sido enviado por Shopify Flow en absoluto | La clave no aparece en absoluto en su JSON | Añádalo: el botón «Copiar JSON» le proporciona el conjunto completo |
Cómo evitar los valores vacíos
En el caso de cualquier elemento opcional, incluya una alternativa en el diseño para que el cliente nunca reciba un espacio en blanco:
Hi {{ variables.firstName | default: "there" }}
Si se aplica el filtro default:, la aplicación considera que un valor vacío es intencionado y no mostrará ninguna advertencia al respecto.
Lista de comprobación
- Copie el código JSON de la ficha «Usar en Shopify Flow» de su diseño.
- Péguelo en el campo «Variables (JSON)» de la acción de Shopify Flow.
- Sustituya cualquier
<pick a Flow variable>utilizando el selector de variables de Shopify Flow. - Recorra los artículos uno a uno en lugar de leerlos directamente.
- Añada
| default:a cualquier elemento opcional. - Ejecute el flujo de trabajo de verdad y, a continuación, compruebe en «Historial» si aparece la insignia «Variables vacías».
Relacionado
- Variables y líquido - la referencia completa sobre plantillas.
- Crear un diseño de correo electrónico - el diseño de la maquetación en sí.
- Historial y resolución de problemas - leer un envío fallido o en blanco.

