Cancelamento
POST /v1/notas/{notaId}/cancelamento com o token de acesso e o corpo JSON { "motivo": "...", "cMotivo": "1" } (referência). O cancelamento é processado de forma assíncrona, como a emissão (evento 101101 na Sefin Nacional).
Regras do pedido
- Só nota
autorizadapode ser cancelada. motivo(obrigatório): de 15 a 255 caracteres depois de remover os espaços das pontas, só com caracteres de U+0020 a U+00FF (letras, números, pontuação e acentos comuns), sem quebra de linha, tabulação, travessão, aspas curvas nem emoji. O motivo vai à Sefin Nacional sem os espaços das pontas.cMotivo(opcional): a classificação do motivo, com as mesmas opções do Portal Nacional:1erro na emissão,2serviço não prestado,9outros. Sem o campo, vale9. Envie o código como texto ("1"); o número1também é aceito. Qualquer outro valor ("0","3","01", vazio,null) é recusado com400VALIDACAO_CAMPO, no campocMotivo. A API transmite a classificação que o seu sistema informou e nunca a deduz do texto do motivo; as regras que o município aplica a cada código são dele.- Idempotência: repetir o pedido de uma nota já
cancelamento_solicitadooucanceladadevolve202com o pedido existente (o mesmomotivo,cMotivoesolicitadoEmdo primeiro, mesmo que o novo pedido traga outros), sem novo evento na Sefin Nacional. É seguro repetir a chamada depois de uma falha de rede. UmcMotivoinválido no pedido repetido continua recusado com400.
Requisição
POST /v1/notas/3f8b2c1a-6d4e-4b7f-9a21-0c5e8d7f6a10/cancelamento HTTP/1.1
Host: hml.nfse.lideraweb.com
Authorization: Bearer <seu-token>
Content-Type: application/json
{
"motivo": "Serviço cobrado em duplicidade na fatura",
"cMotivo": "1"
}
curl -X POST "$BASE_URL/notas/3f8b2c1a-6d4e-4b7f-9a21-0c5e8d7f6a10/cancelamento" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
--data '{
"motivo": "Serviço cobrado em duplicidade na fatura",
"cMotivo": "1"
}'
Resposta 202:
{
"status": "solicitado",
"motivo": "Serviço cobrado em duplicidade na fatura",
"cMotivo": "1",
"solicitadoEm": "2026-11-10T14:03:12.345Z"
}
status é solicitado, registrado ou rejeitado; cMotivo vem sempre preenchido (o código informado ou 9). Quando houver, a resposta traz também registradoEm (só em registrado) e erro com codigo e mensagem (só em rejeitado). No primeiro pedido, a nota passa a cancelamento_solicitado.
Acompanhamento
- Resultado pelo webhook:
cancelada(a nota foi cancelada enota.cancelamento.statuséregistrado) oucancelamento_rejeitado(a Sefin Nacional recusou; a nota volta aautorizadaenota.cancelamento.errotraz o código e o motivo). O pedido também aparece no campocancelamentoda consulta da nota. - Pedido que continua
solicitado: a nota fica emcancelamento_solicitadoaté a resposta da Sefin Nacional; continue consultando a nota. Se o pedido continuarsolicitadoe você precisar de retorno sobre ele, informe oidda nota. A LideraNota executa este passo: pedir pelo WhatsApp. - Depois de um
cancelamento_rejeitado, um novo pedido pode ser feito; corrija a causa antes. - Fora do prazo: quando a Sefin Nacional recusa o cancelamento direto por prazo (por exemplo
E0822, cancelamento fora do prazo do município), o caminho é a análise fiscal para cancelamento. - Documentos: a nota
canceladacontinua com o XML autorizado, e o DANFSe sai com a marca "CANCELADA" (downloads).
Respostas de erro
| HTTP | codigo |
Quando |
|---|---|---|
400 |
VALIDACAO_CAMPO |
notaId fora do formato UUID; corpo sem motivo; motivo com mais de 255 caracteres ou com caractere fora da faixa permitida; cMotivo diferente de 1, 2 e 9. Com cMotivo inválido e motivo curto, a resposta é o 400 do cMotivo; corrigido o código, o mesmo pedido recebe o 422 |
400 |
JSON_INVALIDO |
Corpo vazio ou JSON malformado |
401 |
TOKEN_INVALIDO |
Token ausente, inválido ou revogado |
404 |
NOTA_NAO_ENCONTRADA |
Nota inexistente ou de outro emitente |
409 |
NOTA_NAO_AUTORIZADA |
Nota do seu emitente que não está autorizada (recebida, pronta, enviada, rejeitada ou pendente_intervencao) |
409 |
NOTA_EM_ESTADO_INCOMPATIVEL |
Nota substituida ou com substituição em andamento; nota com análise fiscal aguardando o município ou indeferida; nota cancelada pelo deferimento da análise fiscal. A mensagem diz qual |
422 |
MOTIVO_CANCELAMENTO_CURTO |
Motivo com menos de 15 caracteres depois de remover os espaços das pontas, inclusive vazio |
429 |
LIMITE_REQUISICOES_EXCEDIDO |
Limite de requisições do token (limites) |