Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Overzicht foutmeldingen

Foutmeldingen die je ontvangen hebt tijdens het verwerken kan je terugvinden via de self-service pagina https://prod.notificaties.vlaanderen.be/ of via het antwoord dat je terugkrijgt van het aangesproken endpoint. In dat antwoord krijg je een beschrijving (“description”) en een detailoverzicht van alle gevonden foutmeldingen (“errors“).

Voorbeeld:

Code Block
languagejson
{
"code" : "2001",
"message" : "Validatiefouten",
"description" : "Er heeft zich een foutmelding voorgedaan. Gelieve contact op te nemen met het Notificatie team.",
"errors" : [ { "code" : "1100", "message" : "Maximum lengte voor body overschreden (80 KB).", "description" : "De maximum grootte voor een body is 80 KB.", "field" : "SleutelWaardeParen[0].Waarde" } 
]
}   

HTTP 401

Er is geen of geen geldig token in de Authorization Header, zie Beveiliging DOSIS via ACM/IDM. Vraag een token aan met

  • scope dv_dosis_import

...

  • de juiste

...

  • audience voor de omgeving

...

Deze fout komt soms voor omdat eenzelfde token te lang gebruikt wordt. Zie onder bij de ACM token performantie tipsook: Performantietips.

HTTP 403

Deze fout geeft aan dat je ACM client De ACM-client heeft niet de nodige rechten heeft om het dossier of de toelating aan te passen. Deze rechten worden toegekend door het Aansluitingenteam Aansluitingen-team tijdens het aansluiting proces:aansluitingsproces.

  • De Dossier Bron dossierbron (met Bron Uri -URI en Bron Id-ID) moet aangemaakt zijn voor de Afzender (= inhoudelijk verantwoordelijke) van de dossier- en toelating updatestoelatingsupdates

  • De ACM-client van de Aanbieder (= technisch verantwoordelijke) van v(an de updates moet de juiste rechten hebben en gekend zijn als Aanbieder voor de bron

De foutboodschap die je terugkrijgt ziet er als volgt uit en zal duidelijker aangeven wat er fout ging:

Code Block
languagejs
{
  "code": "string",
  "message": "string",
  "description": "string"
}

Je Zodra de aansluitingsgegevens aangepast zijn, kan deze update later onveranderd opnieuw aanbieden, zodra de aansluitingsgegevens aangepast zijnworden aangeboden.

HTTP 400

De inhoud van de notificatie voldoet niet aan de vereistenvormvoorschriften. De respons die je terugkrijgt isziet er als volgt uit:

Code Block
languagejs
{
  "code": "string",
  "message": "string",
  "description": "string",
  "errors": [
    {
      "code": "string",
      "message": "string",
      "description": "string",
      "field": "string"
    }
  ]
}

Nota: het “errors” veld is optioneel en enkel aanwezig als er meer gedetailleerde validatie boodschappen zijn.

De message- en description-velden geven aan wat er fout was. Sowieso zal de De dossier- of toelating update toelatingsupdate wordt niet aanvaard worden met de huidige inhoud.

Info

Errors is optioneel en enkel aanwezig als er meer gedetailleerde validatieboodschappen zijn.

HTTP 429

De DOSIS-API wordt beschermd door een Application Firewallapplication firewall. Indien Zodra er teveel te veel calls tegelijk komen, dan krijg je een error 429 “Too many requests.” Als je deze fout krijgt, open dan je “Circuitbreaker” en probeer geeft dit de foutboodschap HTTP 429 - Too many requests. Open uw Circuitbreaker en probeer het later opnieuw.

De huidige limiet is 1800 oproepen per minuut. Let wel: dit is een globale limiet, voor alle gebruikers van de API. Het is dus ook mogelijk dat je een 429 fout krijgt, niet omdat je zelf te snel de API oproept, maar omdat u deze fout ziet omdat andere gebruiker(s) een groot aantal oproepen doen.

Krijg je Krijgt u deze fout frequent, contacteer dan het DOSIS team of breng het onderwerp op op het wekelijks “Technisch Spreekuur”. Mogelijk moet de limiet verhoogd worden of is er neem contact op met de Servicedesk of kom langs op het technisch spreekuur, wekelijks op dinsdag van 13:00 tot 14:00 uur. De limiet moet misschien verhoogd worden of er bestaat een betere aanpak om grote aantallen status updates statusupdates te versturen. Zie ook de Performantietips hieronder voor performantie tips.

Performantietips

ACM-Token

Als je Wanneer u meerdere updates verstuurt, probeer dan hergebruik zoveel mogelijk één ACM-token te hergebruiken.

Een ACM-token aanmaken en valideren is vaak het traagste deel van een update versturen/verwerken. DOSIS valideert een ACM-token slechts 1 maaléén keer, bij de eerste oproep met dat token. Daarna wordt de validatie gecached gecachet en zijn alle volgende oproepen met dat datzelfde token een stuk sneller.

Als je Wanneer u een token ontvangt van ACM, bevat de respons een “expiresexpires_in” in-veld dat aangeeft hoelang het token nog geldig is.

Info

Gebruik het token niet tot het laatste moment

...

omdat het ongeldig wordt tussen het moment dat het wordt opgestuurd

...

en

...

gevalideerd wordt

...

. Dat leidt af en toe tot onverwachte HTTP 401 responses.
Een nieuw token is meestal een uur geldig. Vraag een nieuw token aan

...

wanneer de resterende geldigheidsduur minder dan 1 minuut is. Zo

...

bent u zeker dat het token geldig

...

blijft voor de hele duurtijd van de volgende oproep.

Performantie van

...

dossiers of

...

toelatingsupdates versturen

Stuur updates bij voorkeur sequentieel op wanneer:

  • als de API wat trager is door hoge belasting, dan stuur je stuurt u ook wat trager notificaties updates door

  • als een token gevalideerd moet gevalideerd worden, dan zijn alle andere oproepen met hetzelfde token geblokkeerd tot het resultaat van de validatie gekend is

  • je deelt u de bandbreedte en de verwerkingskracht deelt met alle andere aanbieders van DOSIS. Zie ook de HTTP 429 respons als er teveel notificaties tegelijk aangeboden worden

Een update aanbieden kost meestal minder dan 1 -2sof 2 seconden. Uitzonderlijk kan duurt het langer duren, door factoren die niet altijd onder controle zijn van buiten de DOSIS-bouwsteen om, zoals de huidige belasting en de respons tijden responstijden van andere systemen die worden opgeroepen worden door DOSIS. Gebruik een communicatie timeout communicatietime-out die voldoende lang is om met dergelijke schommelingen om te kunnen. Typisch Dit is typisch een timeout time-out van 15 -30stot 30 seconden.

Wees klaar om Stuur een update opnieuw te versturen indien als het de eerste keer niet lukt omdat er een fout, timeout time-out of HTTP 429 respons komt. Dit kan bvb bijv. door deze de gefaalde updates in een queue te plaatsen en later opnieuw te proberen.

Bij een HTTP 400 validatiefout respons heeft het geen zin om opnieuw te proberen verzenden zonder eerst de inhoud van de update aan te passen. Let wel:

Note
  • POST /api/v1/dosis/dossiers doet de validatie asynchroon. Gebruik GET /api/v2/dosis/resultaten/fouten om eventuele

...

  • validatiefouten later op te vragen.

...

  • Gebruik liever POST /api/v2/dosis/dossiers want deze API geeft meteen alle validatiefouten terug

...

  • vooraleer het dossier in de achtergrond verwerkt wordt.