DC-e
Cancelar DC-e
Solicita o cancelamento de um DC-e autorizado (até 24 horas após a autorização); assíncrono, resultado via webhook.
/openapi/v2/empresas/{empresaId}/dc-e/{dceId}/cancelartoken, timestamp e sign, veja Autenticação.A aceitação devolve HTTP 200 sem corpo, o documento passa a CancelamentoPendente e a plataforma registra o evento de cancelamento 110111 na SEFAZ de forma assíncrona. O resultado chega pelo webhook dce.canceled (Cancelada) ou dce.cancel_rejected (CancelamentoNegado), e também pode ser acompanhado pela consulta. O DC-e oficial só tem cancelamento: não há carta de correção nem inutilização de numeração.
Parâmetros de caminho
empresaId* | string | Identificador da empresa emitente |
dceId* | string | Identificador do documento |
* Campo obrigatório
Corpo da requisição
motivo | string | Motivo do cancelamento |
* Campo obrigatório
CancelamentoPendente; o veredito da SEFAZ chega pelo webhook.Sem corpo de resposta
Um POST sem corpo assina com a string vazia como body; um POST com corpo (cancelamento com motivo) assina o JSON bruto com CR/LF removidos, exatamente como os endpoints JSON. Se enviar { "motivo": ... }, inclua esse mesmo texto na assinatura. Veja Autenticação.
O documento deve estar Autorizada (10019040) e dentro de 24 horas após a autorização (10019041); só um cancelamento é aceito por documento (10019042). O veredito da SEFAZ chega por um dos dois webhooks abaixo; as cargas completas estão em DC-e.
Cancelamento registrado: dce.canceled
dceStatus é Cancelada; dceDataAutorizacao é o momento do registro do cancelamento e dceNumeroProtocolo o protocolo do evento. O DACE passa a trazer a marca d'água CANCELADA.
{ "tipo": "DC-e", "empresaId": "1934811222334455", "dceId": "DCe-000012333", "dceStatus": "Cancelada", "dceMotivoStatus": null,"dceChaveAcesso": "4126...", "dceDataAutorizacao": "2026-09-06T15:00:00Z", "dceNumeroProtocolo": "141260000000099" }
Cancelamento rejeitado: dce.cancel_rejected
dceStatus é CancelamentoNegado e dceMotivoStatus traz o código e a descrição da SEFAZ. O documento permanece Autorizada, a consulta mostra o motivo em motivoStatus, e um cancelamento corrigido pode ser enviado de novo.
{ "tipo": "DC-e", "empresaId": "1934811222334455", "dceId": "DCe-000012333", "dceStatus": "CancelamentoNegado","dceMotivoStatus": "594 - Rejeicao: O numero de sequencia do evento informado e maior que o permitido","dceChaveAcesso": "4126...", "dceDataAutorizacao": null, "dceNumeroProtocolo": "141260000000001" }
| Código | HTTP | |
|---|---|---|
| 10019002 | 404 | dceId não encontrado, não pertence à empresa, ou o documento ainda não foi numerado (ainda Pendente, sem chave). Cancele documentos Pendente só depois da autorização. |
| 10019003 | 404 | dceId não encontrado, não pertence à empresa, ou o documento ainda não foi numerado (ainda Pendente, sem chave). Cancele documentos Pendente só depois da autorização. |
| 10003000 | 404 | empresaId não encontrado. |
| 10019040 | 400 | O status não permite cancelamento: o documento deve estar Autorizada (documentos já cancelados também devolvem este código). |
| 10019041 | 400 | Janela de 24 horas após a autorização excedida. O documento só pode ser mantido. |
| 10019042 | 400 | Cancelamento já aceito para este documento (em andamento). Só um cancelamento é aceito por documento. |
| 10019043 | 400 | motivo inválido: menos de 15 caracteres após sanitização. |
