Verificación de NF-e
Consulta por chave
Devuelve los datos de la factura para una clave de acceso de 44 dígitos; consulta pura, sin veredicto de verificación.
/openapi/v3/consultas/nf-e/{chave}Requiere las cabeceras de firma token, timestamp y sign, vea Autenticación.
Devuelve los datos de la factura para una clave de acceso de 44 dígitos. Endpoint de consulta pura: la respuesta no trae el bloque validation; los veredictos de verificación llegan exclusivamente por el webhook invoice.verify.completed (vea Verificación de NF-e).
Solicitud GET: el cuerpo firmado es la cadena vacía y la chave forma parte de la ruta firmada.
Parámetros
Parámetros de ruta
chavestringobligatorioClave de acceso de 44 dígitos, solo dígitos; el último es el dígito verificador mod-11. Las claves malformadas se rechazan localmente con
10015104, sin consultar ninguna fuente.Ejemplo:35260764962869000108550990001366171195929648
Respuestas
Datos de la factura. Misma estructura que la verificación de XML, sin el bloque validation.
tipostringTipo de documento.
Valores:NF-eNFC-emodelostringModelo del documento.
Valores:5565statusstringEstado fiscal en la SEFAZ.
Valores:AutorizadaCanceladaDenegadaInutilizadaNaoEncontradaDesconhecidastatusDescriptionstringDescripción localizada de
status, según el idioma de la solicitud (vea Localización de las respuestas en Verificación de NF-e).ambienteEmissaostringEntorno en el que se emitió el documento.
Valores:ProducaoHomologacaonumerostringNúmero de la factura nNF, sin ceros a la izquierda.
seriestringNúmero de serie.
dataEmissaostringFecha y hora de emisión dhEmi, ISO-8601 con desplazamiento UTC, tal como figura en el documento (p. ej.
2026-07-23T11:20:05-03:00).chaveAcessostringClave de acceso de 44 dígitos (eco de la variable de ruta).
emitenteobjectEmisor.
destinatarioobjectDestinatario.
itensarrayLíneas de la factura.
dataAutorizacaostring | nullFecha y hora de autorización en la SEFAZ dhRecbto (ISO-8601); null cuando el XML enviado no trae nodo de protocolo.
protocoloobject | nullProtocolo de autorización; null cuando no hay nodo de protocolo.
valorTotalnumberTotal neto de la factura vNF (tras descuentos), 2 decimales.
Errores
| Código | HTTP | |
|---|---|---|
| 10015104 | 400 | Chave malformada (longitud / caracteres / dígito verificador). Se rechaza localmente, sin realizar consulta. Valide antes: 44 dígitos, el último es el dígito verificador mod-11. |
| 10015004 | 400 | Factura no encontrada en ninguna fuente. La chave es desconocida para la plataforma y para la fuente oficial; confirme la chave con el emisor. |
Ejemplo de firma
Con app_secret = sk_live_9f8e7d6c5b4a, la chave 35260764962869000108550990001366171195929648 y timestamp = 1784906308, la cadena firmada es (GET, cuerpo vacío; la chave está en la ruta):
sign_input = "sk_live_9f8e7d6c5b4a"+ "/openapi/v3/consultas/nf-e/35260764962869000108550990001366171195929648"+ ""+ "1784906308"sign = md5Hex(sign_input)
Fuentes de datos y resultados
La plataforma resuelve la chave por los niveles siguientes; se devuelve el primer acierto:
| Caso | Resultado |
|---|---|
| Enviada previamente para verificación (la plataforma conserva el registro) | Datos completos de la factura |
| Factura emitida por esta plataforma | Datos completos interpretados del XML autorizado |
| Chave desconocida | Datos autorizados completos obtenidos de la fuente oficial, según la política de la plataforma |
| Sin acierto en ninguna fuente | HTTP 400, { "code": 10015004, "message": "Invoice not found" } |
| Chave malformada / dígito verificador incorrecto | HTTP 400, { "code": 10015104, ... }; no se realiza ninguna consulta |
Nueva verificación
Este endpoint tiene forma GET fija y no dispone de canal de nueva verificación. Para forzar una nueva comprobación, reenvíe el XML por la verificación de XML con la cabecera forceRevalidate: true. La consulta por chave puede servir como alternativa de sondeo al webhook, pero el veredicto en sí solo se envía por el webhook.
