Consulta PDF de CPE
Descarga el PDF de un comprobante (factura, boleta, nota de crédito/débito) emitido por el RUC autenticado.
Consideraciones
- No disponible en los planes gratuito y micro.
- Consume 4 consultas de tu plan.
- Credenciales SOL requeridas.
El PDF se entrega en data.base64.
Headers
| Name | Type | Description |
|---|---|---|
| Accept | String | application/json |
| Content-Type | string | application/json |
| Authorization | string | Bearer <token>. Genéralo desde tu panel, en Api Tokens. |
Body
| Name | Type | Description |
|---|---|---|
| ruc* | string | RUC del emisor (titular de la Clave SOL que consulta). |
| usuario* | string | Usuario SOL. |
| clave* | string | Clave SOL. |
| tipo_cpe* | string | 01 Factura, 03 Boleta, 07 Nota de crédito, 08 Nota de débito. |
| serie* | string | Serie del comprobante (4 caracteres). Ejemplo: F001. |
| numero* | integer | Número correlativo del comprobante. |
| indicador | string | Parámetro interno de SUNAT para el formato de impresión. Por defecto 1. |
Ejemplo de solicitud
Copiar
# https://apiconsulta.xmlapi.pe también funciona (dominio legacy) anteponiendo /api a la ruta — ver Inicio
URL_BASE="https://api.apiconsulta.xmlapi.pe"
curl -X POST "$URL_BASE/cpe/consulta-pdf" \
-H "Accept: application/json" \
-H "Authorization: Bearer TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ruc":"20601234567","usuario":"USUARIO","clave":"CLAVE","tipo_cpe":"01","serie":"F001","numero":123,"indicador":"1"}' Copiar
<?php
// https://apiconsulta.xmlapi.pe también funciona (dominio legacy) anteponiendo /api a la ruta — ver Inicio
$urlBase = 'https://api.apiconsulta.xmlapi.pe';
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $urlBase . '/cpe/consulta-pdf',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'ruc' => '20601234567',
'usuario' => 'USUARIO',
'clave' => 'CLAVE',
'tipo_cpe' => '01',
'serie' => 'F001',
'numero' => 123,
'indicador' => '1',
]),
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Authorization: Bearer TU_TOKEN',
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response; Copiar
// https://apiconsulta.xmlapi.pe también funciona (dominio legacy) anteponiendo /api a la ruta — ver Inicio
const URL_BASE = 'https://api.apiconsulta.xmlapi.pe';
const response = await fetch(`${URL_BASE}/cpe/consulta-pdf`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer TU_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
ruc: '20601234567',
usuario: 'USUARIO',
clave: 'CLAVE',
tipo_cpe: '01',
serie: 'F001',
numero: 123,
indicador: '1',
}),
});
const data = await response.json();
console.log(data); Copiar
import requests
# https://apiconsulta.xmlapi.pe también funciona (dominio legacy) anteponiendo /api a la ruta — ver Inicio
URL_BASE = 'https://api.apiconsulta.xmlapi.pe'
response = requests.post(
f'{URL_BASE}/cpe/consulta-pdf',
headers={
'Accept': 'application/json',
'Authorization': 'Bearer TU_TOKEN',
'Content-Type': 'application/json',
},
json={
'ruc': '20601234567',
'usuario': 'USUARIO',
'clave': 'CLAVE',
'tipo_cpe': '01',
'serie': 'F001',
'numero': 123,
'indicador': '1',
},
)
print(response.json()) Respuesta
200 OK application/json
{
"success": true,
"data": {
"base64": "JVBERi0xLjQKJ..."
}
}