XmlPeruDevDocs

Consultar estado

Estado registrado de un comprobante, para cualquier tipo. Es solo lectura: no consulta a SUNAT.

Autenticación: token Bearer de empresa (cpe:sign).

Consideraciones

  • Aplica a todos los tipos: facturas, boletas, notas, resúmenes (RC/RA/RR) y guías (09/31).
  • También acepta el entorno declarado en la ruta (/api/pro/demo/cpe/consultar/…). La respuesta incluye entorno, que es el del comprobante: lo emitido en demo sigue diciendo demo aunque la empresa ya esté en producción.
  • Para facturas, boletas y notas devuelve el estado registrado y el CDR si ya llegó.
  • Trae success, connection y sunat_success — el veredicto está en sunat_success (true/false/null), nunca en el HTTP. Los tres viajan siempre, también en null. Ver Cómo leer la respuesta.
  • Si tu empresa está en modo esperar, normalmente no necesitas llamar aquí: el CDR viene en la respuesta del envío. Sigue sirviendo por si SUNAT tardó de más.
  • Es solo lectura: no envía ni reenvía nada.
  • resuelto: false significa que sigue en camino. Vuelve a consultar en unos segundos.
  • Variantes: POST /api/cpe/consultar (con external_id o nombre_archivo en el body) y POST /api/cpe/consultar/external_id.
  • Alias de entorno: GET /api/cpe/consultar-demo/{filename}.
GEThttps://api.xmlperu.dev/api/cpe/consultar/{filename}Copiar

Este endpoint devuelve lo que ya sabemos del comprobante, sea del tipo que sea. Es solo lectura: no envía, no reenvía y no consulta a SUNAT.

Qué hacer con cada combinación de campos está en Cómo leer la respuesta. En corto: mientras resuelto sea false, el comprobante sigue en camino. No hay nada que hacer de tu lado: vuelve a consultar más tarde, o configura el webhook y te avisamos sin que preguntes.

Headers

NameTypeDescription
Acceptstringapplication/json
Content-Typestringapplication/json
AuthorizationstringBearer <token>. Genéralo desde tu panel, en Tokens de API.

Parámetros de URL

NameTypeDescription
filename*stringNombre del comprobante en formato RUC-TIPO-SERIE-NUMERO (sin extensión).

Ejemplo de solicitud

Copiar
curl -X GET https://api.xmlperu.dev/api/cpe/consultar/20123456789-RC-20260809-1 \
  -H "Authorization: Bearer $TOKEN_EMPRESA" \
  -H "Accept: application/json"

Respuesta

200 Resueltoapplication/json
SUNAT se pronunció. Mira state_type_id05 aceptado, 07 con observaciones, 09 rechazado. Ver Cómo leer la respuesta.
{
  "success": true,
  "connection": true,
  "sunat_success": true,
  "llego_a_sunat": true,
  "resuelto": true,
  "estado": 200,
  "state_type_id": "05",
  "code": "0",
  "mensaje": "La Factura numero F001-42, ha sido aceptada",
  "message": "La Factura numero F001-42, ha sido aceptada",
  "external_id": "9c2f1b7e-…",
  "cdr": "UEsDBBQAAA…",
  "time": 0.05
}
200 Todavía en caminoapplication/json
El envío sigue en curso. Vuelve a consultar en unos segundos.
{
  "success": true,
  "connection": null,
  "sunat_success": null,
  "llego_a_sunat": null,
  "resuelto": false,
  "estado": "03",
  "state_type_id": "03",
  "mensaje": "Enviado a SUNAT, esperando respuesta.",
  "message": "Enviado a SUNAT, esperando respuesta.",
  "external_id": "9c2f1b7e-…",
  "cdr": null,
  "time": 0.04
}
404 No registradoapplication/json
{
  "success": false,
  "message": "El comprobante no está registrado."
}