Pular para o conteúdo principal

Cancelamento de DC-e

DELETE /v2/companies/{companyId}/ContentDeclarations/{id}

Solicita o cancelamento de uma DC-e autorizada, com justificativa.

Corpo do pedido
{
"reason": "Cancelamento por erro na descricao dos itens declarados"
}

reason é obrigatório, de 15 a 255 caracteres — fora disso, 400.

204 significa "pedido aceito", não "cancelada"

O cancelamento é transmitido à SEFAZ de forma assíncrona. O 204 diz que o pedido passou na validação de entrada e foi enfileirado — o desfecho vem depois.

Confirme o resultado de uma das duas formas:

  • GET {id} — quando o cancelamento é homologado, status vira Cancelled
  • GET {id}/events — aparecem os eventos CancelRequested, Cancelled ou CancelRejected, com o cStat da SEFAZ
Não trate 204 como confirmação de cancelamento

Um 204 seguido de CancelRejected no histórico é um cenário real e esperado — o pedido foi aceito pela API, mas a SEFAZ recusou o cancelamento em si. Trate o status/histórico como fonte da verdade, não o código HTTP da chamada de cancelamento.

Duas regras que só a SEFAZ responde

Não viram erro no 204 — a SEFAZ é quem decide, depois:

  • Prazo de 24 horas, contado da autorização — fora dele, o cancelamento é rejeitado
  • O documento tem que estar autorizado — cancelar o que não autorizou é rejeitado

Concorrência (If-Match)

DELETE /v2/companies/{companyId}/ContentDeclarations/{id}
If-Match: W/"3"

If-Match com a versão esperada do documento (formato de ETag fraca, W/"3", ou o número puro 3) faz o cancelamento falhar com 412 se o documento mudou desde a sua leitura. Sem o cabeçalho, não há pré-condição — o pedido segue mesmo que o documento tenha mudado.

Erros

CódigoO que significa
400Justificativa fora do limite de 15 a 255 caracteres (xJust, regra L-XJUST)
401Token ausente, expirado, com audiência errada, ou chave de API no lugar de JWT
403Token válido mas sem o escopo/papel da operação, ou assinatura não determinada
404Documento inexistente, ou fora da assinatura do token
409O documento já está cancelado
412O If-Match enviado não corresponde à versão atual do documento — releia o documento e tente de novo
400 — justificativa fora do limite
[
{
"memberNames": [],
"errorMessage": "Reason: xJust deve ter entre 15 e 255 caracteres [L-XJUST]"
}
]

Veja também

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.