Correlativos por serie
Devuelve, por cada serie que la empresa ya usó, el último correlativo emitido y el siguiente libre.
Autenticación: token Bearer de empresa (cpe:sign).
Consideraciones
- Formato de una serie: 4 caracteres —
Fpara facturas oBpara boletas, y 3 alfanuméricos más (A-Z, 0-9). Las letras valen en cualquiera de las tres:F001,FA01yBOL1son todas válidas. La serie la eliges tú; no la asignamos nosotros. - La numeración fiscal vive en el servidor. Si tu sistema la lleva en local, reinstalarlo o abrir una segunda caja hace que el contador arranque en 1 y choque contra comprobantes ya emitidos: un
409por cada intento. - Usa
siguientecomo el número de tu próxima emisión de esa serie. - Solo devuelve series que ya tienen comprobantes. Una serie nueva no aparece: empieza en
1. - Cuenta todos los comprobantes emitidos, incluidos los rechazados: un número usado no se reutiliza.
- Buen momento para llamarlo: al iniciar sesión en un equipo nuevo, y ante cualquier
409por duplicado.
ultimo es el mayor correlativo emitido de esa serie y siguiente es simplemente
ultimo + 1 — el número que te toca usar.
emitidos es la cantidad total de comprobantes de esa serie. Normalmente coincide
con ultimo, pero puede ser menor si la serie no arrancó en 1 o si se emitió desde
otro sistema antes de migrar.
Headers
| Name | Type | Description |
|---|---|---|
| Accept | string | application/json |
| Content-Type | string | application/json |
| Authorization | string | Bearer <token>. Genéralo desde tu panel, en Tokens de API. |
Parámetros de consulta
| Name | Type | Description |
|---|---|---|
| tipo_doc | string | Acota la respuesta a un tipo de comprobante: 01 factura · 03 boleta · 07 nota de crédito · 08 nota de débito. |
Ejemplo de solicitud
Copiar
curl -X GET https://api.xmlperu.dev/v1/cpe/series?tipo_doc=03 \
-H "Authorization: Bearer $TOKEN_EMPRESA" \
-H "Accept: application/json"Copiar
<?php
$token_empresa = 'pega-aqui-tu-token';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.xmlperu.dev/v1/cpe/series?tipo_doc=03');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token_empresa,
'Accept: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);Copiar
const TOKEN_EMPRESA = 'pega-aqui-tu-token';
const res = await fetch('https://api.xmlperu.dev/v1/cpe/series?tipo_doc=03', {
method: 'GET',
headers: {
Authorization: `Bearer ${TOKEN_EMPRESA}`,
Accept: 'application/json',
},
});
const data = await res.json();Copiar
import requests
TOKEN_EMPRESA = "pega-aqui-tu-token"
headers = {
"Authorization": f"Bearer {TOKEN_EMPRESA}",
"Accept": "application/json",
}
res = requests.get("https://api.xmlperu.dev/v1/cpe/series?tipo_doc=03", headers=headers)
data = res.json()Respuesta
200 OKapplication/json
Una entrada por cada combinación de tipo de comprobante y serie con emisiones.
{
"success": true,
"message": "Correlativos por serie.",
"data": {
"series": [
{
"tipo_doc": "01",
"serie": "F001",
"ultimo": 123,
"siguiente": 124,
"emitidos": 123
},
{
"tipo_doc": "03",
"serie": "B001",
"ultimo": 2,
"siguiente": 3,
"emitidos": 2
}
]
}
}200 Sin emisionesapplication/json
La empresa todavía no emitió nada. Empieza cada serie en
1.{
"success": true,
"message": "Correlativos por serie.",
"data": { "series": [] }
}401 Sin tokenapplication/json
{
"success": false,
"message": "Token no asociado a una empresa."
}