NF-e 验证
chave 查询
按 44 位访问密钥返回票面数据;纯查询接口,不含验证结论。
/openapi/v3/consultas/nf-e/{chave}需要 token、timestamp、sign 三个签名头,参见认证与签名。
按 44 位访问密钥查询发票票面数据。纯查询接口:响应不含 validation 块;验证结论一律经 invoice.verify.completed webhook 推送(见 NF-e 验证)。
GET 请求:签名用的 body 为空字符串,chave 属于签名 path 的一部分。
参数
路径参数
chavestring必填44 位访问密钥,纯数字,末位为 mod-11 校验位。结构非法的 chave 在本地直接以
10015104拒绝,不发起任何查询。示例:35260764962869000108550990001366171195929648
响应
票面数据。结构与 XML 验证 相同,但不含 validation 块。
tipostring单据类型。
取值:NF-eNFC-emodelostring单据模型。
取值:5565statusstringSEFAZ 税务状态。
取值:AutorizadaCanceladaDenegadaInutilizadaNaoEncontradaDesconhecidastatusDescriptionstringstatus的本地化描述,随请求语言(见 NF-e 验证 的“响应语言”)。ambienteEmissaostring单据的发行环境。
取值:ProducaoHomologacaonumerostring发票号 nNF,无前导零。
seriestring系列号。
dataEmissaostring开票时间 dhEmi,ISO-8601 带时区偏移,票面原文(如
2026-07-23T11:20:05-03:00)。chaveAcessostring44 位访问密钥(路径变量回显)。
emitenteobject开票方。
destinatarioobject收票方。
itensarray商品行。
dataAutorizacaostring | nullSEFAZ 授权时间 dhRecbto(ISO-8601);提交的 XML 无协议节点时为 null。
protocoloobject | null授权协议;无协议节点时为 null。
valorTotalnumber整单折后净额 vNF,2 位小数。
错误
| 错误码 | HTTP | |
|---|---|---|
| 10015104 | 400 | chave 非法(长度 / 字符 / 校验位)。本地直接拒绝,不发起查询。请先本地校验:44 位数字,末位为 mod-11 校验位。 |
| 10015004 | 400 | 各数据源均查无此票。平台与官方数据源均无该 chave;请与开票方核实。 |
签名示例
给定 app_secret = sk_live_9f8e7d6c5b4a、chave 35260764962869000108550990001366171195929648、timestamp = 1784906308,签名字符串为(GET,body 为空串;chave 在 path 内):
sign_input = "sk_live_9f8e7d6c5b4a"+ "/openapi/v3/consultas/nf-e/35260764962869000108550990001366171195929648"+ ""+ "1784906308"sign = md5Hex(sign_input)
数据来源与结果
平台按以下层级查找,命中即返回:
| 情形 | 结果 |
|---|---|
| 此前提交验证过(平台留存记录) | 票面全量数据 |
| 平台开出的票 | 授权 XML 解析的票面全量数据 |
| 陌生 chave | 按平台策略经官方数据源取授权全量 |
| 全部未命中 | HTTP 400,{ "code": 10015004, "message": "查无此票" } |
| chave 结构 / 校验位非法 | HTTP 400,{ "code": 10015104, ... };不发起任何查询 |
重验
本端点为固定 GET 形状,无重验通道。需强制重验请通过 XML 验证 带 forceRevalidate: true 头重新提交 XML。chave 查询可作为 webhook 的轮询兜底,但结论本身只经 webhook 推送。
