Pular para o conteúdo principal

Como consultar uma DC-e pela API

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

Devolve o estado atual de uma DC-e — situação, chave de acesso, protocolo, numeração, emitente, destinatário e valor total.

A consulta não traz os itens declarados

A resposta traz nome, inscrição e valor total do emitente e do destinatário — não os itens, nem o endereço completo. Guarde o corpo que você enviou na emissão, ou baixe o XML autorizado, se precisar do detalhe completo.

O campo status

ValorSignificado
CreatedCriado, ainda não transmitido
ProcessingEm processamento
AuthorizedAutorizado pela SEFAZ — tem accessKey e protocol
RejectedRejeitado pela SEFAZ, com cStat no histórico
CancelledCancelado
RefusedParou por veredito nosso — veja refusedStep e refusedReasons
UnknownSituação que esta versão do contrato não conhece
Rejected e Refused não são a mesma coisa

Rejected é a SEFAZ dizendo não, depois de receber o documento — motivo fiscal, com cStat no histórico de eventos. Refused é a NFE.io parando a emissão antes de transmitir — cadastro incompleto, certificado com problema, ou validação local. Um documento Refused nunca chegou à SEFAZ.

Tolere valores de status que você não conhece

status e flowStatus podem ganhar valores novos sem aviso — implantação é em ondas, e por alguns minutos convivem duas versões do serviço. Trate um valor desconhecido (Unknown ou outro) como "estado que ainda não conheço" e não falhe — um consumidor que estoura em enum novo repete, do lado do cliente, o mesmo tipo de incidente que a API já teve do lado do servidor.

Documento autorizado
{
"id": "0f6b1f5c-9a5e-4a0e-9c1b-2f4e6d8a1b23",
"status": "Authorized",
"flowStatus": "Finished",
"accessKey": "33260811222333000181990010000000211208201894",
"serie": 1,
"number": 21,
"protocol": "133260000123456",
"createdAt": "2026-08-19T13:04:11.512Z",
"issuerName": "EMPRESA EXEMPLO LTDA - MATRIZ",
"issuerFederalTaxNumber": "11222333000181",
"recipientName": "EMPRESA EXEMPLO LTDA - FILIAL",
"recipientFederalTaxNumber": "99887766000105",
"totalValue": 3000
}
Documento recusado por nós (Refused)
{
"id": "0f6b1f5c-9a5e-4a0e-9c1b-2f4e6d8a1b23",
"status": "Refused",
"flowStatus": "DefineNumber",
"refusedStep": "DefineNumber",
"refusedReasons": ["Empresa sem certificado digital válido em custódia"],
"createdAt": "2026-08-19T13:04:11.512Z",
"issuerName": "EMPRESA EXEMPLO LTDA - MATRIZ",
"issuerFederalTaxNumber": "11222333000181"
}

Campos ausentes são omitidos do JSON — nunca devolvidos como null. É por isso que o exemplo Refused acima não tem accessKey, serie, number, protocol: nenhum deles chegou a existir.

O histórico de eventos

GET /v2/companies/{companyId}/ContentDeclarations/{id}/events

Devolve o histórico do documento, em ordem de versão — é a resposta para "por que este documento está neste estado?", inclusive quando o estado é Rejected ou Refused.

eventTypeO que traz em data
ContentDeclarationCreatedemitterType, emissionType, serie, number
NumberDefinednumber, serie, accessKey
SentToSefazNada além de tipo, versão e data
Authorizedprotocol, authorizedAt
RejectedcStat, reason
ContingencyAcceptedaccessKey
DaceGeneratedhasFull, hasSummary, hasXml
CancelRequestedreason, cancellationProtocol, cStat
Cancelledprotocol, cancelledAt, cStat
CancelRejectedcStat, reason
NotifiedeventType (o evento notificado)
O histórico é uma projeção curada

XML assinado e dados pessoais completos não aparecem aqui de propósito. Tipos de evento novos podem surgir — um tipo que você não conhece vem apenas com tipo, versão e data, sem data.

Histórico — criação, numeração e autorização
[
{
"eventType": "ContentDeclarationCreated",
"version": 1,
"occurredAt": "2026-08-19T13:04:11.512Z",
"data": {
"emitterType": "SelfIssuer",
"emissionType": "Normal",
"serie": 1,
"number": 0
}
},
{
"eventType": "NumberDefined",
"version": 2,
"occurredAt": "2026-08-19T13:04:12.004Z",
"data": {
"number": 21,
"serie": 1,
"accessKey": "33260811222333000181990010000000211208201894"
}
},
{
"eventType": "Authorized",
"version": 4,
"occurredAt": "2026-08-19T13:04:19.881Z",
"data": {
"protocol": "133260000123456",
"authorizedAt": "2026-08-19T13:04:19Z"
}
}
]

Erros

CódigoO que significa
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

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.