Integrazione di Pokémon TCG Live
L’API TCGdx fornisce accesso a tutte le carte Pokémon disponibili in Pokémon TCG Live. Poiché Pokémon TCG Live usa le stesse carte del TCG fisico, lavorerai con le serie standard piuttosto che con una serie dedicata.
Cos’è Pokémon TCG Live?
Sezione intitolata “Cos’è Pokémon TCG Live?”Pokémon TCG Live è la piattaforma digitale ufficiale per il Gioco di Carte Collezionabili Pokémon. Utilizza il pool completo di carte fisiche con mazzi standard da 60 carte e regole di gioco identiche al gioco fisico.
Pokémon TCG Online vs Pokémon TCG Live
Sezione intitolata “Pokémon TCG Online vs Pokémon TCG Live”Pokémon TCG Live ha sostituito Pokémon TCG Online (PTCGO) nel 2023 come piattaforma ufficiale di TCG digitale. Entrambe le piattaforme usano lo stesso database di carte fisiche, rendendo la nostra API ugualmente preziosa per applicazioni che supportano entrambe le piattaforme:
Pokémon TCG Online (Legacy):
- Piattaforma digitale originale (dismessa)
- Stesso pool di carte fisiche di Pokémon TCG Live
- Sistema di scambio tra giocatori
- Supporto per formati legacy
Pokémon TCG Live (Attuale):
- Piattaforma sostitutiva moderna
- UI e prestazioni migliorate
- Sistema di progressione Battle Pass
- Nessuno scambio tra giocatori (sistema basato su crediti)
Dal punto di vista dell’API, entrambe le piattaforme usano dati di carte identici poiché sono basate sul TCG fisico. Le applicazioni costruite per una possono facilmente supportare l’altra usando le stesse query di carte e strutture dati.
// Gli stessi dati delle carte funzionano per entrambe le piattaformeconst sdk = new TCGdx('it');const card = await sdk.cards.get('sv01-001');
// I dati delle carte sono identici che vengano usati in PTCGO o TCG Liveconsole.log(card.name, card.hp, card.attacks);
Dati Disponibili
Sezione intitolata “Dati Disponibili”La nostra API fornisce dati completi per costruire applicazioni Pokémon TCG Live:
- Database completo di carte: Ogni carta da tutte le serie e set fisici di TCG
- Informazioni dettagliate delle carte: Nomi, tipi, attacchi, abilità, PS, costi di ritirata e tutte le meccaniche di gioco
- Immagini ad alta qualità: Illustrazioni delle carte e simboli dei set in multiple risoluzioni e formati
- Informazioni complete sui set: Date di rilascio, simboli dei set, conteggi delle carte e liste complete delle carte
- Supporto multilingua: Dati delle carte disponibili in tutte le lingue supportate da Pokémon TCG Live
- Capacità di ricerca avanzate: Interroga carte per qualsiasi attributo, combinazione di filtri o criteri complessi
Poiché Pokémon TCG Live usa il database completo di carte fisiche, lavorerai con multiple serie rappresentanti diverse ere del TCG fisico (Base, XY, Sun & Moon, Sword & Shield, Scarlet & Violet, ecc.).
const sdk = new TCGdx('it');
// Ottieni tutte le serie disponibili prima per capire il pool di carteconst allSeries = await sdk.series.list();
// Ottieni informazioni dettagliate su una serie specificaconst series = await sdk.series.get('sv');const { sets } = series;
// Ottieni dati completi per un set specifico incluse tutte le carteconst setData = await sdk.sets.get(sets[0].id);const { cards } = setData;
Per l’uso diretto dell’API REST (anche se gli SDK sono raccomandati):
// Ottieni tutte le serie disponibili per capire la portata completaconst response = await fetch('https://api.tcgdx.net/v2/it/series');const series = await response.json();
// Ottieni dati dettagliati delle serie inclusi tutti i setconst svCards = await fetch('https://api.tcgdx.net/v2/it/series/sv');const { sets } = await svCards.json();
Paginazione e Prestazioni
Sezione intitolata “Paginazione e Prestazioni”Poiché Pokémon TCG Live ha accesso al database completo di carte fisiche (100.000+ carte), una corretta gestione della paginazione e delle prestazioni è cruciale per applicazioni responsive:
const sdk = new TCGdx('it');
// Usa la paginazione per gestire efficientemente grandi set di risultaticonst getAllCards = async () => { const allCards = []; let page = 1; let hasMore = true;
while (hasMore) { const response = await sdk.cards.list({ page: page, limit: 250 // Massimo API per pagina });
allCards.push(...response.data); hasMore = response.data.length === 250; page++; }
return allCards;};
// Elabora multiple richieste di carte efficientemente usando operazioni batchconst processBatch = async (cardIds) => { const batchSize = 50; // Dimensione batch ottimale per prestazioni API const results = [];
for (let i = 0; i < cardIds.length; i += batchSize) { const batch = cardIds.slice(i, i + batchSize); const batchPromises = batch.map(id => sdk.cards.get(id)); const batchResults = await Promise.all(batchPromises); results.push(...batchResults); }
return results;};
Supporto Multilingua
Sezione intitolata “Supporto Multilingua”Pokémon TCG Live supporta multiple lingue, e la nostra API fornisce dati localizzati delle carte per ognuna. Ogni lingua ha i suoi nomi di carte tradotti, descrizioni e testi degli attacchi mantenendo gli stessi ID carte attraverso le lingue:
// Inizializza SDK per diverse lingue supportateconst enSDK = new TCGdx('en'); // Ingleseconst jaSDK = new TCGdx('ja'); // Giapponeseconst frSDK = new TCGdx('fr'); // Franceseconst deSDK = new TCGdx('de'); // Tedescoconst esSDK = new TCGdx('es'); // Spagnolo
// Recupera dati delle carte nella lingua preferita dell'utenteconst getLocalizedCard = async (cardId, language = 'it') => { const sdk = new TCGdx(language); return await sdk.cards.get(cardId);};
// Ottieni la stessa carta in multiple lingue per confrontoconst getMultilingualCard = async (cardId) => { const languages = ['en', 'ja', 'fr', 'de']; const cardVersions = {};
for (const lang of languages) { const sdk = new TCGdx(lang); cardVersions[lang] = await sdk.cards.get(cardId); }
return cardVersions; // Ritorna dati delle carte con nomi/testo localizzati};
// Cerca usando nomi di carte o termini specifici della linguaconst searchInLanguage = async (searchTerm, language) => { const sdk = new TCGdx(language); return await sdk.cards.list({ name: searchTerm // Cerca usando nomi di carte localizzati });};
Esempi API
Sezione intitolata “Esempi API”Cerca per Tipo di Carta
Sezione intitolata “Cerca per Tipo di Carta”L’API organizza le carte in tre categorie principali che corrispondono ai tipi di carte di Pokémon TCG Live:
const sdk = new TCGdx('it');
// Ottieni tutte le carte Pokémon (creature che giochi per combattere)const pokemon = await sdk.cards.list({ category: 'Pokemon' });
// Ottieni carte Allenatore (supporter, strumenti, stadi e oggetti)const trainers = await sdk.cards.list({ category: 'Trainer' });
// Ottieni carte Energia (energia base e speciale per gli attacchi)const energy = await sdk.cards.list({ category: 'Energy' });
Filtra per Attributi
Sezione intitolata “Filtra per Attributi”Usa attributi specifici delle carte per trovare esattamente quello che ti serve per la tua applicazione Pokémon TCG Live:
const sdk = new TCGdx('it');
// Trova Pokémon di tipo Fuoco per costruire mazzi fuococonst fireTypes = await sdk.cards.list({ category: 'Pokemon', types: 'Fire'});
// Trova Pokémon con PS alti (200+) adatti per strategie tankconst tankPokemon = await sdk.cards.list({ hp: 'gte200'});
// Ottieni carte da serie recenti (utile per formato Standard)const recentCards = await sdk.cards.list({ serie: ['sv', 'swsh'] // Scarlet & Violet, Sword & Shield});
Ricerche Avanzate
Sezione intitolata “Ricerche Avanzate”Esegui ricerche complesse usando attributi dettagliati delle carte e metadati:
const sdk = new TCGdx('it');
// Trova Pokémon che usano energia Acqua nei loro attacchiconst waterAttackers = await sdk.cards.list({ category: 'Pokemon', 'attacks.cost': 'Water'});
// Cerca carte per illustratori specifici (ottimo per collezionisti)const artistCards = await sdk.cards.list({ illustrator: 'Mitsuhiro Arita'});
// Filtra per livelli di rarità (Common, Uncommon, Rare, ecc.)const rareCards = await sdk.cards.list({ rarity: 'Rare'});
Approccio API
Sezione intitolata “Approccio API”Pokémon TCG Live usa multiple serie (sv
, swsh
, sm
, ecc.) rappresentanti il pool completo di carte fisiche:
// Lavora con multiple serie rappresentanti diverse ereconst allSeries = ['sv', 'swsh', 'sm', 'xy']; // Gestisci le regole di formato nella tua appconst liveCards = await sdk.cards.list({ serie: allSeries });