Verificação de NF-e
Consultar por chave
Devolve os dados da nota para uma chave de acesso de 44 dígitos; consulta pura, sem veredito de verificação.
/openapi/v3/consultas/nf-e/{chave}Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.
Devolve os dados da nota para uma chave de acesso de 44 dígitos. Endpoint de consulta pura: a resposta não traz o bloco validation; os vereditos de verificação chegam exclusivamente pelo webhook invoice.verify.completed (veja Verificação de NF-e).
Requisição GET: o corpo assinado é a string vazia e a chave faz parte do caminho assinado.
Parâmetros
Parâmetros de caminho
chavestringobrigatórioChave de acesso de 44 dígitos, somente dígitos; o último é o dígito verificador mod-11. Chaves malformadas são rejeitadas localmente com
10015104, sem consulta a nenhuma fonte.Exemplo:35260764962869000108550990001366171195929648
Respostas
Dados da nota. Mesma estrutura da verificação de XML, sem o bloco validation.
tipostringTipo do documento.
Valores:NF-eNFC-emodelostringModelo do documento.
Valores:5565statusstringSituação fiscal na SEFAZ.
Valores:AutorizadaCanceladaDenegadaInutilizadaNaoEncontradaDesconhecidastatusDescriptionstringDescrição localizada de
status, conforme o idioma da requisição (veja Localização das respostas em Verificação de NF-e).ambienteEmissaostringAmbiente em que o documento foi emitido.
Valores:ProducaoHomologacaonumerostringNúmero da nota nNF, sem zeros à esquerda.
seriestringNúmero da série.
dataEmissaostringData e hora de emissão dhEmi, ISO-8601 com deslocamento UTC, tal como no documento (ex.:
2026-07-23T11:20:05-03:00).chaveAcessostringChave de acesso de 44 dígitos (eco da variável de caminho).
emitenteobjectEmitente.
destinatarioobjectDestinatário.
itensarrayItens da nota.
dataAutorizacaostring | nullData e hora de autorização na SEFAZ dhRecbto (ISO-8601); nulo quando o XML enviado não traz nó de protocolo.
protocoloobject | nullProtocolo de autorização; nulo quando não há nó de protocolo.
valorTotalnumberValor líquido total da nota vNF (após descontos), 2 casas decimais.
Erros
| Código | HTTP | |
|---|---|---|
| 10015104 | 400 | Chave malformada (comprimento / caracteres / dígito verificador). Rejeitada localmente, nenhuma consulta é feita. Valide antes: 44 dígitos, o último é o dígito verificador mod-11. |
| 10015004 | 400 | Nota não encontrada em nenhuma fonte. A chave é desconhecida para a plataforma e para a fonte oficial; confirme a chave com o emitente. |
Exemplo de assinatura
Com app_secret = sk_live_9f8e7d6c5b4a, a chave 35260764962869000108550990001366171195929648 e timestamp = 1784906308, a string assinada é (GET, corpo vazio; a chave está no caminho):
sign_input = "sk_live_9f8e7d6c5b4a"+ "/openapi/v3/consultas/nf-e/35260764962869000108550990001366171195929648"+ ""+ "1784906308"sign = md5Hex(sign_input)
Fontes de dados e resultados
A plataforma resolve a chave pelos níveis abaixo; o primeiro acerto é devolvido:
| Caso | Resultado |
|---|---|
| Enviada anteriormente para verificação (a plataforma mantém o registro) | Dados completos da nota |
| Nota emitida por esta plataforma | Dados completos interpretados do XML autorizado |
| Chave desconhecida | Dados autorizados completos obtidos da fonte oficial, conforme a política da plataforma |
| Nenhuma fonte com acerto | HTTP 400, { "code": 10015004, "message": "Invoice not found" } |
| Chave malformada / dígito verificador inválido | HTTP 400, { "code": 10015104, ... }; nenhuma consulta é feita |
Nova verificação
Este endpoint tem forma GET fixa e não possui canal de nova verificação. Para forçar uma nova checagem, reenvie o XML pela verificação de XML com o cabeçalho forceRevalidate: true. A consulta por chave pode servir como alternativa de polling ao webhook, mas o veredito em si só é enviado pelo webhook.
