Validación de comprobantes electrónicos
Varias formas de verificar comprobantes, según lo que necesites: validación automática con respaldo, validación puntual rápida, validación oficial contra la API de SUNAT, validación masiva (hasta 150 filas), descarga del XML/PDF original de compras/ventas, consulta del detalle (ítems) de un comprobante, y reenvío por correo.
api-cpe.sunat.gob.pe), solo cambia qué te devuelven.Validación automática (recomendada)
POST/cpe/validar-auto
Intenta primero la vía oficial de SUNAT (OAuth2 — más estable, el token se renueva solo por código); si falla por cualquier motivo (credenciales incompletas, SUNAT no responde, error de red), cae automáticamente al buscador público (scraping), sin que tengas que implementar tu propio reintento ni elegir un método. Mismos parámetros que /cpe/validar.
curl -X POST https://mblapirest.com/api/v1/cpe/validar-auto \
-H "Authorization: Bearer TU_API_TOKEN" \
-d "ruc=20123456789" -d "document_type=01" -d "serie=F001" -d "numero=123" \
-d "fecha=15/01/2025" -d "monto=118.00"
{
"metodo": "oficial",
"data": { "comprobante_estado_codigo": "1", "numero_comprobante": "F001-123", "..." }
}
Si tuvo que usar el respaldo, la respuesta trae "metodo": "scraper" y un aviso explicando que la vía oficial no respondió — útil para que sepas si te conviene revisar tus credenciales OAuth2. Si ambos métodos fallan, la respuesta trae "success": false con el detalle de cada intento en detalle_oficial/detalle_scraper.
/configuracion (panel admin): las credenciales OAuth2 (Client ID/Secret) y el token de verificación del buscador público. Si solo configuras uno, el otro simplemente no aporta como respaldo.Validación individual (solo buscador público)
POST/cpe/validar
Consulta el buscador público de SUNAT (sin sesión SOL) para verificar un comprobante puntual.
| Nombre | Requerido | Descripción |
|---|---|---|
ruc | Sí | RUC emisor. |
document_type | Sí | Código SUNAT del tipo de comprobante (01 factura, 03 boleta, etc.). |
serie | Sí | Serie del comprobante. |
numero | Sí | Número correlativo. |
fecha | Sí | Fecha de emisión. |
monto | Sí | Monto total del comprobante. |
curl -X POST https://mblapirest.com/api/v1/cpe/validar \
-H "Authorization: Bearer TU_API_TOKEN" \
-d "ruc=20123456789" -d "document_type=01" -d "serie=F001" -d "numero=123" \
-d "fecha=15/01/2025" -d "monto=118.00"
/configuracion.Validación oficial (API SUNAT)
POST/cpe/validar-oficial
Igual que la anterior, pero contra la API REST oficial de SUNAT (OAuth2 client-credentials) en vez del buscador público — más confiable, requiere credenciales OAuth2 propias.
Mismos parámetros que /cpe/validar.
client_id/client_secret/ruc (OAuth2 "Extranet API" de SUNAT) configurados en /configuracion.Historial de tus validaciones
Cada validación individual (/cpe/validar, /cpe/validar-oficial o /cpe/validar-auto) queda guardada en tu historial — entra a Mi cuenta → Validaciones CPE para verlas o exportarlas a Excel. No es un endpoint de la API (es parte del panel web), pensado para que lleves tu propio registro sin tener que guardarlo tú del lado del cliente.
Validación masiva
POST/cpe/validar-masivo
Valida hasta 150 comprobantes en una sola llamada, contra SUNAT vía sesión SOL (usuario/clave SOL).
curl -X POST https://mblapirest.com/api/v1/cpe/validar-masivo \
-H "Authorization: Bearer TU_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data":[
{"ruc_emisor":"20123456789","tipo_documento":"01","serie":"F001","numero":"123","fecha":"15/01/2025","total":"118.00"}
]}'
Descarga de XML (compras/ventas)
POST/cpe/descargar-xml
Descarga el XML original de un comprobante (no el CDR), vía sesión SOL + la API moderna de SUNAT (api-cpe.sunat.gob.pe).
| Nombre | Requerido | Descripción |
|---|---|---|
ruc_emisor | Sí | RUC emisor del comprobante. |
serie | Sí | Serie del comprobante. |
numero | Sí | Número correlativo. |
tipo_comprobante | Opcional | Catálogo 01 de SUNAT: 01 factura (por defecto), 03 boleta, 07 nota de crédito, 08 nota de débito. |
proceso | Opcional | COMPRAS (por defecto, recibidos) o VENTAS (emitidos). |
{
"comprobante": "20123456789-F001-123",
"data": "PHhtbCB2ZXJzaW9uPS4uLg=="
}
data es el XML codificado en base64.
Descarga de PDF (compras/ventas)
POST/cpe/descargar-pdf
Descarga la representación en PDF de un comprobante de compras/ventas. Mismos parámetros que la descarga de XML (ruc_emisor, serie, numero, tipo_comprobante opcional, proceso opcional).
curl -X POST https://mblapirest.com/api/v1/cpe/descargar-pdf \
-H "Authorization: Bearer TU_API_TOKEN" \
-d "ruc_emisor=20123456789" -d "serie=F001" -d "numero=123"
{
"compra_venta": "Comprobante Electronico de Venta",
"comprobante": "20123456789-F001-123",
"data": "JVBERi0xLjQKJ..."
}
data es el PDF codificado en base64.
Detalle de compra (ítems)
POST/cpe/obtener-detalle-compra
Mismo servicio que la descarga de XML/PDF, pero en vez de darte el archivo, te devuelve el comprobante ya parseado: emisor, receptor, totales e ítems (descripción, cantidad, precios, IGV) — útil si solo necesitas los datos, no el archivo.
| Nombre | Requerido | Descripción |
|---|---|---|
ruc_emisor | Sí | RUC emisor del comprobante. |
serie | Sí | Serie del comprobante. |
numero | Sí | Número correlativo. |
tipo_comprobante | Opcional | Catálogo 01 de SUNAT: 01 factura (por defecto), 03 boleta, 07 nota de crédito, 08 nota de débito. |
proceso | Opcional | COMPRAS (por defecto, recibidos) o VENTAS (emitidos). |
curl -X POST https://mblapirest.com/api/v1/cpe/obtener-detalle-compra \
-H "Authorization: Bearer TU_API_TOKEN" \
-d "ruc_emisor=20123456789" -d "serie=F001" -d "numero=123"
{
"cpe": {
"serie": "F001",
"numero": "123",
"fecha_emision": "15/01/2025",
"moneda": "PEN",
"proveedor": { "tipo_doc": "6", "numero_doc": "20123456789", "razon_social": "..." },
"receptor": { "tipo_doc": "6", "numero_doc": "20614228408", "razon_social": "..." },
"totales": { "gravada": 127.60, "igv": 13.40, "total": 141.00 },
"items": [
{ "descripcion": "...", "codigo_interno": "...", "cantidad": 1, "unidad_medida": "NIU", "precio_unitario": 127.60, "precio_con_igv": 150.57, "id_afectacion": "10", "subtotal": 127.60, "igv": 0, "importe": 127.60 }
]
}
}
proceso=VENTAS, avísanos.Enviar por correo
POST/cpe/enviar-correo
Mismo servicio también: le pide a SUNAT que reenvíe el comprobante por correo a la dirección indicada (el mismo botón "correo" del buscador de comprobantes de SUNAT), sin que tengas que armar tú el envío.
| Nombre | Requerido | Descripción |
|---|---|---|
ruc_emisor | Sí | RUC emisor del comprobante. |
serie | Sí | Serie del comprobante. |
numero | Sí | Número correlativo. |
correo | Sí | Dirección de destino. |
tipo_comprobante | Opcional | Catálogo 01 de SUNAT: 01 factura (por defecto), 03 boleta, 07 nota de crédito, 08 nota de débito. |
proceso | Opcional | COMPRAS (por defecto, recibidos) o VENTAS (emitidos). |
curl -X POST https://mblapirest.com/api/v1/cpe/enviar-correo \
-H "Authorization: Bearer TU_API_TOKEN" \
-d "ruc_emisor=20123456789" -d "serie=F001" -d "numero=123" -d "correo=cliente@ejemplo.com"
{
"comprobante": "20123456789-F001-123",
"correo": "cliente@ejemplo.com"
}
Última actualización: 03/09/2026