Documentação para Desenvolvedores

Integre sua plataforma à Sellit: sincronize produtos, estoque e pedidos, e receba eventos em tempo real via webhooks.

O que você pode construir

A Partner API da Sellit permite que ERPs, marketplaces e automações leiam e atualizem dados de uma loja com a autorização do lojista. É o mesmo modelo usado por integrações como a do Bling.

  • Listar, criar, atualizar e excluir produtos.
  • Atualizar estoque de forma dedicada.
  • Consultar pedidos, atualizar status de envio e reembolsar.
  • Ler categorias e clientes; enviar imagens de produtos.
  • Calcular o frete dos seus produtos no checkout (CarrierService).
  • Receber webhooks de product.*, stock.updated e order.*.

Como funciona

Você cria uma conta de integrador, registra um App (que gera um client_id e uma client_secret) e o lojista autoriza seu App via OAuth 2.0. Com o token de acesso, você chama os endpoints /api/v1/* no contexto daquela loja.

Comece criando sua conta e seu primeiro App em Primeiros passos.

Frete de App parceiro (CarrierService)

Se o seu App cria produtos na loja via API, ele também pode calcular o frete desses produtos no checkout. Você registra uma URL de cotação e a Sellit a chama de forma síncrona durante o checkout — no mesmo estilo do CarrierService da Shopify. Vale apenas para itens cujo produto foi criado pelo seu App (campo sourceClientId); produtos do próprio lojista seguem usando o cálculo de frete normal da loja.

  1. 1. Registre o provedor de frete

    Com escopo shipping:write, envie a URL que receberá as cotações. O secret (usado para assinar as chamadas) é retornado uma única vez — guarde-o com segurança.

    http
    POST /api/v1/shipping/providers
    Authorization: Bearer <access_token>
    Content-Type: application/json
    
    { "url": "https://seu-app.com/sellit/frete" }
    
    → 201 { "id": "...", "url": "...", "secret": "shpsec_..." }

    Cada App tem um provedor por loja. Para trocar a URL ou desativar, use PATCH /api/v1/shipping/providers/{id} com { url?, active? }; para remover, use DELETE. Liste os registros com GET /api/v1/shipping/providers (escopo shipping:read).

  2. 2. Receba a cotação no checkout

    No checkout, a Sellit faz um POST na sua URL com o CEP de destino e os itens do App. O corpo é assinado em X-Sellit-Signature-256 (HMAC-SHA256 do corpo cru com o seu secret) — valide antes de responder.

    json
    POST https://seu-app.com/sellit/frete
    X-Sellit-Signature-256: sha256=<hmac>
    
    {
      "destination": { "cep": "01310100" },
      "items": [
        { "productId": "...", "sku": null, "quantity": 1, "price": 89.9, "weightKg": 0.3 }
      ]
    }
  3. 3. Responda com as opções de frete

    Devolva as tarifas em rates. Só entram itens com id, name e price numérico; deliveryTime é opcional.

    json
    {
      "rates": [
        { "id": "expressa", "name": "Entrega expressa", "price": 24.9, "deliveryTime": "2 dias úteis" },
        { "id": "economica", "name": "Econômica", "price": 12.5 }
      ]
    }
A chamada é best-effort com timeout de 5 s: se sua URL demorar, falhar ou responder algo inválido, ela apenas não aparece nas opções de frete — o checkout do lojista nunca quebra por causa disso.

Próximos passos