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: truehoje = nada é gravado; a virada para produção é do parceiro.
Não exponha o token em páginas, prints ou repositórios públicos.