Documentación API v1
API JSON para ERP, gestión de inventarios o automatizaciones personalizadas. Autenticación mediante X-API-Key · conforme a EN 16931 · salida de PDF híbrido opcional.
Autenticación
Cada solicitud (excepto /health) requiere el encabezado X-API-Key: <su-clave>. Encuentre sus claves API en su
Panel de control.
X-API-Key: xr_abc123... Content-Type: application/json
Endpoints
Comprobación de disponibilidad simple. Devuelve el estado de la base de datos. Ideal para monitorización.
Respuesta:
{ "status": "ok", "db": true }
Devuelve todos los perfiles compatibles con metadatos (campos obligatorios, tipo de exportación).
{ "profiles": ["XRECHNUNG", "B2B_UBL", "ZUGFERD"] }
Enviar factura como JSON → generar XML válido (y generar opcionalmente un PDF híbrido).
Cuerpo de la solicitud:
{
"profile": "XRECHNUNG",
"invoice_number": "RE-2026-0042",
"issue_date": "2026-04-20",
"due_date": "2026-05-04",
"currency": "EUR",
"buyer_reference": "04011000-1234567-89",
"seller": {
"name": "Mustermann IT GmbH",
"vat_id": "DE123456789",
"address": { "street":"Musterstraße 12","postal_code":"70173",
"city":"Stuttgart","country_code":"DE" }
},
"buyer": {
"name": "Landratsamt Musterhausen",
"address": { "street":"Rathausplatz 1","postal_code":"70173",
"city":"Musterhausen","country_code":"DE" }
},
"lines": [{
"name": "Webentwicklung", "quantity": "12",
"unit": "HUR", "unit_price": "120.00", "tax_percent": "19"
}],
"bank_account": { "iban": "DE89370400440532013000" },
"include_zugferd": false
}
Respuesta correcta (200):
{
"invoice": { ... },
"validation": { "ok": true, "errors": [] },
"xml_base64": "PD94bWwgdmVyc2lvbj0iMS4wIi4uLg==",
"zugferd_base64": null
}
ⓘ unit = UN/CEFACT-Code: HUR Stunde, C62 Stück, KGM kg.
Bei XRechnung ist buyer_reference (Leitweg-ID) Pflicht.
Mismo cuerpo que /invoices, pero devuelve solo el resultado de validación — sin XML, sin PDF.
{
"ok": false,
"errors": [
{ "level": "error", "code": "BR-04",
"message": "Seller VAT identifier is mandatory." }
]
}
Envía una factura PDF como multipart/form-data. El escáner extrae todos los campos reconocibles y devuelve directamente XML válido.
curl -X POST https://rechnung.syypro.com/api/v1/extract \
-H "X-API-Key: $XR_KEY" \
-F "file=@rechnung.pdf" \
-F "profile=ZUGFERD"
Campos de respuesta:
confidence– Calidad de reconocimiento 0–100warnings– Campos que no estaban claroschecklist– Verificación de completitud con códigos BTxml_base64– XML XRechnung completozugferd_base64– PDF híbrido (si el perfil es ZUGFERD)
⚠ Códigos de error
| HTTP | Code | Significado |
|---|---|---|
| 400 | invalid_body | JSON malformado o campos obligatorios faltantes |
| 401 | unauthorized | Clave API faltante o inválida |
| 413 | too_large | Subida > 16 MB |
| 415 | wrong_type | Solo se permite PDF para la extracción |
| 422 | invalid_invoice | La factura no supera la validación EN-16931 |
| 429 | rate_limited | Más de 60 solicitudes/minuto |
| 503 | api_disabled | API no activada o ninguna clave configurada |
Seleccione una función (paso 2), introduzca su clave API (paso 1) y haga clic en Enviar solicitud. El resultado aparece directamente debajo.
→ Iniciar sesión para usar su clave
Encuentre su clave en el panel bajo "Claves API". Siempre comienza con xr_.