> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octasend.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify

> Conecte sua loja Shopify para disparar comunicações a partir dos eventos da loja, recuperar checkouts abandonados e manter clientes, produtos e pedidos sincronizados

A integração com a **Shopify** conecta sua loja à OctaSend e faz três coisas:

* **Dispara comunicações sozinha** a partir dos eventos da loja: pedido pago, pedido enviado, checkout abandonado e outros. Você escolhe numa tela qual comunicação sai em cada evento.
* **Sincroniza clientes, produtos e pedidos** com o menu [E-commerce](https://docs.octasend.com.br/plataforma/ecommerce.md).
* **Alimenta as [automações](https://docs.octasend.com.br/plataforma/automacoes.md)** que começam por um evento da loja ou pela chegada de um pedido.

A integração é somente leitura: a OctaSend nunca altera nada na sua loja.

> [!NOTE]
>
> Nenhuma chamada de API é necessária; se você prefere disparar pelo seu próprio sistema, veja [Enviar mensagens](https://docs.octasend.com.br/api-reference/enviar-mensagens.md).

## Onde fica

No menu lateral, abra **Configurações → Integrações**. O card **Shopify** mostra o status, o nome da loja, o **Último evento** recebido e, quando houver, o motivo de um erro. Os status são os mesmos descritos em [Integrações](https://docs.octasend.com.br/integracoes/visao-geral.md#onde-fica).

Cada conta conecta **uma loja** Shopify, e uma loja fica conectada a **uma conta só**. As permissões nas telas seguem o seu perfil de acesso (página **Integrações**): com **Editar** você conecta, configura e desconecta; só com **Visualizar**, você apenas consulta.

## 1. Conectar

Há dois caminhos, e os dois terminam na mesma confirmação:

* **Pela OctaSend:** siga os passos abaixo.
* **Pelo app:** instale o app OctaSend na sua loja. Se você não estiver logado, a OctaSend pede login (ou cadastro) e depois volta para a confirmação.

**1. Informe a loja**

Em **Configurações → Integrações**, no card **Shopify**, informe o **Endereço da loja** (termina em `.myshopify.com`, o mesmo de **Configurações › Domínios** na Shopify) e clique em **Conectar com Shopify**.

**2. Autorize na Shopify**

Você é levado à Shopify para autorizar o acesso e depois volta para a OctaSend.

**3. Confirme a conexão**

Na tela **Confirmar conexão**, confira o nome da loja e da conta e clique em **Conectar**. Você vai para a tela de eventos.

O link da tela de confirmação vale **30 minutos** e **uma vez só**. Se expirar, instale o app de novo ou clique em **Conectar com Shopify**. Se a loja já estiver em outra conta OctaSend, desconecte por lá antes.

**O que a OctaSend lê da loja:** pedidos, clientes, produtos, remessas e temas. A leitura de temas serve só para saber se a incorporação da OctaTag está ativa (veja [OctaTag na loja](#octatag-na-loja)).

## 2. Mapear os eventos

Clique em **Configurar eventos** no card. Na aba **Mapeamento de eventos**, cada evento da loja recebe uma comunicação; evento sem comunicação não dispara nada. Se você ainda não tem comunicações, crie uma antes em [Comunicações](https://docs.octasend.com.br/plataforma/comunicacoes.md).

| Evento | Quando dispara |
| - | - |
| Pedido criado | O pedido é feito na loja |
| Pedido pago | O pagamento é confirmado |
| Pedido enviado | A remessa recebe um código de rastreio |
| Pedido entregue | A remessa é marcada como entregue |
| Pedido cancelado | O pedido é cancelado |
| Pedido reembolsado | Um reembolso é registrado no pedido |
| Cliente criou conta | O cliente cria uma conta na loja (compra sem conta não conta) |
| Checkout abandonado | O cliente deixa o checkout sem comprar ([veja abaixo](#checkout-abandonado)) |
| Produto criado, atualizado, removido | O produto muda na loja |

Pedidos, clientes e produtos chegam ao E-commerce mesmo antes de você mapear qualquer comunicação; o mapeamento só decide o que é enviado ao cliente. Os avisos de pedido enviado, entregue, reembolsado e checkout abandonado só são registrados na Shopify quando o evento está em uso (comunicação mapeada ou automação ativa). Cerca de uma vez por dia a OctaSend confere se a loja ainda tem todos os avisos e recria o que faltar.

A comunicação escolhida precisa ter pelo menos um **canal ativo compatível** com os dados do evento. Eventos de produto não têm destinatário: servem para automações e para manter o catálogo atualizado, não para enviar mensagem.

## 3. Variáveis do template

O painel **Variáveis disponíveis** mostra as variáveis do evento selecionado, com botão para copiar.

**Eventos de pedido** (criado, pago, enviado, entregue, cancelado, reembolsado)

| Variável | Conteúdo |
| - | - |
| `{{cliente_nome}}` | Nome de quem fez o pedido |
| `{{cliente_email}}` | E-mail de contato do pedido |
| `{{pedido_numero}}` | Número do pedido (ex.: #1001) |
| `{{pedido_total}}` | Valor total |
| `{{pedido_moeda}}` | Moeda (ex.: BRL) |
| `{{pedido_status_pagamento}}` | Status do pagamento |
| `{{pedido_status_envio}}` | Status do envio |
| `{{pedido_itens}}` | Itens, um por linha, como `2x Camiseta Preta` |
| `{{pedido_data}}` | Data de criação |
| `{{loja_nome}}` | Nome da loja |

* **Pedido enviado** e **Pedido entregue** têm ainda `{{codigo_rastreio}}`, `{{link_rastreio}}` e `{{transportadora}}`.
* **Pedido reembolsado** tem ainda `{{reembolso_valor}}` e `{{reembolso_data}}`.

**Outros eventos**

| Evento | Variáveis |
| - | - |
| Cliente criou conta | `{{cliente_nome}}`, `{{cliente_email}}`, `{{cliente_telefone}}`, `{{loja_nome}}` |
| Produto (criado, atualizado, removido) | `{{produto_nome}}`, `{{produto_preco}}`, `{{produto_estoque}}`, `{{produto_url}}`, `{{produto_id}}`, `{{loja_nome}}` |
| Checkout abandonado | `{{cliente_nome}}`, `{{cliente_email}}`, `{{carrinho_itens}}`, `{{carrinho_total}}`, `{{link_retomada}}`, `{{loja_nome}}` |

Uma variável que não existe no evento não é substituída: a mensagem chega com o texto `{{nome_da_variavel}}`. Uma variável que existe mas que a loja não preencheu chega vazia, então monte o texto de modo que faça sentido sem ela.

## Checkout abandonado

A OctaSend acompanha os checkouts da loja e, quando um deles fica parado sem virar compra, dispara o evento **Checkout abandonado**. No card **Shopify**, o botão **Checkout abandonado** abre a tela da conexão, onde a seção **Checkout abandonado** tem dois ajustes:

* **Considerar abandonado depois de:** de 15 a 1.440 minutos (24 horas). O padrão é 60.
* **Quem recebe o aviso:** **Só quem aceitou receber marketing** (padrão, vale o consentimento de e-mail ou SMS dado na Shopify) ou **Qualquer pessoa que deixou contato**. Nas duas opções, quem pediu para não receber mensagens da OctaSend continua de fora.

Clique em **Salvar alterações** para gravar. Regras que valem sempre:

* **Uma mensagem por checkout.**
* **Confirmação antes de enviar:** se o checkout virou pedido antes do envio, nada é mandado e o evento fica como **Ignorado**. Quem já comprou não recebe o aviso, nem quando a compra saiu por outro checkout com o mesmo e-mail ou telefone.
* **É marketing:** a mensagem respeita o descadastro, e o e-mail leva o link para sair da lista.
* **Sem uso, sem envio:** sem comunicação mapeada nem automação ativa para o evento, o checkout não é processado.
* Se o envio não puder ser feito, a OctaSend tenta de novo por até 24 horas depois do prazo; depois disso o checkout é encerrado como falha.

Para uma sequência de lembretes, use uma [automação](https://docs.octasend.com.br/plataforma/automacoes.md) com o gatilho do checkout abandonado.

## 4. Acompanhar

A aba **Eventos recebidos** lista o que chegou da loja, e a aba **Logs** junta as execuções das rotinas e os eventos num só histórico. Os status seguem o padrão das outras integrações: **Recebido**, **Enviado**, **Ignorado** (não há comunicação mapeada, comunicação inativa, sem e-mail nem telefone, sem canal compatível) e **Falhou**, sempre com o motivo. O resultado de cada canal fica em [Logs de mensagens](https://docs.octasend.com.br/plataforma/logs-de-mensagens.md).

> [!WARNING]
>
> **Dados protegidos de clientes podem chegar vazios.** A Shopify só entrega nome, e-mail, telefone e endereço para apps aprovados para esse acesso. Enquanto a aprovação não estiver concedida, ou em lojas que restringem esses dados, esses campos chegam vazios. Uma mensagem sem destinatário fica **Ignorada**, sem erro.

## 5. Importação e rotinas

Ao conectar, a OctaSend importa em segundo plano os **pedidos dos últimos 60 dias** (a Shopify não libera pedidos mais antigos para apps sem permissão específica), depois clientes e produtos. A importação não envia comunicações. Em lojas grandes ela pode parar no limite de tempo: o que já entrou fica, a integração mostra um aviso e você usa **Executar agora** para trazer o restante.

Depois, tudo chega pelos avisos que a Shopify envia a cada mudança, e uma conferência diária busca pedidos que um aviso perdido deixou de fora. Na aba **Rotinas**, o botão **Executar agora** repara manualmente quando você desconfia que algo não chegou. Cada execução aparece na aba **Logs**.

## OctaTag na loja

A OctaTag é o código que faz os widgets da OctaSend, como o Conteúdo Rico, funcionarem na vitrine. Na Shopify ela chega como uma **incorporação do app** que você ativa uma vez no editor de tema, sem colar código. O cartão **OctaTag na loja**, na mesma tela da conexão (botão **Checkout abandonado** do card **Shopify**), controla o resto.

> [!NOTE]
>
> A OctaTag automática é liberada aos poucos, conta por conta. Nas contas em que ainda não está disponível, o cartão **OctaTag na loja** não aparece para a Shopify.

Na primeira conexão, o interruptor **Instalar OctaTag na loja** já vem ligado. Se você reconectar depois, a OctaSend mantém a sua escolha.

**1. Ative a incorporação**

No cartão, em **Incorporação no tema**, clique em **Ativar na loja**. O editor de tema abre em uma nova aba, na página de produto.

**2. Confira e salve**

Na área **Incorporações do app**, confirme que **OctaTag** está ligada e clique em **Salvar** no editor de tema.

**3. Volte à OctaSend**

O estado muda para **Ativa** quando você volta para a aba. Se não mudar, clique em **Verificar de novo**.

* O estado mostrado é o do tema publicado. Se você trocar de tema, ative de novo no novo tema.
* Se aparecer **Não foi possível verificar a incorporação no tema** e você já ativou, nada a fazer. Se a loja foi conectada antes de o app pedir a leitura de temas, reconecte para autorizá-la.
* **Para desligar,** desligue **Instalar OctaTag na loja**. Como a vitrine guarda a resposta por alguns minutos, pode levar até 5 minutos para valer.
* Se você já colou a tag da OctaTag à mão no tema, ela prevalece: a incorporação não insere uma segunda.

### Conteúdo Rico automático

O interruptor **Inserir o Conteúdo Rico nas páginas de produto** faz o Conteúdo Rico do produto aparecer sozinho na página. Ele precisa da OctaTag ligada, da incorporação ativa no tema e do módulo Conteúdo Rico liberado para a sua conta.

* Se você informar um **Seletor CSS (opcional)** e clicar em **Salvar seletor**, o conteúdo entra logo depois desse elemento. Sem seletor, entra depois da seção principal do produto, pensado para o tema Dawn e parecidos; em outro tema, use o seletor.
* O conteúdo vem do próprio produto, com SKU, sem SKU ou com variantes. Produto que ainda não está no catálogo sincronizado não mostra Conteúdo Rico.
* A inserção acontece uma vez, quando a página carrega: trocar de variante não troca o conteúdo.
* Se você configurou a lista de domínios permitidos do embed, inclua `sua-loja.myshopify.com` e o seu domínio próprio, se houver.

**Limitações:** checkout, página de status do pedido e lojas headless (Hydrogen) não são cobertos. Uma política de segurança de conteúdo (CSP) que bloqueie scripts de outros endereços pode impedir a OctaTag de carregar.

## Pedidos de dados e remoção (LGPD)

A Shopify repassa à OctaSend os pedidos de privacidade dos seus clientes, tratados como na [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md):

* **Pedido de dados de um cliente:** a tela da integração mostra o aviso com o botão **Baixar dados**, que entrega um arquivo JSON com o que a OctaSend guarda desse cliente (cadastro e pedidos).
* **Remoção de um cliente:** o cadastro sai da OctaSend e os pedidos ficam sem nome, e-mail, telefone, documento e endereço; valores, datas, itens e status continuam, para as métricas. Também são apagados de [Contatos](https://docs.octasend.com.br/plataforma/contatos.md) os contatos da sua conta com o mesmo e-mail (ou, sem e-mail, o mesmo telefone); ficam os que conversaram com você no WhatsApp (inclusive em grupo) ou com o assistente do Chatbot do site.
* **Remoção da loja** (a Shopify pede depois que o app é desinstalado; se a loja não estiver desinstalada, nada é apagado): clientes, pedidos e produtos da loja saem da OctaSend. O mapeamento fica, para quando você conectar de novo.

## Desconectar

> [!WARNING]
>
> **Desconectar na OctaSend não desinstala o app na Shopify.** A OctaSend para de receber eventos e apaga o acesso guardado, mas o app continua instalado. Para removê-lo, desinstale em **Configurações → Apps** no painel da Shopify.

Se o app for desinstalado pela Shopify, a integração passa a **Desconectado**, o acesso é apagado e a tela pede para conectar de novo.

## Limitações

* Pedidos anteriores a 60 dias não são importados.
* Dados protegidos de clientes dependem da aprovação do app pela Shopify e podem vir vazios.
* **Pedido entregue** só dispara quando a Shopify marca a remessa como entregue.
* **Cliente criou conta** só dispara para quem tem conta na loja, não para quem comprou sem cadastro.

## Veja também

> [card] [Integrações](https://docs.octasend.com.br/integracoes/visao-geral.md)
>
> As plataformas disponíveis e o que muda entre elas

> [card] [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md)
>
> Telas de eventos, logs e rotinas, iguais às da Shopify

> [card] [E-commerce](https://docs.octasend.com.br/plataforma/ecommerce.md)
>
> Clientes, pedidos e produtos sincronizados da loja

> [card] [Automações](https://docs.octasend.com.br/plataforma/automacoes.md)
>
> Sequências de mensagens a partir de eventos da loja


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.