XML-documenten valideren zonder opslag: smart detection, meertalige assertions en custom regels.
Met de Validate API kun je een XML-document valideren zonder het op te slaan of te verzenden via de PSB. Dat maakt het ideaal als pre-flight check voordat je een document daadwerkelijk verstuurt, of voor het testen van documenten tijdens de ontwikkeling van je integratie.
POST /api/v1/generic/validate
Stuur het XML-document als body mee met content-type application/xml. De PSB analyseert het document en retourneert een validatieresultaat.
De Validate API herkent automatisch welk documentformaat je hebt aangeleverd op basis van de XML-inhoud. Je hoeft niet op te geven of het een NLCIUS-factuur, een Peppol BIS Billing V3-factuur, een UBL Order of een ander formaat is. De API detecteert dit zelf en past de juiste validatieregels toe.
Dit werkt voor alle documenttypen die de PSB ondersteunt: facturen, creditnota's, orders, order responses en meer.
De response bevat een isValid-boolean en een lijst van assertions:
{
"isValid": false,
"assertions": [
{
"artifact": "schema",
"flag": "error",
"text": "Element 'cbc:InvoiceTypeCode' is missing."
},
{
"artifact": "business-rules",
"flag": "warning",
"text": "BR-NL-10: TaxTotal should contain at least one TaxSubtotal."
}
]
}
Elk assertion heeft een flag met een van de volgende waarden:
successwarningerrorDe validatie controleert zowel op het XSD-schema (structuur) als op business rules (inhoudelijke regels zoals verplichte velden en waardebereiken).
De PSB valideert standaard tegen de meest recente versie van de validatieartefacten. Als het document niet valide is tegen de nieuwste versie maar wel tegen de vorige versie die nog wordt geaccepteerd op het netwerk, worden beide resultaten teruggegeven. Zo weet je of je document nu nog verstuurd kan worden, en of je moet upgraden voor toekomstige compatibiliteit.
Voor specifieke validatiebehoeften kun je een optionId meegeven als queryparameter:
POST /api/v1/generic/validate?optionId=jouw-optie-id
Dit activeert een vooraf gedefinieerde set validatieregels, bijvoorbeeld klantspecifieke eisen of branchestandaarden. Welke opties beschikbaar zijn, vraag je op via:
GET /api/v1/generic/validate/options
Standaard zijn de assertions in het Engels. Wil je de validatieberichten in het Nederlands ontvangen? Stuur dan de X-EConnect-Language-header mee:
X-EConnect-Language: nl
Ondersteunde talen zijn onder andere nl (Nederlands) en en (Engels).
De Validate API is bijzonder nuttig in de volgende scenario's:
Technisch: De Validate API slaat het document niet op in de PSB. Het document wordt gevalideerd en het resultaat wordt direct geretourneerd. Er worden geen webhooks getriggerd en er worden geen kosten in rekening gebracht.
De Validate API geeft in dat geval beide validatieresultaten terug. Je kunt het document nu nog versturen met de vorige versie, maar je weet direct dat je moet upgraden voor toekomstige compatibiliteit. Zo heb je de tijd om je XML-generatie aan te passen voordat de oude versie wordt uitgefaseerd.
Nee, de Validate API slaat het document niet op in de PSB en triggert geen webhooks. Er worden geen transactiekosten berekend. Je kunt de API onbeperkt gebruiken voor validatie tijdens ontwikkeling of als pre-flight check.
Ja, standaard zijn de assertions in het Engels, maar door de header X-EConnect-Language: nl mee te sturen ontvang je de validatieberichten in het Nederlands. Dit is handig als je de foutmeldingen direct wilt tonen aan Nederlandstalige eindgebruikers.
Bekijk de volledige API-specificatie op psb.econnect.eu voor alle parameters en voorbeeldpayloads.
Valideer een document