Foutafhandeling
HTTP-statuscodes, foutantwoordformaten en hoe u hiermee omgaat in de TCG Price Lookup API.
Foutantwoordformaat
Alle fouten retourneren een consistent JSON-formaat:
{
"error": {
"code": "error_code",
"message": "Mensvriendelijke foutomschrijving",
"details": {}
}
}
HTTP-statuscodes
| Code | Beschrijving |
|---|---|
200 | Geslaagd |
400 | Ongeldig verzoek (ongeldige parameters) |
401 | Niet geauthenticeerd (ongeldige of ontbrekende API-sleutel) |
403 | Verboden (abonnementstoegangsbeperking) |
404 | Niet gevonden (kaart of resource bestaat niet) |
429 | Te veel verzoeken (snelheidslimiet overschreden) |
500 | Serverfout |
Veelvoorkomende fouten en oplossingen
401 Unauthorized
{ "error": { "code": "unauthorized", "message": "Invalid or missing API key" } }
Oplossing: Controleer uw API-sleutel. Zorg ervoor dat de X-API-Key-header correct is ingesteld.
429 Too Many Requests
{ "error": { "code": "rate_limit_exceeded", "message": "Daily limit reached" } }
Het antwoord bevat een Retry-After-header die aangeeft hoeveel seconden u moet wachten:
Retry-After: 3600
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1704067200
Oplossing: Respecteer de Retry-After-header. Dagelijkse limieten worden gereset om middernacht UTC. Upgrade uw abonnement als u meer verzoeken nodig heeft.
403 Forbidden
{ "error": { "code": "feature_not_available", "message": "Price history requires Trader plan" } }
Oplossing: Functies zoals prijsgeschiedenissen, gegradeerde prijzen en batch-opzoeken vereisen een hoger abonnement.
Foutafhandeling met SDK’s
// JavaScript
try {
const card = await tcg.cards.get('pokemon-base1-4');
} catch (error) {
if (error.status === 429) {
// Snelheidslimiet: controleer wanneer u opnieuw kunt proberen
const retryAfter = error.headers['retry-after'];
console.log(`Snelheidslimiet bereikt. Probeer opnieuw na ${retryAfter} seconden`);
} else if (error.status === 401) {
console.error('Ongeldige API-sleutel');
}
}
# Python
from tcglookup import TCGLookup, RateLimitError, AuthError
try:
results = tcg.cards.search(name="charizard", game="pokemon")
except RateLimitError as e:
print(f"Snelheidslimiet bereikt. Probeer opnieuw na {e.retry_after} seconden")
except AuthError:
print("Ongeldige API-sleutel")