Felkoder
HTTP-statuskoder och felformat från TableApp API.
Felkoder
Felformat
Alla fel returneras som JSON med ett konsistent format:
{
"error": {
"code": "order_not_found",
"message": "Order with id ord_abc123 does not exist",
"status": 404,
"request_id": "req_01HXK8N2P3Q4"
}
}| Fält | Beskrivning |
|---|---|
code | Maskinläsbar felkod (snake_case) |
message | Läsbar beskrivning på engelska |
status | HTTP-statuskod |
request_id | Unikt ID för detta anrop – inkludera vid kontakt med support |
HTTP-statuskoder
| Kod | Namn | Beskrivning |
|---|---|---|
200 | OK | Anropet lyckades |
201 | Created | Resurs skapad |
204 | No Content | Lyckades, inget svar att returnera |
400 | Bad Request | Felaktig input – se message för detaljer |
401 | Unauthorized | Saknad eller ogiltig autentisering |
403 | Forbidden | Autentiserad men saknar behörighet (scope) |
404 | Not Found | Resursen finns inte |
409 | Conflict | Konflikt, t.ex. dubblettresurs |
422 | Unprocessable Entity | Valideringsfel |
429 | Too Many Requests | Rate limit överskriden |
500 | Internal Server Error | Fel på vår sida – kontakta support med request_id |
503 | Service Unavailable | Tillfälligt otillgänglig, försök igen |
Vanliga felkoder
code | Status | Beskrivning |
|---|---|---|
invalid_api_key | 401 | API-nyckeln är ogiltig eller har återkallats |
missing_scope | 403 | Nyckeln saknar rätt scope för denna åtgärd |
order_not_found | 404 | Ordern finns inte eller tillhör annan verksamhet |
product_not_found | 404 | Produkten finns inte |
order_already_completed | 409 | Ordern är redan stängd och kan inte ändras |
price_changed | 409 | Priset ändrades sedan order skapades (sanity check) |
validation_error | 422 | Ett eller flera fält är ogiltiga |
rate_limit_exceeded | 429 | För många anrop, se Retry-After-headern |
Rate limit-svar
Vid 429 inkluderas Retry-After-headern med antal sekunder att vänta:
HTTP/1.1 429 Too Many Requests
Retry-After: 14
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1717264012Valideringsfel
Vid 422 inkluderas en details-array med information per fält:
{
"error": {
"code": "validation_error",
"message": "Request validation failed",
"status": 422,
"details": [
{
"field": "items[0].quantity",
"message": "must be a positive integer"
},
{
"field": "table_id",
"message": "table with this id does not exist"
}
]
}
}Debugging
Spara alltid request_id i dina loggar. Supporten kan spåra ett specifikt anrop om du uppger det.