טיפול בשגיאות

קודי סטטוס HTTP, פורמט תגובות שגיאה וכיצד לטפל בהן ב-TCG Price Lookup API.


פורמט תגובת שגיאה

כל השגיאות מחזירות פורמט JSON עקבי:

{
  "error": {
    "code": "error_code",
    "message": "תיאור שגיאה קריא לבני אדם",
    "details": {}
  }
}

קודי סטטוס HTTP

קודתיאור
200הצלחה
400בקשה שגויה (פרמטרים לא תקינים)
401לא מאומת (מפתח API לא תקין או חסר)
403אסור (הגבלת גישה בתוכנית)
404לא נמצא (קלף או משאב לא קיים)
429יותר מדי בקשות (חריגה ממגבלת קצב)
500שגיאת שרת

שגיאות נפוצות ואופן טיפולן

401 Unauthorized

{ "error": { "code": "unauthorized", "message": "Invalid or missing API key" } }

טיפול: בדוק את מפתח ה-API. ודא שכותרת X-API-Key מוגדרת כראוי.

429 Too Many Requests

{ "error": { "code": "rate_limit_exceeded", "message": "Daily limit reached" } }

התגובה כוללת כותרת Retry-After המציינת את מספר השניות עד לבקשה הבאה:

Retry-After: 3600
X-RateLimit-Limit: 200
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1704067200

טיפול: כבד את כותרת Retry-After. המגבלות היומיות מתאפסות בחצות UTC. שדרג תוכנית אם צריך יותר בקשות.

403 Forbidden

{ "error": { "code": "feature_not_available", "message": "Price history requires Trader plan" } }

טיפול: תכונות כמו היסטוריית מחירים, מחירי דירוג וחיפוש אצווה דורשות תוכנית גבוהה יותר.

טיפול בשגיאות עם SDK

// JavaScript
try {
  const card = await tcg.cards.get('pokemon-base1-4');
} catch (error) {
  if (error.status === 429) {
    // מגבלת קצב: בדוק זמן המתנה לניסיון חוזר
    const retryAfter = error.headers['retry-after'];
    console.log(`מגבלת קצב. נסה שוב בעוד ${retryAfter} שניות`);
  } else if (error.status === 401) {
    console.error('מפתח API לא תקין');
  }
}
# Python
from tcglookup import TCGLookup, RateLimitError, AuthError

try:
    results = tcg.cards.search(name="charizard", game="pokemon")
except RateLimitError as e:
    print(f"מגבלת קצב. נסה שוב בעוד {e.retry_after} שניות")
except AuthError:
    print("מפתח API לא תקין")