API/Feilmeldinger
Kom i gang
Feilmeldinger
EasyFreelance API bruker HTTP-statuskoder for å indikere om en forespørsel var vellykket. Statuskoden er den primære kontrakten – ordlyden i meldingene kan endre seg.
- Koder i 2XX-serien betyr at forespørselen ble behandlet uten feil.
- Koder i 4XX-serien betyr at forespørselen feilet basert på informasjonen som ble sendt inn.
- Koder i 5XX-serien betyr en feil på EasyFreelance sine servere.
Ved 4XX-svar inneholder responsen også informasjon i response body som beskriver årsaken til feilen.
Statuskoder
| Kode | Navn | Betydning |
|---|---|---|
200 | OK | Forespørselen ble behandlet. |
201 | Created | Ressursen ble opprettet – for eksempel utbetalinger, innloggingslenke eller verifiseringssesjon. |
400 | Bad Request | Klientfeil eller valideringsfeil. Se formatene under. |
401 | Unauthorized | Manglende, ugyldig eller utløpt token / API-nøkkel. |
403 | Forbidden | Ressursen finnes, men tilhører en annen partner. |
404 | Not Found | Ressursen finnes ikke, eller er ikke koblet til partnerkontoen deres. |
422 | Unprocessable Entity | Validering avvist av rammeverket – for eksempel en return-URL som ikke er godkjent. |
429 | Too Many Requests | Ratebegrensningen på 500 kall i minuttet er overskredet. |
5XX | Server Error | Feil hos oss. Prøv igjen, og ta kontakt hvis den vedvarer. |
Tre formater
Hvilket format du får avhenger av hvor i stacken feilen oppstår. Bygg klienten på statuskoden først, og les feltene under som tilleggsinformasjon.
1. Partnerformat: error
De fleste partnerendepunktene returnerer et objekt med nøkkelen error. Verdien er enten en tekst eller en strukturert liste.
{
"error": "User not found"
}2. Valideringsfeil: error + data
Valideringsfeil som oppstår på ellers gyldige forespørsler er strukturert litt annerledes. Disse returneres med statuskode 400, og responsen inneholder feltnavnene som nøkler i data-objektet.
{
"error": "Validation error",
"data": {
"email": [
"The email has already been taken."
]
}
}3. Rammeverksformat: message + errors
Enkelte operasjoner går gjennom rammeverkets egen validator og svarer 422 med message og errors.
{
"message": "The given data was invalid.",
"errors": {
"partner_return_url": [
"The partner return url has already been registered."
]
}
}429 og Retry-After
Ratebegrensningen deles av hele partnerkontoen: 500 forespørsler i minuttet på tvers av alle /api/v1-ruter. Ved overskridelse får du 429, og responsen kan inneholde headeren Retry-After med antall sekunder til vinduet nullstilles.
Polling av verifiseringsstatus er den vanligste kilden til 429 hos partnere. Poll hvert 2.–5. sekund, stopp når status er terminal, og vurder employee.verified-webhooken i stedet for hyppig polling.
400 fra idempotensnøkler
Sender du headeren Idempotency-key, må verdien være en gyldig UUID – ellers svarer API-et 400. Er nøkkelen allerede lagret for partneren deres, svarer API-et også 400. Se Idempotens.