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.
Todos os exemplos usam 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:write
  • stock:write
  • orders:read
  • webhooks:manage
Guarde o token numa variável de ambiente do seu ERP. Nos exemplos abaixo, ele é $SELLIT_TOKEN.

Passo 2 — Testar a autenticação (2 min)

Liste os produtos para confirmar que o token funciona:

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

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

Preço em reais. Envie 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:

bash
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:

bash
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:

bash
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:

bash
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:

javascript
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)
}
Detalhes de payload, lista completa de eventos e retries em Webhooks.

Pronto. E agora?