# Shopify

> Veja como conectar a sua plataforma com a Shopify.

Com a integração da Shopify, cada pedido pago libera o acesso do aluno aos cursos da entrega. Pedido cancelado remove o acesso.

:::aviso Integração em validação
A leitura dos pedidos da Shopify ainda não foi validada com uma venda real. Faça um pedido de teste e confira o resultado (passo 3) antes de vender.
:::

## 1. Crie a entrega na sua plataforma

1. No painel, acesse **Vendas › Entregas** e clique em **Nova Entrega**.
2. Na tela **Selecione um Gateway**, digite "Shopify" no filtro e clique em **Shopify**.
3. Dê um nome à entrega e escolha a **Modalidade de Venda**: **Venda única** ou **Assinatura**.
4. Em **Conexão com o gateway**, cole no campo **ID do Produto** o ID do produto na Shopify (veja abaixo). Um por linha.
5. Em **Conteúdo entregue**, marque os cursos ou vitrines que a venda libera e, se quiser, o **Tempo de acesso** e a turma em **Liberação**. Em **Tags**, marque as tags que o aluno deve receber.
6. Clique em **Salvar**.
7. Copie o endereço completo do campo **URL de Postback**, no formato `https://<sua-plataforma>/api/postback/shopify/<token>`. Ele só aparece depois de salvar.

### Onde encontrar o ID do produto na Shopify

No admin da Shopify, abra a página de edição do produto e copie o número que aparece na URL. Repita para cada produto que você quer entregar.

## 2. Configure o webhook na Shopify

1. No admin da Shopify, vá em **Settings › Notifications**.
2. Role até **Webhooks** e clique em **Create Webhook**. Crie um webhook para cada evento:
   - pedido pago (order payment)
   - pedido cancelado (order cancelled)
3. Formato: **JSON**.
4. Em **URL**, cole a URL de postback copiada da entrega.
5. Use a versão mais recente da API Admin da Shopify.
6. Clique em **Salvar**.

:::aviso Uma URL para cada entrega
A URL de postback leva o token de **uma** entrega e só libera o conteúdo dela. Como o webhook da Shopify envia os pedidos de todos os produtos, pedidos de produtos que não estão nessa entrega aparecem com erro em **Vendas › Vendas** (você pode usar **Ignorar** neles). Se vários produtos liberam o mesmo conteúdo, coloque todos os IDs na mesma entrega.
:::

## 3. Teste

1. No webhook criado, clique nas reticências (**...**) e envie um teste. O teste traz dados fictícios e pode aparecer em **Vendas › Vendas**, na aba **Com erro**. Se apareceu, a URL está certa.
2. Faça um pedido real com um e-mail que **não** seja de administrador da plataforma.
3. Abra a venda (menu **···** › **Ver detalhes**) e confira o evento recebido, os **IDs de produto/oferta no payload** e, se houver, o **Motivo do erro**. Se aparecer "Evento não reconhecido", a integração ainda não lê esse envio: não use a Shopify para liberar acesso até isso ser resolvido.
4. Se o problema era só o ID, corrija a entrega e clique em **Reprocessar** na venda.

:::info Integração por leitura automática
A plataforma reconhece os campos mais comuns do envio da Shopify (e-mail, número do pedido, status e IDs dos produtos). Valide com uma venda real antes de abrir as vendas. Se algo não for reconhecido, a venda aparece em **Vendas › Vendas**, na aba **Com erro**, com o motivo.
:::
