Pular para conteúdo

API de sincronização — POST /sync/erp

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-06-26

Contrato do endpoint do parceiro que recebe preço e estoque dos produtos do X-Adm. Atualiza variantes existentes (correlação por EAN); não cadastra produto novo. Hoje responde em dry_run (simulação — não grava).

A referência interativa abaixo (Swagger UI) traz os tipos de envio e retorno, com exemplos.

Como usar via curl

Envio (1 produto; dados fictícios — troque <TOKEN> pelo token do parceiro):

curl -X POST https://api.thoms.com.br/sync/erp \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
        "items": [
          {
            "ean": "7891000100103",
            "codigo_erp": "X-1001",
            "nome": "Camiseta Thoms Basica P",
            "preco_cheio": 159.90,
            "preco_desconto": 143.91,
            "estoque": 12
          }
        ]
      }'

Resposta (exemplo, dry_run):

{
  "dry_run": true,
  "recebidos": 1,
  "casados": 1,
  "atualizados": 0,
  "nao_encontrados": [],
  "ambiguos": [],
  "erros": [],
  "itens": [
    {
      "ean": "7891000100103", "sku": "100123",
      "preco_recebido": 159.90, "estoque_recebido": 12,
      "preco_atual": 149.90, "estoque_atual": 8,
      "vai_atualizar_preco": true, "vai_atualizar_estoque": true
    }
  ]
}

Regras rápidas

  • Auth: Authorization: Bearer <TOKEN> em todo request.
  • Lote: 1 a 200 itens por request (acima → 413); recomendado 100 por lote, em sequência. Em tempo real, 1 item por request.
  • Preços: preco_cheio = preço a prazo · preco_desconto = preço à vista (promocional).
  • Leitura da resposta: casados/atualizados, nao_encontrados (lista de EANs), erros[] ({idx, erro}, ex. sem_ean_nem_sku).
  • dry_run: true hoje = nada é gravado; a virada para produção é do parceiro.

Não exponha o token em páginas, prints ou repositórios públicos.