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ältBeskrivning
codeMaskinläsbar felkod (snake_case)
messageLäsbar beskrivning på engelska
statusHTTP-statuskod
request_idUnikt ID för detta anrop – inkludera vid kontakt med support

HTTP-statuskoder

KodNamnBeskrivning
200OKAnropet lyckades
201CreatedResurs skapad
204No ContentLyckades, inget svar att returnera
400Bad RequestFelaktig input – se message för detaljer
401UnauthorizedSaknad eller ogiltig autentisering
403ForbiddenAutentiserad men saknar behörighet (scope)
404Not FoundResursen finns inte
409ConflictKonflikt, t.ex. dubblettresurs
422Unprocessable EntityValideringsfel
429Too Many RequestsRate limit överskriden
500Internal Server ErrorFel på vår sida – kontakta support med request_id
503Service UnavailableTillfälligt otillgänglig, försök igen

Vanliga felkoder

codeStatusBeskrivning
invalid_api_key401API-nyckeln är ogiltig eller har återkallats
missing_scope403Nyckeln saknar rätt scope för denna åtgärd
order_not_found404Ordern finns inte eller tillhör annan verksamhet
product_not_found404Produkten finns inte
order_already_completed409Ordern är redan stängd och kan inte ändras
price_changed409Priset ändrades sedan order skapades (sanity check)
validation_error422Ett eller flera fält är ogiltiga
rate_limit_exceeded429Fö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: 1717264012

Valideringsfel

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.

På den här sidan