Pular para o conteúdo principal

Cancela uma fatura

POST /api/{userId}/establishment/{establishmentId}/invoices/cancel/{clientId}/{invoiceDateTime}

Cancela uma fatura ainda não paga. Em geral, exige confirmação do usuário (senha) e um motivo.

Parâmetros de rota

NomeTipoDescrição
userIdnumberIdentificador do usuário
establishmentIdnumberIdentificador do estabelecimento
clientIdstringIdentificador do cliente
invoiceDateTimestringChave da fatura

Body (JSON)

CampoTipoObrigatórioDescrição
userPasswordstringsimSenha do usuário (validação interna)
reasonstringsimMotivo do cancelamento (vai para histórico)

Requisição

  • Método: POST
  • Path: /api/\{userId\}/establishment/\{establishmentId\}/invoices/cancel/\{clientId\}/\{invoiceDateTime\}
  • Headers: Authorization, Accept: application/json, Content-Type: application/json

Formato da resposta (JSON)

  • Sucesso (HTTP 200): { "response": "success", "data": { "msg": "...", "code": "..." } }
  • Erro (HTTP 400): { "response": "error", "data": { "msg": "...", "code": "..." } }
  • Não autorizado / permissão: Autorização

Nuâncias (regras importantes)

  • Não pode cancelar se a fatura tiver transactionId (ou seja, já está paga/vinculada a pagamento).
  • Restrição para pós pago: quando a fatura possui lançamentos (transactions não vazio), o cancelamento pode ser bloqueado.
  • Senha + motivo:
    • userPassword é validado internamente (hash).
    • reason é registrado como observação no histórico.
  • Efeito colateral: se após cancelar não existir outra fatura pendente, o sistema pode criar uma nova fatura recorrente (dependendo da configuração do cliente).

Códigos de erro comuns

CódigoQuando ocorre
06018Fatura já paga / com transação (não pode cancelar)
06026Restrição de cancelamento para pós pago com lançamentos
80001Senha do usuário não informada
80002Motivo não informado
80003Senha inválida

Exemplo de requisição

{
"userPassword": "minha-senha",
"reason": "Cancelamento solicitado pelo cliente"
}