Validácia XML
Batch aj single-file JSON requesty pre UBL, EN 16931, Peppol profil a slovenskú aplikačnú vrstvu s issues, summary a remediation odkazmi.
VerifyEU API pokrýva PEPPOL XML validáciu, slovenské eFaktúra workflowy, Peppol lookup, VIES, PDF bridge, error catalog a dokumentový lifecycle. Táto stránka číta živý OpenAPI shell, takže vývojár vidí dostupné endpointy priamo z backendu.
Kontroloval som to aj voči dodaným referenciám: nechávame si praktické onboarding prvky, ale pridávame širší workflow okolo validácie, lookupu, dokumentov a opráv.
Batch aj single-file JSON requesty pre UBL, EN 16931, Peppol profil a slovenskú aplikačnú vrstvu s issues, summary a remediation odkazmi.
Dokumentový lifecycle drží status, event timeline, artefakty na stiahnutie, idempotency kľúč a prípravu send kroku cez pripojeného certifikovaného partnera po validácii.
Peppol participant lookup, batch radar, VIES kontrola, error catalog a remediation API pre vysvetlenie chýb bez hľadania v normách.
Primárny payload je JSON, nie multipart. Je to stabilnejšie pre serverless deploy, auditovanie requestov a batch spracovanie.
content.files, pre jednu faktúru filename + content.# Batch validácia XML faktúr curl -X POST https://verifyeu.com/api/validate \ -H "Content-Type: application/json" \ -d '{ "files": [ { "filename": "faktura.xml", "content": "<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\">...</Invoice>" } ] }'
import { readFile } from "node:fs/promises"; const xml = await readFile("faktura.xml", "utf8"); const response = await fetch("https://verifyeu.com/api/validate", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ files: [{ filename: "faktura.xml", content: xml }] }) }); const result = await response.json(); console.log(result.valid, result.invalid, result.results[0].issues);
import json from urllib.request import Request, urlopen with open("faktura.xml", "r", encoding="utf-8") as f: xml = f.read() payload = json.dumps({ "files": [{"filename": "faktura.xml", "content": xml}] }).encode("utf-8") req = Request( "https://verifyeu.com/api/validate", data=payload, headers={"Content-Type": "application/json"}, method="POST", ) print(json.loads(urlopen(req, timeout=30).read()))
{
"total": 1,
"valid": 0,
"invalid": 1,
"results": [
{
"filename": "faktura.xml",
"valid": false,
"fatal_count": 1,
"warning_count": 1,
"summary": { "invoice_id": "FV-2026-0001", "currency": "EUR" },
"issues": [
{
"level": "fatal",
"layer": "EN16931",
"rule_id": "BR-CO-10",
"message": "Súčet riadkov nesedí s LegalMonetaryTotal."
}
]
}
]
}
Voľný validator pomáha pri testovaní. Produkčná integrácia má mať oddelené workspace oprávnenia, audit a idempotency.
Endpointy validácie a PDF bridge môžu bežať bez API kľúča, ale sú metered cez verejný denný soft limit. Pri limite API vráti public_soft_limit_reached s hodnotami used a limit.
Pre dôverné faktúry používajte workspace API kľúč, role developer alebo admin, a pri vytváraní dokumentu posielajte Idempotency-Key, aby retry nevytvoril duplicitu.
Zoznam nižšie sa skladá z /api/openapi.json. Ak backend pribudne alebo sa zmení, táto časť to ukáže bez ručnej úpravy stránky.