Onderhoud Wegens upgrade omwille van een kritieke kwetsbaarheid zal confluence vandaag (18/12/2023) om 14u00 even onbeschikbaar zijn.
Het opladen van een XML-bestand voor verwerking naar DOV verloopt in 4 stappen.
De APP is steeds 'dov-xdov-server'
Stap 1: opladen van een bestand
Aan te spreken url: https://service.dov.vlaanderen.be/dov-xdov-server/import/upload
POST Content-Type: multipart/form-data;
Curl voorbeeld
Voorbeeld van een form Post met curl, let er op om de @ voor de bestandsnaam te zetten.
Voorbeeld Curl
curl -X POST -F file=@voorbeeldbestand..xml -k https://services.dov.vlaanderen.be/dov-xdov-server/import/upload --key my_key.key --cert my_cert.pem -v
Gebruik de url https://services-oefen.dov.vlaanderen.be/dov-xdov-server/import/upload om de oefenomgeving aan te spreken.
Response: is altijd in json formaat en bevat een referentie naar het opgeladen bestand; dit ID kan gebruikt bij de volgende stappen om naar dat opgeladen bestand te refereren
Response
{"id":"804311","naam":"voorbeeldbestand.xml"}
Stap 2: valideren van het opgeladen bestand
Aan te spreken url: https://service.dov.vlaanderen.be/dov-xdov-server/import/validate
POST Content-type: application/json
Curl voorbeeld
Voorbeeld Curl
curl -X POST -d "@validate-post-body.json" -k https://services-ontwikkel.dov.vlaanderen.be/dov-xdov-server/import/validate -H 'Content-Type: application/json' --key my_key.key --cert my_cert.pem -v
Request Data:
In bovenstaand voorbeeld van post data moet aandacht besteed worden aan de volgende velden:
- Lijn 3: vul hier ene beschrijving in van de het bestand (bvb 'opladen data van december'). Dit is vrije tekst
- Lijn 4: hier moet de gebruikersnaam ingevuld worden; de bedrijfsnaam is ook goed
- Lijn 5: vul hier de datum van vandaag in - formaat is YYYY-MM-DD
- Lijn 9: hier moet het KBO-nummer van uw organisatie ingevuld worden (zonder puntjes!)
- Lijn 93-94: hier moet de data ingevuld worden die als response uit stap 1 gekomen is
Response: json object met daarin een overzicht van succes of fouten van elke element in de XML tegenover het edov xml schema.
Het belangrijkste is lijn 8. Daar moet staan 'validatie zonder fouten'; indien niet is het een ongeldig bestand.
Stap 3: het opgeladen bestand officieel indienen
Aan te spreken url: https://service.dov.vlaanderen.be/dov-xdov-server/import
POST content-Type: application/json
De POST body is volledig identiek als in stap 2
Response: json object met dezelfde structuur als wat er opgestuurd is
Het invoerlogID waarmee je de status kan opvragen is het id van het antwoord, in dit voorbeeld 804327.
Stap 4 (optioneel): het opvragen van de status van de import
De import is een asynchroon proces, wat betekent dat u een bestand registreert om te importeren, maar dat het systeem dit zal verwerken van zodra het daar de tijd voor heeft.
Dat zal meestal wel binnen de 2 minuten gebeuren, maar dat zeker niet gegarandeerd.
Het is dus zaak om deze url periodiek op te roepen om de echte status van de import te kennen.
Aan te spreken url: https://service.dov.vlaanderen.be/dov-xdov-server/logs/[invoerlogID]
Of met extra details (detail overzicht per opgeladen object) : https://service.dov.vlaanderen.be/dov-xdov-server/logs/[invoerlogID]/details
GET Content-Type application/json
Response: hetzelfde json-object zoals teruggekomen is in stap 3, mét toegevoegd de huidige status van deze import.
Mogelijke statussen (zien lijn 17)
- niet- verwerkt: de import is nog niet gestart
- in verwerking: import wordt op dit moment verwerkt
- verwerkt met fouten: import is afgelopen er zijn één of meerdere fouten
- verwerkt met waarschuwingen: import is afgelopen er zijn één of meerdere waarschuwingen
- foutloos verwerkt: import is afgelopen er zijn geen fouten