E-commerce (Shopify)
Sincronize clientes e pedidos da sua loja Shopify para o CRM usando a sua própria loja (modelo BYO).
A integração de E-commerce usa a SUA loja Shopify (modelo BYO, "traga a sua própria loja"). Ela escuta os webhooks da sua loja e sincroniza para o CRM: cada cliente vira um Contato e cada pedido vira um Pedido de venda. Não há custo, margem nem intermediação nossa: os dados vêm direto da sua loja.
A integração nasce inerte: nada acontece até você preencher os campos e ativar. O webhook secret e o admin token ficam cifrados no CRM e nunca são exibidos de volta.
Pré-requisitos
- Uma loja Shopify com acesso de administrador (Shopify Admin) para criar webhooks e ver o signing secret.
- O domínio .myshopify.com da loja.
- No Sellio, ser administrador para salvar as credenciais e ativar a integração em Configurações → Integrações.
O que você precisa preencher
- Domínio da loja: o endereço .myshopify.com da sua loja (ex.: minhaloja.myshopify.com).
- Webhook secret (API secret): o segredo com que o Shopify assina os webhooks. Em Shopify Admin → Settings → Notifications aparece o "signing secret" dos webhooks (ou, se você usa uma app própria, o API secret dela). É esse valor que o CRM usa para verificar a assinatura (HMAC) de cada chamada.
- Admin API access token (opcional): só é necessário se, no futuro, você quiser que o CRM leia dados da loja pela API. Para apenas receber os webhooks, deixe em branco.
Como configurar
- Abra Configurações → Integrações e localize o cartão "E-commerce (Shopify)".
- Preencha o domínio da loja e o webhook secret e clique em "Salvar credenciais".
- Copie a "URL do webhook (Shopify)" que aparece.
- No Shopify Admin → Settings → Notifications → Webhooks, crie um webhook (formato JSON) apontando para essa URL para CADA um destes tópicos: customers/create, customers/update, orders/create, orders/paid.
- Volte ao CRM e clique em "Ativar".
O que acontece a cada evento
- customers/create e customers/update: o cliente é criado ou atualizado como Contato, casando por e-mail. O CRM guarda o id do cliente no Shopify para não duplicar em reentregas.
- orders/create e orders/paid: o pedido é criado ou atualizado como Pedido de venda (número, valor, moeda e status), vinculado ao Contato correspondente quando ele existe. O status vira "faturado" quando o pedido está pago, "cancelado" se foi cancelado, ou "confirmado" caso contrário.
Trate a URL do webhook e o webhook secret como secretos. O CRM verifica a assinatura X-Shopify-Hmac-Sha256 de cada chamada com o seu webhook secret; assinaturas inválidas são recusadas. Se você tentar ativar sem preencher o secret, a integração fica inerte: nada é sincronizado até tudo estar no lugar.
Como testar
- Com a integração ativada e os webhooks criados, no Shopify Admin → Settings → Notifications → Webhooks, use "Send test notification" em um dos webhooks (ou crie um pedido/cliente de teste na loja).
- No CRM, confira o objeto Contatos (para customers) e Pedidos de venda (para orders): o registro correspondente deve aparecer.
- Reenvie o mesmo teste e confirme que NÃO duplica: o CRM identifica o registro pelo id do Shopify.
Solução de problemas
- Assinatura inválida (chamada recusada): o webhook secret salvo no CRM difere do signing secret do Shopify. Copie de novo o secret (Settings → Notifications, ou o API secret da sua app) e cole no CRM.
- Não sincroniza nada: confirme que você criou um webhook (formato JSON) para CADA tópico: customers/create, customers/update, orders/create, orders/paid, todos apontando para a "URL do webhook (Shopify)".
- 404 na URL: a integração está desativada ou o token da URL mudou. Reative e recopie a URL para o Shopify.
- Pedido sem contato vinculado: o vínculo casa pelo e-mail do cliente; se o cliente ainda não existe como Contato, o pedido é criado sem vínculo e você associa depois.
- Campos que editei foram sobrescritos: só os campos vindos da loja são atualizados; o resto é preservado. Se um campo da loja mudou, ele reflete a loja por design.