API pubblica di Xatools: powers, prezzi, pedine, sticker e countdown di xat
JSON gratuito senza registrazione per il tuo sito, bot o app. I dati vengono letti direttamente da xat.com ogni 5 minuti (ogni nuovo power viene rilevato automaticamente) e completati con i prezzi di trade di fair-trade. CORS aperto, risposte in cache 5 minuti.
https://api.xatools.net/v1Prova dal vivo
Viene eseguito nel tuo browser sull'API realePulsa «Consultar» o elige un ejemplo.
Endpoints
Tutti rispondono JSON con code: 200 y updated (unix) dell'ultimo aggiornamento. Aggiungi ?pretty per vederlo formattato. I nomi dei power non distinguono maiuscole.
GET/v1/latestUltimo power con scheda completa, countdown del prossimo e i 14 più recenti
Campi: latest (scheda completa, vedi /v1/power), countdown (vedi /v1/countdown), recent[] (riepilogo), stickers[] (ultimi powers con sticker).
GET/v1/countdownCountdown del prossimo power (solo annunci reali)
status: announced (annuncio ufficiale di xat), manual (fissato dal team Xatools), o none (sin anuncio: no se estima ni se predice nada) o released (lanzado en las últimas 12 h). time (unix), iso, seconds_left, power (id y nombre si xat lo indica), max_per_user, amount, last (ultimo power), median_interval_days. Announce.php se lee cada 60 s (relay propio), así que el contador aparece en cuanto xat lo anuncia; el power nuevo se detecta en ≤2 min y el contador se reinicia solo.
GET/v1/releasesCronologia dei lanci
announces[] (anuncios de xat registrados: seen, time, power_id, name, max_per_user, amount) y detected[] (cuándo apareció cada power en la tienda). El historial de un power concreto también va en /v1/power/{name} → history[].
GET/v1/powersCatalogo completo (riepilogo per power)
Parametri: q (testo in nome, descrizione o smile), status (unlimited, limited, epic, collection, subscription), category (group, stickers, ace, hug, game, epic, allpowers, new… o il nome di una sezione del negozio), type (smiley, function, stickers, supers…), limit, offset, full=1 (include smile, pedine, sticker, hugs…).
GET/v1/power/{nombre|id}Scheda completa di un power
id, name, status, type, category, short, long, store {xats|days, text}, trade {min, max, min_days, max_days} (fair-trade), released, released_int, categories[], smilies[], pawns[] {name, hat}, stickers[], stickers_total, hugs[], backgrounds[], aces[], effects[], frames[], collection {required[], pawns[], smilies[]}, images {icon, strip80, smiley}.
GET/v1/collections · /v1/collection/{nombre}Collezioni (super powers)
Ogni collezione: id, name, required[] {id, name} (powers richiesti secondo xat), pawns[] (pedine che sblocca), smilies[].
GET/v1/pawnsPedine attive di xat
active[] {key, power_id, name, hat} direttamente da xat (codice pronto all'uso, es. (hat#hJa)), time (validità) e fair_trade[] come riferimento.
GET/v1/stickers · /v1/stickers/{power}Powers con sticker e la loro lista
GET/v1/pricesPrezzo in negozio e range di trade di tutti i powers
Prezzo in negozio secondo xat.com e range di trade secondo fair-trade, aggiornato ogni 6 h.
GET/v1/hugs · /v1/aces · /v1/effects · /v1/backgrounds · /v1/free · /v1/typesHugs, aces, effetti e frame, sfondi per power, smile gratis, sezioni del negozio
GET/v1/smiley/{código} · /v1/search?q=A quale power appartiene una smile · ricerca rapida
GET/v1/promoted?lang=es · /v1/announce · /v1/statusChat promosse per lingua · annunci di xat · stato del servizio
GET/v1/user/{id|nick} · /v1/user/{id|nick}/online · /v1/user/{id|nick}/powersID ↔ nome · è online? · powers, doppi e mancanti di un utente
Dati in diretta da xat.com tramite il bot di Xatools. Lo stato resta in cache 1 minuto e i powers 5 minuti; xat rivela i powers di un utente solo quando il bot lo vede in una chat (o risponde a una localizzazione), quindi può restituire 404 fino ad allora. Anche /v1/room/{chat} (info di una stanza) e /v1/bot (stato del bot). Interfaccia web: /usuario/.
Esempio d'uso
// JavaScript (navegador o Node 18+)
const r = await fetch('https://api.xatools.net/v1/latest');
const { latest, countdown } = await r.json();
console.log(latest.name, latest.store.text, latest.smilies);
if (countdown.time) console.log('Próximo power:', new Date(countdown.time * 1000));
// PHP
$j = json_decode(file_get_contents('https://api.xatools.net/v1/power/purple'), true);
echo $j['power']['trade']['min'] . ' - ' . $j['power']['trade']['max'] . ' xats';
// Python
import requests
p = requests.get('https://api.xatools.net/v1/powers', params={'status': 'limited', 'limit': 10}).json()
print([x['name'] for x in p['powers']])
Xatools non è affiliato a xat.com. I dati provengono da fonti pubbliche di xat.com; prezzi: fair-trade. Se il tuo progetto fa un uso intensivo, metti in cache le risposte per almeno 5 minuti.