Fejlhåndtering
HTTP-statuskoder, fejlsvarformat og håndtering af fejl i TCG Price Lookup API.
Fejlsvarformat
Alle fejl returnerer et konsistent JSON-format:
{
"error": {
"code": "error_code",
"message": "Menneskelæsbar beskrivelse af fejlen",
"details": {}
}
}
HTTP-statuskoder
| Kode | Beskrivelse |
|---|---|
200 | Success |
400 | Dårlig forespørgsel (ugyldige parametre) |
401 | Ikke autoriseret (ugyldig eller manglende API-nøgle) |
403 | Forbudt (planadgangsbegrænsning) |
404 | Ikke fundet (kort eller ressource eksisterer ikke) |
429 | For mange forespørgsler (hastighedsgrænse overskredet) |
500 | Serverfejl |
Almindelige fejl og håndtering
401 Unauthorized
{ "error": { "code": "unauthorized", "message": "Invalid or missing API key" } }
Håndtering: Verificér din API-nøgle. Kontrollér, at X-API-Key-headeren er korrekt sat.
429 Too Many Requests
{ "error": { "code": "rate_limit_exceeded", "message": "Daily limit reached" } }
Svaret indeholder et Retry-After-header med antal sekunder til næste forespørgsel:
Retry-After: 3600
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1704067200
Håndtering: Respektér Retry-After-headeren. Daglige grænser nulstilles ved midnat UTC. Opgrader din plan, hvis du har brug for flere forespørgsler.
403 Forbidden
{ "error": { "code": "feature_not_available", "message": "Price history requires Trader plan" } }
Håndtering: Funktioner som prishistorik, klassificerede priser og batch-søgning kræver en højere plan.
Fejlhåndtering med SDK’er
// JavaScript
try {
const card = await tcg.cards.get('pokemon-base1-4');
} catch (error) {
if (error.status === 429) {
// Hastighedsgrænse: tjek tid til retry
const retryAfter = error.headers['retry-after'];
console.log(`Hastighedsgrænse. Prøv igen om ${retryAfter} sekunder`);
} else if (error.status === 401) {
console.error('Ugyldig API-nøgle');
}
}
# Python
from tcglookup import TCGLookup, RateLimitError, AuthError
try:
results = tcg.cards.search(name="charizard", game="pokemon")
except RateLimitError as e:
print(f"Hastighedsgrænse. Prøv igen om {e.retry_after} sekunder")
except AuthError:
print("Ugyldig API-nøgle")