# Shopify + Brew

Dispare automações do Brew a partir de eventos de clientes, pedidos, checkout e processamento do Shopify. Alimenta fluxos de boas-vindas, recibo, checkout abandonado e entrega.

URL canônica: https://brew.new/pt-br/browse/integrations/shopify

- Direção: Entrada de dados
- Conexão: Segredo de webhook
- Gatilhos de eventos de e-commerce

## Funcionalidades disponíveis

- **Gatilhos de evento**: Dispare automações do Brew a partir de eventos de clientes, pedidos, checkout e processamento do Shopify. Alimenta fluxos de boas-vindas, recibo, checkout abandonado e entrega.

## Transforme eventos da loja em e-mails úteis

Conecte o Shopify para disparar e-mails com a cara da sua marca quando um cliente se cadastra, um checkout é criado ou um pedido é pago ou despachado. O Brew é compatível com 13 tópicos de webhook do Shopify, que cobrem clientes, pedidos, checkouts e processamentos.

A configuração usa webhooks que você cria no admin do Shopify. Você não precisa de um app do Shopify, de um client ID nem de OAuth. O Shopify continua responsável pelos pedidos, pelos pagamentos e pelo processamento. O Brew cria e envia os e-mails.


## O que você pode criar

- E-mails de boas-vindas para clientes: o evento customers/create é disparado quando um registro de cliente é criado no Shopify.
- Confirmações de pedido e recibos: o evento orders/create é disparado quando um pedido é feito, e o orders/paid, quando o pagamento é capturado. Os dois trazem orderNumber, totalPrice, currency e financialStatus. Escolha um deles para cada mensagem, para evitar duplicatas.
- Avisos de cancelamento: o evento orders/cancelled é disparado quando um pedido é cancelado e traz o número do pedido e o status financeiro.
- Avisos de despacho: o evento fulfillments/create traz trackingNumber e trackingUrl quando o processamento tem esses dados. O orders/fulfilled também é disparado quando um pedido é despachado, mas não tem campos de rastreamento, então escolha um único gatilho para cada e-mail de despacho.
- Acompanhamento do processamento: o evento fulfillments/update é disparado quando um processamento é atualizado. O campo fulfillmentStatus é o status do processamento, como pending, success ou failure, e não uma confirmação de entrega. Para um agradecimento ou uma solicitação de avaliação depois da entrega, dispare um evento personalizado do Brew só depois que a sua aplicação confirmar a entrega.
- Lembretes de checkout: o evento checkouts/create é disparado quando um checkout é criado e pode trazer abandonedCheckoutUrl, um link que retoma o checkout.
- Alinhe esses e-mails com as notificações para clientes do Shopify, para que um cliente não receba a mesma mensagem dos dois lados.

## Lembretes de checkout precisam conferir o estado atual

O evento checkouts/create é disparado quando o checkout é criado, e não quando ele é abandonado. Um fluxo de lembretes começa ali e aguarda. Fazer um pedido não interrompe uma execução que já começou.

Depois de uma etapa Aguardar, uma condição lê os campos atuais do contato, como shopify_last_order_status e shopify_last_order_at. Eles descrevem o último pedido que o Brew viu, e não este checkout específico, então não comprovam que este checkout virou um pedido.

O evento checkouts/update é disparado sempre que o checkout muda, e não depois de um intervalo definido, então ele não funciona sozinho como um segundo lembrete com hora marcada.

Um checkout sem endereço de e-mail não inicia nenhuma automação, a menos que o Brew já tenha visto um e-mail para o mesmo ID de cliente do Shopify. Antes de publicar, teste um checkout que vira pedido e outro que não vira.


## Configure o Shopify no Brew

- Abra Integrações, escolha Shopify e selecione Gerar URL do webhook.
- Insira o seu domínio myshopify.com, como acme.myshopify.com, e não o domínio personalizado da sua loja. O Brew compara esse domínio com o cabeçalho X-Shopify-Shop-Domain de cada webhook.
- No admin do Shopify, abra Configurações > Notificações e role até Webhooks. O Shopify só envia um tópico para um webhook criado para ele, então crie um webhook para cada evento que você pretende usar. Defina o formato como JSON, cole a URL do Brew e escolha a versão mais recente da API.
- Copie o segredo de assinatura que aparece no fim da seção Webhooks. O mesmo segredo assina todos os webhooks da loja. Cole-o no Brew e selecione Conectar.
- Abra o menu de cada webhook que você criou e selecione Enviar teste. O primeiro teste muda o status no Brew de “Aguardando evento de teste” para “Conectado”, e cada teste marca o próprio evento como recebido. Um teste só verifica o webhook: o Brew não adiciona nenhum contato nem inicia nenhuma automação.
- Ao conectar, o Brew cria gatilhos para todos os 13 tópicos. Não há um botão para ativar ou desativar eventos, mas um tópico sem webhook no Shopify nunca é disparado.
- Crie uma automação, selecione o evento do Shopify dela e envie um teste enquanto ela ainda estiver como rascunho. Só automações ativas são executadas quando chega um evento correspondente.

## Eventos do Shopify compatíveis

O Brew é compatível com estes 13 tópicos 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

## Sincronização de contatos e personalização

Cada evento verificado com um endereço de e-mail real cria ou atualiza um contato do Brew, identificado pelo e-mail, independentemente de alguma automação usar o evento. Quando o evento traz esses dados, o Brew preenche o nome, o sobrenome e os campos shopify_customer_id e shopify_shop_domain.

Os eventos de pedido atualizam shopify_last_order_number, shopify_last_order_total, shopify_last_order_currency e shopify_last_order_at. Os eventos orders/create, orders/paid e orders/cancelled também preenchem shopify_last_order_status, e o orders/fulfilled preenche shopify_last_fulfillment_status. Os eventos de processamento atualizam shopify_last_tracking_number, shopify_last_tracking_url e shopify_last_fulfillment_status. Os eventos de checkout atualizam shopify_last_checkout_url.

Os eventos customers/delete, customers/disable e customers/enable definem shopify_account_status como deleted, disabled ou active. O Brew não remove o contato nem cancela a inscrição dele, então filtre por esse campo quando isso fizer diferença.

Use o esquema de payload declarado do evento selecionado para as tags de mesclagem. Todos os eventos incluem email, firstName, lastName, currency, shopDomain e createdAt, quando presentes. Os eventos de pedido acrescentam orderNumber, totalPrice, financialStatus e fulfillmentStatus. Os eventos de checkout acrescentam totalPrice e abandonedCheckoutUrl. Os eventos de processamento acrescentam trackingNumber, trackingUrl e fulfillmentStatus.

O campo totalPrice é o valor que o Shopify envia na moeda do pedido, como 49.95, e não em centavos. Os payloads não incluem os itens do pedido, e os IDs de objetos do Shopify não são tags de mesclagem.

Os webhooks de clientes do Shopify não incluem mais o consentimento de marketing, então o Brew não recebe essa informação. Registre o consentimento separadamente e confira-o antes de envios promocionais.


## O Brew é compatível com eventos de reembolso e de carrinho?

Não. O Shopify não tem um tópico orders/refunded, e o webhook de reembolso dele não traz nenhum cliente. O carts/update não tem a identidade de um destinatário, então o Brew não consegue enviar e-mails a partir dele com segurança. Não adicione webhooks para esses tópicos.


## Por que um evento aparece sem que um e-mail seja enviado?

Receber um evento e enviar um e-mail são etapas separadas. Confirme que uma automação correspondente está ativa, examine os filtros e o histórico de execuções dela e verifique a elegibilidade do destinatário e o domínio de envio. Uma entrega feita com Enviar teste aparece como evento de teste e nunca inicia uma automação. Um evento sem endereço de e-mail, de um cliente desconhecido, é registrado como não resolvido.


## Limites e solução de problemas

- O Brew não pode alterar clientes, pedidos nem processamentos do Shopify.
- Um erro 401 com shop_domain_mismatch significa que o domínio inserido no Brew não corresponde à loja que envia o webhook. Reconecte usando o domínio myshopify.com canônico.
- Se você rotacionar o segredo de assinatura no Shopify, conecte de novo com o novo valor. O Brew exige que o segredo tenha pelo menos 16 caracteres.
- Se um gatilho mostrar “Nenhum evento ainda”, crie um webhook no Shopify para esse tópico e envie um teste a partir dele.
- Os webhooks de pedido podem não trazer o nome do cliente. Na tag de mesclagem de firstName, use um valor padrão, como uma saudação genérica.
- Revise o consentimento e a finalidade de cada e-mail. Sincronizar clientes do Shopify não autoriza envios promocionais.

## Fontes e guias de configuração

- [Guia de configuração do Shopify](https://docs.brew.new/integrations/import/shopify)
- [Crie uma automação](https://docs.brew.new/create-emails/build-an-automation)
- [Tags de mesclagem](https://docs.brew.new/create-emails/merge-tags)
- [O que você pode enviar com o Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Webhooks do Shopify](https://shopify.dev/docs/apps/build/webhooks)

## Relacionados

- [Todas as integrações](https://brew.new/pt-br/browse/integrations.md)
- [Criar conta](https://brew.new/pt-br/sign-up.md)
- Site: https://brew.new
