> ## 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.

# Wake Commerce

> Conecte sua loja Wake Commerce por token para disparar comunicações de pedido, rastreio e carrinho abandonado e sincronizar pedidos e produtos

A integração com a **Wake Commerce** conecta sua loja à OctaSend por um token da API da Wake. Com ela você:

* **Dispara comunicações** a partir dos eventos de pedido: pedido novo, cada mudança de situação do pedido (com os nomes que a sua loja usa) e atualização de rastreio.
* **Recupera carrinhos abandonados**, com uma comunicação enviada a quem deixou o carrinho sem comprar.
* **Sincroniza pedidos e produtos** com o menu [E-commerce](https://docs.octasend.com.br/plataforma/ecommerce.md) e alimenta as [automações](https://docs.octasend.com.br/plataforma/automacoes.md) de pedido.

O funcionamento geral (mapeamento, variáveis, histórico e rotinas) é o mesmo da [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md). Esta página descreve o que é próprio da Wake.

## Antes de começar

Tenha em mãos, do painel da sua loja Wake:

| Item | Para que serve | Obrigatório |
| - | - | - |
| **Token da API** | Acesso aos pedidos e às situações de pedido da loja. Gere em **Configurações > Integrações > Tokens** no painel da Wake, liberando as permissões de pedidos e de situações de pedido. | Sim |
| **Identificador da loja** | O nome curto da loja, como aparece nas notificações da Wake. A OctaSend usa esse valor para confirmar que cada evento veio da sua loja. Maiúsculas, minúsculas e espaços nas pontas não fazem diferença. | Sim |
| **Token da Storefront API** | Consulta aos carrinhos em aberto. | Só para o carrinho abandonado |

## Conectar

**1. Abra o card da Wake**

Em **Configurações → Integrações**, clique em **Conectar** no card **Wake Commerce**.

**2. Preencha os dados da loja**

Na tela **Conectar Wake Commerce**, preencha **Identificador da loja**, **Nome da loja**, **Token da API** e, se for usar o carrinho abandonado, **Token da Storefront API**. Ajuste **Minutos até considerar o carrinho abandonado** se quiser (o padrão é 60).

**3. Conecte**

Clique em **Conectar**. O botão só fica disponível com identificador, nome e token da API preenchidos. Se tudo der certo, a tela avisa **Loja conectada com sucesso.**

Regras da conexão:

* **O token é testado antes de gravar.** Se a Wake recusar o token, a tela mostra o motivo e nada é alterado. Uma loja que já estava conectada continua funcionando com o token anterior.
* **O identificador da loja não tem como ser conferido na conexão.** Se a Wake mandar eventos de uma loja com outro identificador, esses eventos aparecem como **Ignorado** e o card da integração avisa: *Recebemos eventos da loja "X", mas o identificador cadastrado é "Y". Corrija o identificador da loja em Editar conexão.* Veja *Editar a conexão*, abaixo.
* **Minutos até considerar o carrinho abandonado** aceita um número inteiro maior que zero. Na primeira conexão, um valor vazio ou inválido vira 60.
* O **Nome da loja** é o que aparece no card e na variável `{{loja_nome}}`.
* Ao conectar, a OctaSend cria na sua loja Wake uma inscrição de notificações chamada **Octasend**, com os eventos de pedido e de rastreio. Se essa etapa falhar, a tela mostra um aviso, mas a conexão vale: os pedidos continuam chegando pela conferência periódica (veja a seção **Como os eventos são processados**, abaixo).
* Ao conectar, a OctaSend importa em segundo plano os pedidos dos **últimos 12 meses**, até 10.000, e cria as rotinas de **Produtos** e **Pedidos**, ativas e rodando a cada 5 minutos.
* Cada conta OctaSend conecta **uma loja** Wake.

Os status do card (**Não conectado**, **Conectado**, **Com erro**, **Desconectado**) têm o mesmo significado descrito na página da [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md#onde-fica).

## Mapear os eventos

Com a loja conectada, clique em **Configurar eventos** no card. Na aba **Mapeamento de eventos** da tela **Eventos da Wake Commerce**, escolha a comunicação de cada evento e clique em **Salvar**.

| Evento | Código |
| - | - |
| Pedido novo | `pedido.novo` |
| Situação do pedido: (nome da situação) | `pedido.situacao.alterado:` seguido do número da situação |
| Rastreamento do pedido atualizado | `pedido.rastreamento.alterado` |
| Rastreamento de um item atualizado | `pedido.produto.rastreamento.alterado` |
| Carrinho abandonado | `carrinho.abandonado` |

* **Uma linha por situação de pedido.** A Wake avisa toda mudança de situação por um único tipo de evento. A OctaSend separa por situação e mostra uma linha para cada situação cadastrada na sua loja, com o nome que você usa na Wake. Assim, "Pago" e "Cancelado" podem disparar comunicações diferentes.
* As situações são lidas da loja cada vez que você abre a tela. Se a Wake não responder, a tela mostra só os eventos fixos, e **Salvar** é recusado com um aviso de que não foi possível validar os eventos com a loja, para você tentar de novo. Nada é gravado pela metade.
* **Diferente da Nuvem Shop, todos os eventos de pedido chegam desde a conexão**, mapeados ou não. Um evento sem comunicação escolhida aparece em **Eventos recebidos** como **Ignorado**.
* As demais regras do mapeamento (uma comunicação por evento, comunicação inativa não envia, comunicação excluída é descartada com aviso, edição bloqueada com a integração **Com erro** ou **Desconectado**) são as mesmas da [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md).

### Quem recebe a mensagem

* **Eventos de pedido:** o e-mail e o telefone de quem fez o pedido na Wake. Para o telefone, vale o celular; sem celular, o residencial.
* **Carrinho abandonado:** o e-mail e o telefone que o script da loja informou (veja [Carrinho abandonado](#carrinho-abandonado)).

Telefones com 10 ou 11 dígitos (DDD e número) recebem o código do Brasil (55) automaticamente.

## Variáveis

**Eventos de pedido** (pedido novo e situações)

| Variável | Conteúdo |
| - | - |
| `{{cliente_nome}}` | Nome de quem fez o pedido |
| `{{cliente_email}}` | E-mail de quem fez o pedido |
| `{{pedido_numero}}` | Número do pedido na Wake |
| `{{pedido_total}}` | Valor total do pedido |
| `{{pedido_frete}}` | Valor do frete |
| `{{pedido_desconto}}` | Valor do desconto aplicado |
| `{{pedido_cupom}}` | Cupom de desconto usado |
| `{{pedido_itens}}` | Lista dos itens, um por linha, no formato `2x Camiseta Preta` |
| `{{pedido_data}}` | Data em que o pedido foi feito |
| `{{pedido_situacao}}` | Nome da situação atual do pedido, como cadastrado na sua loja |
| `{{loja_nome}}` | Nome da loja informado na conexão |

**Eventos de rastreio** têm as variáveis de pedido e mais:

| Variável | Conteúdo |
| - | - |
| `{{codigo_rastreio}}` | Código de rastreio do envio |
| `{{link_rastreio}}` | Link de rastreio do envio |
| `{{transportadora}}` | Transportadora responsável |
| `{{data_envio}}` | Data em que o pedido foi despachado |

Se a Wake ainda não tiver o rastreio do pedido, essas variáveis chegam vazias.

**Carrinho abandonado**

| Variável | Conteúdo |
| - | - |
| `{{cliente_nome}}` | Nome de quem abandonou o carrinho, se o script informou |
| `{{carrinho_itens}}` | Lista dos itens, um por linha |
| `{{carrinho_total}}` | Valor total do carrinho |
| `{{carrinho_subtotal}}` | Subtotal antes de frete e descontos |
| `{{carrinho_cupom}}` | Cupom aplicado ao carrinho |
| `{{link_retomada}}` | Link para o cliente retomar a compra |
| `{{primeiro_item_nome}}` | Nome do primeiro item do carrinho |
| `{{primeiro_item_imagem}}` | Imagem do primeiro item do carrinho |
| `{{primeiro_item_sku}}` | SKU do primeiro item do carrinho |
| `{{loja_nome}}` | Nome da loja informado na conexão |

Os valores em dinheiro (`pedido_total`, `pedido_frete`, `pedido_desconto`, `carrinho_total`, `carrinho_subtotal`) chegam com duas casas decimais e ponto, sem símbolo de moeda (ex.: `199.90`).

## Como os eventos são processados

A Wake dá à OctaSend só um segundo para responder a cada aviso. Por isso, a OctaSend confirma o recebimento na hora e processa o evento logo depois:

* O evento aparece em **Eventos recebidos** como **Recebido** e é processado em ordem de chegada, normalmente em até um minuto. Com muitos eventos acumulados, eles são processados em lotes, sempre na ordem em que aconteceram.
* **Uma comunicação por pedido e evento:** se a comunicação de um evento já foi enviada para aquele pedido, um novo aviso do mesmo evento para o mesmo pedido aparece como **Ignorado**, com o motivo de que a comunicação para aquele pedido e evento já foi enviada.
* **Conferência de pedidos perdidos:** a cada 15 minutos, a OctaSend consulta os pedidos da loja dos últimos 45 minutos. Um pedido que não tem nenhum evento registrado é processado com o evento da **situação atual** dele. Um pedido que já teve qualquer evento registrado não é processado de novo.
* Se a integração for desconectada antes de um evento ser processado, ele fica como **Falhou**, com o motivo de que a integração está indisponível ou desconectada.
* Se a Wake recusar o token, a integração fica **Com erro** e pede para você reconectar.

Os status **Recebido**, **Enviado**, **Ignorado** e **Falhou**, a aba **Logs** e o limite de envio por minuto funcionam como na [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md).

## Carrinho abandonado

A comunicação de carrinho abandonado é enviada a quem colocou produtos no carrinho da sua loja Wake, informou um contato e não finalizou a compra.

**1. Informe o token da Storefront API**

Preencha **Token da Storefront API** na conexão. É com ele que a OctaSend confere o conteúdo do carrinho e se ele virou pedido.

**2. Mapeie o evento Carrinho abandonado**

Em **Configurar eventos → Mapeamento de eventos**, escolha a comunicação do evento **Carrinho abandonado** e clique em **Salvar**.

**3. Instale o script na loja**

Assim que a loja fica conectada, a tela **Conectar Wake Commerce** mostra o card **Script de carrinho abandonado**. Para voltar a essa tela depois, use **Editar conexão** no card da integração. Copie o script e cole no template da sua loja. Defina `window.OCTASEND_EMAIL` e `window.OCTASEND_PHONE` (e, se quiser, `window.OCTASEND_NOME`) com o contato do comprador quando a loja já o conhecer, por exemplo com o cliente logado ou o e-mail digitado no checkout.

> [!TIP]
>
> Se você já colou a tag da OctaSend no site, ela cuida do carrinho abandonado e o script não é necessário. Veja [OctaTag](https://docs.octasend.com.br/plataforma/octatag.md).

Como funciona:

* O script avisa a OctaSend qual é o carrinho do comprador e o contato dele a cada página carregada, e de novo sempre que o carrinho ou o contato mudam. **Sem e-mail nem telefone, nada é registrado**: não haveria para quem enviar.
* O carrinho é considerado abandonado depois dos **minutos configurados** na conexão (padrão 60) sem novo aviso do script. A OctaSend verifica os carrinhos parados a cada 5 minutos.
* Antes de enviar, a OctaSend consulta o carrinho na Wake. Se ele **já foi finalizado**, nada é enviado. Se ele **não existe mais** ou **está vazio**, é descartado.
* **Cada carrinho recebe a comunicação uma vez só.** Se o comprador voltar a navegar depois da mensagem e não comprar, ele não é avisado de novo por aquele carrinho.
* O primeiro contato informado para um carrinho não é substituído depois. E-mails sem formato válido são recusados.
* Se, quando o carrinho for considerado abandonado, não houver comunicação **ativa** mapeada para **Carrinho abandonado**, o carrinho é descartado sem envio. Mapear depois não recupera esse carrinho.
* Carrinhos de uma integração desconectada são descartados.
* Os carrinhos não aparecem em **Eventos recebidos**. As mensagens enviadas aparecem em [Logs de mensagens](https://docs.octasend.com.br/plataforma/logs-de-mensagens.md).
* O carrinho abandonado usa só a comunicação do mapeamento: ele não inicia [automações](https://docs.octasend.com.br/plataforma/automacoes.md).
* O carrinho abandonado é uma mensagem de marketing, como as campanhas: um comprador descadastrado de um canal não recebe a mensagem nesse canal, e o e-mail leva o link de descadastro no rodapé. Veja [Descadastro por canal](https://docs.octasend.com.br/plataforma/contatos.md#descadastro-por-canal). Já as mensagens dos eventos de pedido são transacionais e saem mesmo para quem se descadastrou.

## Rotinas de sincronização

Na Wake, a aba **Rotinas** tem **Produtos** e **Pedidos**. Não há rotina de **Clientes**: a Wake não tem uma lista de clientes para consultar, e os clientes são montados a partir dos pedidos.

* **Produtos:** a primeira execução traz o catálogo inteiro; as seguintes, só o que mudou desde a execução anterior. Se a última execução foi há mais de 40 horas, a rotina lê o catálogo inteiro de novo.
* **Pedidos:** a primeira execução cobre a última hora; as seguintes, tudo o que mudou desde a execução anterior.
* Chave **Ativa**, intervalo, **Salvar** e **Executar agora** funcionam como na [Nuvem Shop](https://docs.octasend.com.br/integracoes/nuvemshop.md).

## O que é sincronizado

| Tipo | Origem |
| - | - |
| **Pedidos** | Cada pedido com número, situação (pelo nome cadastrado na loja), valor total, data e itens (nome e quantidade). Chegam pela importação da conexão, pelos eventos, pela rotina de **Pedidos** e por uma conferência que a OctaSend faz a cada 30 minutos nos pedidos da última hora. |
| **Clientes** | Montados a partir de quem fez cada pedido, identificados pelo e-mail. Um pedido sem e-mail não gera cliente. |
| **Produtos** | Os produtos do catálogo, com as variações, vêm pela rotina de **Produtos**. Os itens dos pedidos também são registrados como produtos, só com o nome. |

Os pedidos da Wake também disparam as automações com o gatilho **Chegou um pedido**, usando o nome da situação do pedido na loja. Veja [Automações](https://docs.octasend.com.br/plataforma/automacoes.md).

## Editar a conexão

Com a loja **Conectado**, o card da integração tem o botão **Editar conexão**, que abre a tela de conexão sem desconectar a loja:

* O **Identificador da loja**, o **Nome da loja** e os **Minutos até considerar o carrinho abandonado** já vêm preenchidos com o que está salvo.
* Os tokens salvos não são exibidos. Para salvar, informe de novo o **Token da API**: ele é testado na Wake antes de gravar.
* Deixe em branco o **Token da Storefront API** para manter o valor salvo.
* Clique em **Salvar conexão**. Salvar também tira do card o aviso de eventos de outra loja, e um evento com o identificador antigo que já estava a caminho não traz o aviso de volta.
* O card **Script de carrinho abandonado** aparece nessa mesma tela.

### Reconectar depois de um erro

Com a integração **Com erro** (por exemplo, quando a Wake recusa o token), o card mostra **Conectar**. A tela abre já preenchida com o identificador, o nome da loja e os minutos de abandono salvos: informe de novo o **Token da API** e clique em **Conectar**. O tempo de abandono que você tinha configurado é mantido, e o **Token da Storefront API** deixado em branco também.

## Desconectar

**Desconectar**, no card, age na hora e sem pedir confirmação: a inscrição **Octasend** é desativada na sua loja Wake (a Wake não permite apagá-la), os tokens guardados são apagados e param os eventos, o carrinho abandonado e as rotinas. O mapeamento, as rotinas e os dados do E-commerce são mantidos.

Para trocar o token ou o identificador de uma loja conectada, use **Editar conexão**. Depois de desconectar, clique em **Conectar** no card e preencha a tela de novo.

## 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)
>
> Detalhes do mapeamento, do histórico e das rotinas

> [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 dos pedidos da loja


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