Pular para o conteúdo principal

Confirmar Sincronização

Endpoint para confirmar que o ERP processou com sucesso os produtos de um lote.

Informações do Endpoint

AtributoValor
MétodoPOST
URL/fiscal/confirmar-sincronizacao
Content-Typeapplication/json
AutenticaçãoHeaders customizados
FunçãoLiberar próximo lote de produtos

Headers de Autenticação

HeaderTipoObrigatórioDescrição
empresa-idintegerSimID da empresa na plataforma Nacional Tax
token-apistringSimToken de autenticação do cliente
cnpjstringSimCNPJ da empresa (apenas números)
regime-tributariostringSimRegime tributário (SN, LP, LR)

Request Body

Estrutura

{
"lote_id": "lote-20250112-143022-a1b2c3d4"
}

Campos do Request

CampoTipoObrigatórioDescrição
lote_idstringSimID do lote recebido no endpoint de produtos revisados
Dica

O lote_id é retornado no endpoint Produtos Revisados.


Response

Sucesso (200 OK)

{
"status": "confirmado",
"lote_id": "lote-20250112-143022-a1b2c3d4",
"quantidade_confirmada": 100
}

Campos do Response

CampoTipoDescrição
statusstringStatus da confirmação (sempre "confirmado" em caso de sucesso)
lote_idstringID do lote confirmado
quantidade_confirmadaintegerQuantidade de produtos sincronizados

Erros Possíveis

400 Bad Request

Causa: Dados inválidos ou campo lote_id ausente

{
"detail": [
{
"loc": ["body", "lote_id"],
"msg": "field required",
"type": "value_error.missing"
}
]
}

401 Unauthorized

Causa: Headers de autenticação inválidos

{
"detail": "Cliente não autorizado"
}

404 Not Found

Causa: Lote não encontrado, já confirmado ou não pertence ao cliente

{
"detail": "Lote não encontrado ou já confirmado"
}

Possíveis motivos:

  • Lote já foi confirmado anteriormente
  • lote_id inválido ou inexistente
  • Lote pertence a outro cliente
  • Lote não está com status EM_LOTE

500 Internal Server Error

Causa: Erro interno do servidor

{
"detail": "Erro ao processar requisição. Contate o suporte."
}


Fluxo de Confirmação


Regras de Negócio

1. Validações

A API valida:

  • ✅ Lote existe no sistema
  • ✅ Lote pertence ao cliente autenticado
  • ✅ Lote está com status EM_LOTE
  • ✅ Lote não foi confirmado anteriormente
Importante

Um lote só pode ser confirmado uma única vez. Tentativas subsequentes retornarão erro 404.

2. Transação Atômica

A confirmação é processada em uma transação de banco de dados:

  • Sucesso: Todos os produtos do lote passam para SINCRONIZADO
  • Erro: Nenhum produto é atualizado (rollback)

3. Liberação de Novo Lote

Após a confirmação bem-sucedida:

  • ✅ Produtos confirmados não aparecem mais nas consultas
  • ✅ Próximo lote pode ser solicitado imediatamente
  • ✅ Novos produtos PENDENTES podem entrar no próximo lote