Integração ERP em 15 minutos
Conecte um ERP à Sellit do zero: gerar o token, autenticar, sincronizar produtos e estoque, puxar pedidos e receber webhooks. Em cerca de 15 minutos.
O que você vai fazer
Este guia usa o Token de API da loja, o modo mais direto para uma loja conectar o próprio sistema. Sem App, sem OAuth. Você precisa apenas de uma loja na Sellit e acesso ao painel dela.
Ao final, seu ERP estará:
- autenticado na API da loja;
- enviando e atualizando produtos e estoque;
- lendo pedidos e recebendo eventos por webhook.
https://app.sellitbr.com/api/v1 como base e preços em reais (ex.: 89.90), não em centavos.Passo 1 — Gerar o token (2 min)
No painel: Configurações → Integrações → Tokens de API → Gerar token. Dê um nome (ex.: ERP), marque os escopos que vai usar e copie o valor sellit_sk_… — ele aparece uma única vez.
Para este guia, marque:
products:read,products:writestock:writeorders:readwebhooks:manage
$SELLIT_TOKEN.Passo 2 — Testar a autenticação (2 min)
Liste os produtos para confirmar que o token funciona:
curl https://app.sellitbr.com/api/v1/products \
-H "Authorization: Bearer $SELLIT_TOKEN"Um 200 com a lista (paginada) confirma tudo certo. Se vier 401, o token está errado ou foi revogado; 403 significa que falta o escopo products:read.
Passo 3 — Enviar um produto (3 min)
Crie um produto. Só name e price são obrigatórios; tipo e categoria assumem padrões sensatos se você não enviar.
curl -X POST https://app.sellitbr.com/api/v1/products \
-H "Authorization: Bearer $SELLIT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Camiseta Básica",
"price": 89.90,
"quantity": 25
}'A resposta traz o id do produto na Sellit. Guarde esse id junto do código do produto no seu ERP — é assim que você mapeia os dois sistemas.
89.90 para R$ 89,90 — a API não usa centavos.Passo 4 — Sincronizar estoque (2 min)
O caso mais comum de ERP: empurrar saldo. Atualize o estoque do produto inteiro:
curl -X PATCH \
https://app.sellitbr.com/api/v1/products/PRODUTO_ID/stock \
-H "Authorization: Bearer $SELLIT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "quantity": 42 }'Ou, se o produto tem variações, atualize por SKU:
curl -X PATCH \
https://app.sellitbr.com/api/v1/products/PRODUTO_ID/variants/SKU-123/stock \
-H "Authorization: Bearer $SELLIT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "quantity": 10 }'Passo 5 — Ler pedidos (3 min)
Puxe os pedidos da loja para dar baixa no seu ERP:
curl "https://app.sellitbr.com/api/v1/orders?page=1&limit=20" \
-H "Authorization: Bearer $SELLIT_TOKEN"Use from e to para filtrar por período e GET /api/v1/orders/{orderId} para o detalhe de um pedido.
Passo 6 — Receber webhooks (3 min)
Em vez de ficar consultando pedidos, deixe a Sellit avisar seu ERP. Inscreva uma URL para os eventos que interessam:
curl -X POST https://app.sellitbr.com/api/v1/webhooks \
-H "Authorization: Bearer $SELLIT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://seu-erp.com/webhooks/sellit",
"events": ["order.created", "order.paid", "stock.updated"]
}'A resposta traz um secret (whsec_…) uma única vez. A cada entrega, a Sellit assina o corpo em X-Sellit-Signature-256 (HMAC-SHA256). Valide antes de confiar:
import { createHmac, timingSafeEqual } from "node:crypto"
function verify(rawBody, signatureHeader, secret) {
const expected = "sha256=" + createHmac("sha256", secret)
.update(rawBody)
.digest("hex")
const a = Buffer.from(signatureHeader)
const b = Buffer.from(expected)
return a.length === b.length && timingSafeEqual(a, b)
}Pronto. E agora?
- Explore todos os endpoints em Recursos da API e na Referência.
- Vai publicar um App para várias lojas em vez de integrar só a sua? Migre para OAuth 2.0.
- Antes de ir a produção, veja Homologação e go-live.