Nordvec Docs

Feil og ratelimiter

Den ene feilenveloppen som hvert mislykkede forespørsel returnerer, ratelimit-hodene, og hvordan du kan prøve en skriving på nytt på en trygg måte.

Denne veiledningen er maskinoversatt fra den engelske originalen og er ikke gjennomgått av en person. Den engelske versjonen er den gjeldende. Oversettelse: AI‑behandling i Frankrike. Les den engelske originalen
  • Vis som Markdown
  • Vis kontekstpakke

Eksterne assistenter

Disse åpner en tredjeparts KI‑tjeneste utenfor EU. Lenken sender adressen til denne siden, og alt du spør om der behandles av den leverandøren på deres egne vilkår.

Hvert endepunkt feiler på samme måte, så en klient håndterer feil, ratelimiter og omforsøk én gang og gjenbruker den koden overalt, inkludert over MCP.

Feilkonvolutten

Hvert ikke-2xx-svar er ett JSON-objekt:

{
  "defined": false,
  "code": "TOO_MANY_REQUESTS",
  "message": "Too many requests",
  "data": { "reason": "rate_limit.exceeded", "retryAfterMs": 12000 }
}
  • code er HTTP-nivåfeilen, for eksempel UNAUTHORIZED, FORBIDDEN, NOT_FOUND, BAD_REQUEST eller TOO_MANY_REQUESTS.
  • data.reason, når til stede, er en mer presis maskinlesbar årsak som auth.key_not_found eller rate_limit.exceeded. Forgrening baseres på denne i stedet for på message, som er for mennesker og kan endre seg.
  • defined er true når operasjonen lister den feilen i API-referansen, og false for feil enhver forespørsel kan møte (autentisering, ratelimiter, en ukjent rute).
  • Et valideringsproblem svarer med BAD_REQUEST med problemene i data.formErrors og data.fieldErrors.

Hvert svar inneholder også en X-Request-ID. Oppgi den når du kontakter support, så kan vi finne akkurat den forespørselen.

Vanlige statuskoder

StatusKodeHva du skal gjøre
400BAD_REQUESTRett forespørselen; data.fieldErrors navngir feltene
401UNAUTHORIZEDSend en gyldig nøkkel eller sesjon
403FORBIDDENNøkkelen mangler scopet eller rollen operasjonen trenger
404NOT_FOUNDRessursen finnes ikke, eller du har ikke tilgang til å se den
409CONFLICTEn duplikat skriving er fortsatt under behandling; prøv igjen om kort tid
413PAYLOAD_TOO_LARGEForespørselsteksten er over 1 MB; del en bulk-push i mindre batcher
422UNPROCESSABLE_CONTENTForespørselen er velformet, men kan ikke utføres
429TOO_MANY_REQUESTSVent i Retry-After, så prøv igjen

Ratelimiter

Hvert svar oppgir grensen det ble telt mot, i to former:

  • X-RateLimit-*-headerne;
  • de IETF-strukturerte feltene RateLimit (live-tilstand: r er gjenværende forespørsler, t sekunder til vinduet nullstilles) og RateLimit-Policy (kvoten: q er grensen, w vinduet i sekunder).

Et 429 inneholder også Retry-After i sekunder og data.retryAfterMs. Vent minst så lenge før neste forespørsel; å prøve igjen tidligere telles og avslås på nytt.

Sikker omprøving av skriveoperasjoner

En skriveoperasjon som lister en Idempotency-Key-header i API-referansen kan prøves på nytt uten å utføre arbeidet to ganger. Send én nøkkel per logisk skriving og gjenta samme nøkkel ved hvert omforsøk:

  • samme nøkkel med samme kropp innen 24 timer spiller av det lagrede svaret;
  • samme nøkkel med ulik kropp avslås med 422;
  • et duplikat som ankommer mens den første fortsatt kjører får 409.

En operasjon uten headeren er ikke idempotent, så prøv den bare på nytt når du vet at det første forsøket ikke ble gjennomført.

Var denne siden nyttig?

På denne siden