# Shopify + Brew

Activa automatizaciones de Brew con eventos de clientes, pedidos, checkouts y preparación de pedidos de Shopify. Permite crear flujos de bienvenida, de recibo, de checkout abandonado y de envío del pedido.

URL canónica: https://brew.new/es/browse/integrations/shopify

- Dirección: Entrada de datos
- Conexión: Secreto del webhook
- Disparadores por eventos de e-commerce

## Funciones disponibles

- **Disparadores por eventos**: Activa automatizaciones de Brew con eventos de clientes, pedidos, checkouts y preparación de pedidos de Shopify. Permite crear flujos de bienvenida, de recibo, de checkout abandonado y de envío del pedido.

## Convierte los eventos de tu tienda en emails útiles

Conecta Shopify para activar emails fieles a tu marca cuando un cliente se registra, se paga un pedido, se crea un checkout o se envía un pedido. Brew admite 13 tipos de evento de webhook de Shopify, entre clientes, pedidos, checkouts y preparación de pedidos.

La configuración usa webhooks que creas en el panel de control de Shopify. No necesitas ninguna app de Shopify, ni un client ID ni OAuth. Shopify sigue encargándose de los pedidos, los pagos y la preparación de pedidos. Brew crea y envía los emails.


## Qué puedes crear

- Emails de bienvenida para clientes: el evento customers/create se emite cuando se crea un registro de cliente en Shopify.
- Confirmaciones de pedido y recibos: el evento orders/create se emite cuando se hace un pedido, y orders/paid, cuando se captura el pago. Los dos incluyen orderNumber, totalPrice, currency y financialStatus. Elige uno por mensaje para no enviar duplicados.
- Avisos de cancelación: el evento orders/cancelled se emite cuando se cancela un pedido e incluye el número de pedido y el estado del pago.
- Notificaciones de envío del pedido: el evento fulfillments/create incluye trackingNumber y trackingUrl cuando la preparación del pedido los tiene. El evento orders/fulfilled también se emite cuando se envía un pedido, pero no tiene campos de seguimiento, así que elige un solo disparador para cada notificación de envío.
- Seguimiento de la preparación de pedidos: el evento fulfillments/update se emite cuando cambia una preparación de pedido. El campo fulfillmentStatus es el estado de procesamiento de la preparación, como pending, success o failure, no una confirmación de entrega. Para un agradecimiento tras la entrega o una solicitud de reseña, dispara un evento personalizado de Brew solo después de que tu aplicación confirme la entrega.
- Recordatorios de checkout: el evento checkouts/create se emite cuando se crea un checkout y puede incluir abandonedCheckoutUrl, un enlace para retomar el checkout.
- Coordina estos emails con las notificaciones a clientes de Shopify para que un cliente no reciba el mismo mensaje de Shopify y de Brew.

## Los recordatorios de checkout necesitan comprobar el estado

El evento checkouts/create se emite cuando se crea el checkout, no cuando se abandona. Un flujo de recordatorio empieza ahí y espera. Hacer un pedido no detiene una ejecución que ya ha empezado.

Tras un paso de Espera, una condición lee los campos actuales del contacto, como shopify_last_order_status y shopify_last_order_at. Esos campos describen el último pedido que Brew ha visto, no este checkout en concreto, así que no pueden demostrar que este checkout se convirtiera en un pedido.

El evento checkouts/update se emite cada vez que cambia el checkout, no tras un tiempo fijo, así que por sí solo no sirve como segundo recordatorio programado.

Un checkout sin dirección de email no inicia ninguna automatización, salvo que Brew ya haya visto un email para el mismo ID de cliente de Shopify. Antes de publicar, prueba un checkout que acabe en pedido y otro que no.


## Configura Shopify en Brew

- Abre Integraciones, elige Shopify y selecciona Generar URL del webhook.
- Escribe tu dominio myshopify.com, como acme.myshopify.com, no el dominio personalizado de tu tienda online. Brew lo compara con el encabezado X-Shopify-Shop-Domain de cada webhook.
- En el panel de control de Shopify, abre Configuración > Notificaciones y desplázate hasta Webhooks. Shopify solo envía cada tipo de evento al webhook creado para él, así que crea un webhook para cada evento que vayas a usar. En Formato, selecciona JSON, pega la URL de Brew y elige la versión más reciente de la API.
- Copia el secreto de firma que aparece al final de la sección Webhooks. El mismo secreto firma todos los webhooks de la tienda. Pégalo en Brew y selecciona Conectar.
- Abre el menú de cada webhook que creaste y selecciona Enviar prueba. La primera prueba cambia el estado en Brew de “Esperando un evento de prueba” a “Conectado”, y cada prueba marca su evento como recibido. Una prueba solo verifica el webhook: Brew no añade ningún contacto ni inicia ninguna automatización.
- Al conectar, Brew crea disparadores para los 13 tipos de evento. No hay ningún interruptor para activar o desactivar eventos, pero un tipo de evento sin webhook en Shopify nunca se emite.
- Crea una automatización, selecciona su evento de Shopify y envía una prueba mientras siga siendo un borrador. Cuando llega un evento que coincide, solo se ejecutan las automatizaciones activas.

## Eventos de Shopify compatibles

Brew admite 13 tipos de evento de webhook:

- customers/create
- customers/update
- customers/delete
- customers/enable
- customers/disable
- orders/create
- orders/paid
- orders/cancelled
- orders/fulfilled
- checkouts/create
- checkouts/update
- fulfillments/create
- fulfillments/update

## Sincronización de contactos y personalización

Cada evento verificado con una dirección de email real crea o actualiza un contacto de Brew, identificado por su email, tanto si alguna automatización usa el evento como si no. Cuando los datos están disponibles, Brew completa el nombre, el apellido, shopify_customer_id y shopify_shop_domain.

Los eventos de pedidos actualizan shopify_last_order_number, shopify_last_order_total, shopify_last_order_currency y shopify_last_order_at. Los eventos orders/create, orders/paid y orders/cancelled también completan shopify_last_order_status, y orders/fulfilled completa shopify_last_fulfillment_status. Los eventos de preparación de pedidos actualizan shopify_last_tracking_number, shopify_last_tracking_url y shopify_last_fulfillment_status. Los eventos de checkout actualizan shopify_last_checkout_url.

Los eventos customers/delete, customers/disable y customers/enable establecen shopify_account_status en deleted, disabled o active. Brew no elimina el contacto ni lo da de baja, así que filtra por ese campo cuando sea importante.

Usa el esquema de payload declarado del evento seleccionado para las etiquetas de combinación. Todos los eventos incluyen email, firstName, lastName, currency, shopDomain y createdAt cuando están disponibles. Los eventos de pedidos añaden orderNumber, totalPrice, financialStatus y fulfillmentStatus. Los de checkout añaden totalPrice y abandonedCheckoutUrl. Los de preparación de pedidos añaden trackingNumber, trackingUrl y fulfillmentStatus.

El campo totalPrice es el importe que envía Shopify en la moneda del pedido, como 49.95, no en centavos. Los payloads no incluyen las líneas del pedido, y los ID de los objetos de Shopify no son etiquetas de combinación.

Los webhooks de clientes de Shopify ya no incluyen el consentimiento de marketing, así que Brew no lo recibe. Guarda el consentimiento por separado y compruébalo antes de hacer envíos promocionales.


## ¿Brew admite reembolsos y eventos de carrito?

No. Shopify no tiene ningún tipo de evento orders/refunded, y su webhook de reembolsos no incluye el cliente. El evento carts/update no tiene la identidad del destinatario, así que Brew no puede enviar emails a partir de él con seguridad. No añadas webhooks para esos tipos de evento.


## ¿Por qué aparece un evento sin que se envíe ningún email?

Recibir un evento y enviar un email son pasos distintos. Confirma que haya una automatización coincidente activa; después, revisa sus filtros y su historial de ejecuciones, y comprueba que el destinatario pueda recibir el email y el estado del dominio de envío. Una entrega hecha con Enviar prueba aparece como evento de prueba y nunca inicia una automatización. Un evento sin dirección de email de un cliente desconocido se registra como no resuelto.


## Límites y solución de problemas

- Brew no puede modificar clientes, pedidos ni preparaciones de pedidos de Shopify.
- Un error 401 con shop_domain_mismatch significa que el dominio que escribiste en Brew no coincide con la tienda que envía el webhook. Vuelve a conectar con el dominio myshopify.com canónico.
- Si rotas el secreto de firma en Shopify, vuelve a conectar con el valor nuevo. Brew exige que el secreto tenga al menos 16 caracteres.
- Si un disparador muestra “Aún no hay eventos”, crea un webhook de Shopify para ese tipo de evento y envía una prueba desde él.
- Los webhooks de pedidos pueden omitir el nombre del cliente. Usa un valor predeterminado en la etiqueta de combinación de firstName, como un saludo genérico.
- Revisa el consentimiento y la finalidad de cada email. Sincronizar los clientes de Shopify no autoriza a hacer envíos promocionales.

## Fuentes y guías de configuración

- [Guía de configuración de Shopify](https://docs.brew.new/integrations/import/shopify)
- [Crea una automatización](https://docs.brew.new/create-emails/build-an-automation)
- [Etiquetas de combinación](https://docs.brew.new/create-emails/merge-tags)
- [Qué puedes enviar con Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Webhooks de Shopify](https://shopify.dev/docs/apps/build/webhooks)

## Relacionado

- [Todas las integraciones](https://brew.new/es/browse/integrations.md)
- [Crear cuenta](https://brew.new/es/sign-up.md)
- Sitio web: https://brew.new
