Statuscodes

Dit artikel beschrijft de HTTP-statuscodes die je te zien kunt krijgen en de mogelijke oorzaken die in de statuscode resulteren.

HTTP 2xx: Success

De 2xx-statuscodes geven aan dat het verzoek succesvol is verwerkt door de server.

 

200 OK

  • Betekenis: Het verzoek is succesvol verwerkt.
  • Gebruik:
    • Voor een geslaagde GET-aanvraag wordt de opgevraagde resource geretourneerd.
    • Bij een POST-aanvraag betekent dit dat de server de gegevens correct heeft ontvangen en verwerkt.
  • Mogelijke scenario’s:
    • Algemene succesvolle respons: Bij GET, POST, PUT of DELETE waarbij de server zonder verdere boodschap aangeeft dat alles in orde is.
    • Geen gegevens: Het endpoint retourneert een lege dataset.
      • Voorbeeld: De gebruiker heeft geen toegang tot een bepaalde administratie en/of het boekjaar in MKG, waardoor er geen data wordt teruggegeven.
      • Voorbeeld: De gebruiker is niet geautoriseerd voor het betreffende endpoint, maar de server retourneert toch een 200 met lege data (afhankelijk van de implementatie).
      • Voorbeeld: Er zijn geen records aanwezig die aan de filtervoorwaarden voldoen.

HTTP 3xx: Redirection

De 3xx-statuscodes geven aan dat de client aanvullende stappen moet ondernemen om het verzoek te voltooien.

 

302 Found

    • Betekenis: De resource is tijdelijk verplaatst naar een andere URL.
    • Aanvullende informatie:
      • Foutief meegestuurde headers in de aanroep kunnen ervoor zorgen dat de server een redirect (302) teruggeeft in plaats van de verwachte status.

 

HTTP 4xx-serie: Client Errors

Deze foutcodes geven aan dat er een probleem is met het verzoek van de client.

 

400 Bad Request

    • Betekenis: Het verzoek van de client is ongeldig of kan niet worden begrepen.
    • Mogelijke oorzaken:
      • Onjuiste aanroep: Verkeerde of ontbrekende parameters, onjuiste JSON-structuur.
      • Verkeerde headers, zoals een onjuiste Content-Type.

401 Unauthorized / Not authenticated

    • Betekenis: De gebruiker is niet geauthentiseerd (ontbrekende of ongeldige credentials).
    • Mogelijke oorzaken:
      • De cookie (of het token) wordt niet meegestuurd in de aanroep.
      • Verkeerde gebruikersnaam en/of wachtwoord.
      • De gebruiker is niet geautoriseerd voor het betreffende endpoint (afhankelijk van de implementatie kan dit ook 403 zijn).
      • De MKG-server of de MKG API-appserver is niet actief (waardoor authenticatie mislukt).

403 Forbidden

    • Betekenis: De server begrijpt het verzoek, maar weigert het uit te voeren.
    • Mogelijke oorzaken:
      • De gebruiker is niet geautoriseerd voor het betreffende endpoint (geen juiste rechten).
      • De PUT-/POST-/DEL-rechten zijn nog niet vrijgegeven voor dit endpoint.

404 Not Found

    • Betekenis: De gevraagde resource of het gevraagde endpoint bestaat niet (of is niet bereikbaar).
    • Mogelijke oorzaken:
      • Problemen met de verbinding (bijvoorbeeld door een verkeerde URL of niet-bereikbare server).
      • Endpoint is niet (meer) beschikbaar in de API.

405 Method Not Allowed

    • Betekenis: De gebruikte HTTP-methode (GET/POST/PUT/DELETE) is niet toegestaan voor de gevraagde resource.
    • Mogelijke oorzaken:
      • Verkeerde methode gebruikt: Bijvoorbeeld een PUT naar een endpoint dat alleen POST toestaat.

415 Unsupported Media Type

    • Betekenis: De server ondersteunt het type van de aangeleverde inhoud niet.
    • Mogelijke oorzaken:
      • In de header is 'Content-Type: application/json' niet (correct) meegegeven, terwijl de server dat wel vereist.

422 Unprocessable Entity

    • Betekenis: Het verzoek is syntactisch correct, maar kan niet worden verwerkt.
    • Mogelijke oorzaken:
      • De inhoud van het verzoek is semantisch onjuist of bevat ongeldige data. Controleer de inhoud.

426 Upgrade Required

    • Betekenis: De server vereist dat de client een protocolupgrade uitvoert (bijvoorbeeld HTTP/2 of HTTPS).
    • Mogelijke oorzaken:
      • De server of API vereist een nieuwere protocolversie. Controleer de aanroep.

Niet-standaard (custom) foutcodes

 

497 Exchange License Not Active

    • Betekenis: Dit is geen officiële HTTP-statuscode, maar een specifieke foutmelding in sommige systemen.
    • Mogelijke oorzaken:
      • De MKG Exchange-licentie is niet actief, waardoor bepaalde functionaliteiten niet werken.

498 Expired or Otherwise Invalid Token

    • Betekenis: Dit is geen officiële HTTP-statuscode, maar een custom code die aangeeft dat er iets mis is met het token.
    • Mogelijke oorzaken:
      • De API-key (of het token) wordt niet (correct) meegegeven.
      • Het token is verlopen of ongeldig.

 

HTTP 5xx-serie: Server Errors

Deze foutcodes geven aan dat er een probleem is aan de kant van de server.

 

500 Internal Server Error

    • Betekenis: Er is een onverwachte fout opgetreden in de server.
    • Mogelijke oorzaken:
      • _retVal = 4000: Onbekende fout bij aanroepen MKG-gebruiker.
      • _retVal = 4010: De MKG-gebruiker is niet actief.
      • _retVal = 4020: De MKG-gebruiker heeft geen complex wachtwoord.
      • _retVal = 4030: Sessie is verlopen.
      • _retVal = 7211: Server Terminated Unexpectedly – Foutieve request.
      • Onbekende fout in de backend-code of configuratie.
      • Specifieke MKG-foutcodes via _retVal (indien van toepassing):

502 Bad Gateway

    • Betekenis: De server fungeert als een gateway of proxy en ontvangt een ongeldige respons van de upstream-server.
    • Mogelijke oorzaken:
      • Probleem met Progress als backend-service.
      • Tijdelijke verbindingsproblemen tussen Tomcat en Progress.

503 Service Unavailable

    • Betekenis: De server is tijdelijk niet beschikbaar (bijvoorbeeld door overbelasting of onderhoud).
    • Mogelijke oorzaken:
      • Progress-service is onderbroken.
      • Tomcat verwerkt te veel aanvragen.

504 Gateway Timeout

    • Betekenis: De server ontvangt geen tijdige reactie van de upstream-server.
    • Mogelijke oorzaken:
      • Progress-service reageert te traag.
      • Netwerkproblemen tussen Tomcat en Progress.