REST API

Fouten

Verwerk probleemantwoorden en koppel ze aan aanvragen.

Fouten volgen de JSON-probleemspecificatie van RFC 9457, met mediatype application/problem+json.

{
  "type": "https://www.ninjabuy.com/api/v1/problems/bad-body",
  "title": "Invalid request",
  "status": 400,
  "detail": "The request did not match the expected shape.",
  "request_id": "REQUEST_ID",
  "errors": [{"pointer": "/links", "detail": "Validation detail"}]
}

type is de vaste probleemidentificatie; title en detail beschrijven het probleem. status komt overeen met de HTTP-status. Optionele errors-items bevatten een JSON Pointer en validatiedetails; een lege pointer verwijst naar de hele body. Vermeld request_id (ook in X-Request-Id) wanneer je een probleem meldt.

Alle onderstaande typen beginnen met https://www.ninjabuy.com/api/v1/problems/.

TypeachtervoegselHTTPBetekenis / actie
bad-json400De body is geen geldige JSON. Corrigeer de syntaxis.
bad-body400Inhoud, queryparameters of cursor voldoen niet aan de validatie. Lees errors.
bad-idempotency-key400Gebruik 1 tot 255 afdrukbare ASCII-tekens voor Idempotency-Key.
unauthorized401Geef een geldig bearertoken mee; WWW-Authenticate levert de metadata.
not-found404De resource is niet beschikbaar, onbekend of niet van dit account.
method-not-allowed405Gebruik de methode in Allow.
idempotency-key-in-progress409Het eerste verzoek met deze sleutel loopt nog. Wacht volgens Retry-After.
upload-too-large413Geüploade bytes overschrijden de opgegeven grootte of 20 MiB.
unsupported-media-type415Verstuur Content-Type: application/json.
idempotency-key-reused422Deze sleutel is voor een ander verzoek gebruikt. Gebruik een nieuwe sleutel.
invalid-workbook422De upload is geen leesbaar XLSX-/CSV-bestand binnen de limieten. Lees errors.
upload-expired422De uploadreservering is verlopen. Upload het bestand opnieuw.
rate-limited429Wacht het aantal seconden uit Retry-After voordat je opnieuw probeert.
search-rate-limited429Het quotum voor zoekwoorden is vol. Wacht volgens Retry-After.
service-unavailable503Probeer het binnenkort opnieuw; respecteer Retry-After als dit aanwezig is.
internal-error500Probeer het later opnieuw; bewaar de aanvraag-ID als het probleem aanhoudt.

Een geslaagd verzoek kan nog steeds fouten per invoer bevatten. Behandel linkstatussen apart van HTTP-fouten. Gebruik Idempotency-Key om een aanmaakverzoek opnieuw af te spelen; zonder sleutel maakt een herhaalde batch een extra taak aan.