Buscar Factura
GET /invoicing/findBusca y obtiene los datos de una factura electrónica por su ID, por su CUFE o por el externalId que enviaste al crearla.
Autenticación
Requiere header X-SOLERBA-TOKEN. Ver .
Query Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | integer | Condicional | ID de la factura en Solerba |
cufe | string | Condicional | Código Único de Factura Electrónica |
externalId | string | Condicional | Identificador de tu sistema enviado en externalId al (máx. 100 caracteres) Nuevo |
Al menos uno requerido
Debes enviar al menos uno de los tres parámetros. Si envías más de uno, la prioridad es id → cufe → externalId.
Búsqueda por externalId
Es la forma más simple de recuperar una factura desde tu POS o ERP: usa el mismo número de orden o referencia que enviaste al crearla y no necesitas guardar el id ni el cufe de Solerba. La consulta está optimizada, por lo que responde igual de rápido que por id.
Ejemplo por ID
curl -X GET "https://api.solerba.com/external-api/invoicing/find?id=18874" \
-H "X-SOLERBA-TOKEN: tu-api-token-aqui"Ejemplo JS
const response = await fetch('https://api.solerba.com/external-api/invoicing/find?id=18874', {
headers: {
'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN
}
});
const result = await response.json();
console.log(result);Ejemplo Py
import requests
response = requests.get(
'https://api.solerba.com/external-api/invoicing/find',
params={'id': 18874},
headers={'X-SOLERBA-TOKEN': 'tu-api-token-aqui'}
)
result = response.json()
print(result)Ejemplo por CUFE
curl -X GET "https://api.solerba.com/external-api/invoicing/find?cufe=FE0120000155704849-2-2021-3200012026021019600000460010129600000462" \
-H "X-SOLERBA-TOKEN: tu-api-token-aqui"Ejemplo JS
const cufe = 'FE0120000155704849-2-2021-3200012026021019600000460010129600000462';
const response = await fetch(`https://api.solerba.com/external-api/invoicing/find?cufe=${cufe}`, {
headers: {
'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN
}
});
const result = await response.json();
console.log(result);Ejemplo Py
import requests
response = requests.get(
'https://api.solerba.com/external-api/invoicing/find',
params={'cufe': 'FE0120000155704849-2-2021-3200012026021019600000460010129600000462'},
headers={'X-SOLERBA-TOKEN': 'tu-api-token-aqui'}
)
result = response.json()
print(result)Ejemplo por externalId
curl -X GET "https://api.solerba.com/external-api/invoicing/find?externalId=ORDER_12345" \
-H "X-SOLERBA-TOKEN: tu-api-token-aqui"Ejemplo JS
const externalId = 'ORDER_12345';
const response = await fetch(`https://api.solerba.com/external-api/invoicing/find?externalId=${encodeURIComponent(externalId)}`, {
headers: {
'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN
}
});
const result = await response.json();
console.log(result);Ejemplo Py
import requests
response = requests.get(
'https://api.solerba.com/external-api/invoicing/find',
params={'externalId': 'ORDER_12345'},
headers={'X-SOLERBA-TOKEN': 'tu-api-token-aqui'}
)
result = response.json()
print(result)Coincidencia exacta
El externalId se compara tal cual lo enviaste al crear la factura, incluidos ceros iniciales y mayúsculas/minúsculas: 000123 y 123 son identificadores distintos. Si por error creaste más de una factura con el mismo externalId, se devuelve la más reciente.
Respuesta exitosa
HTTP 200 OK
{
"success": true,
"result": {
"id": 18874,
"externalId": "ORDER_12345",
"doctype": "01",
"cufe": "FE0120000155704849-2-2021-3200012026021019600000460010129600000462",
"datetime": "2026-03-20T15:30:00.000Z",
"documentTotal": 107,
"totalBTaxes": 100,
"totalWTaxes": 107,
"qtyItems": 1,
"urlPdf": "https://storage.solerba.com/invoices/18874.pdf",
"canceled": false,
"success": true
}
}| Campo | Tipo | Descripción |
|---|---|---|
id | integer | ID de la factura en Solerba |
externalId | string | Identificador de tu sistema enviado al crear la factura. Se omite si no lo enviaste |
doctype | string | Tipo de documento ("01" o "04") |
cufe | string | Código Único de Factura Electrónica |
datetime | string | Fecha y hora de emisión |
documentTotal | number | Total del documento con impuestos |
totalBTaxes | number | Total antes de impuestos (subtotal) |
totalWTaxes | number | Total con impuestos |
qtyItems | integer | Cantidad de ítems en la factura |
urlPdf | string | URL de descarga del PDF |
canceled | boolean | Si la factura fue cancelada |
success | boolean | Si la factura fue emitida exitosamente |
Problemas comunes
| Error | Causa | Solución |
|---|---|---|
401 Unauthorized | Token inválido o expirado | Verifica tu API Token |
400 — parámetro requerido | No se envió id, cufe ni externalId | Incluye al menos uno de los tres parámetros |
400 — externalId inválido | Está vacío o supera los 100 caracteres | Envía el mismo valor que usaste al crear la factura |
404 Not Found | No se encontró la factura | Verifica que el id, cufe o externalId sea correcto y pertenezca a la empresa del token |
Se devuelve otra factura por externalId | Reutilizaste el mismo externalId en varias facturas | Usa identificadores únicos por factura; el endpoint devuelve la más reciente |
Siguientes pasos
- — Emite una nueva factura
- — Cancela una factura existente
- — Valida datos fiscales de un contribuyente