Compiti diversi, strumenti diversi
Trakt è incentrato sui dati utente: cronologia di visione, watchlist, valutazioni, calendari e accesso con OAuth. Ha anche endpoint pubblici di metadati, e la sua documentazione indica i limiti che si applicano. amodb ha un solo compito: i metadati di film, serie TV e persone, restituiti come JSON nel formato TMDB v3. Scegli Trakt per ciò che hanno fatto i tuoi utenti. Scegli amodb per ciò che è un titolo. La maggior parte delle app che hanno bisogno di entrambi chiama ciascun servizio per la sua metà.
Dati utente e dati dei titoli
| Compito | Trakt | amodb |
|---|---|---|
| Cronologia di visione | Funzione centrale | Non offerto, salvala tu |
| Watchlist e liste | Funzione centrale | Non offerto, le scritture restituiscono 405 |
| Valutazioni degli utenti | Funzione centrale | Non offerto, le scritture restituiscono 405 |
| Calendari | Per utente, vedi la loro documentazione | next_episode_to_air per serie e liste di palinsesto |
| Accesso | OAuth | Solo chiave, nessun login utente |
| Metadati dei titoli | Endpoint pubblici, per i limiti vedi la loro documentazione | Endpoint di dettaglio in 14 lingue |
| Cast e troupe | Vedi la loro documentazione | /credits per un titolo, combined_credits per una persona |
| Immagini | Vedi la loro documentazione | img.amodb.dev, senza chiave |
| Trailer | Vedi la loro documentazione | /videos con type e official |
| Modificato da una data | Vedi la loro documentazione | Non offerto, non ci sono feed delle modifiche |
Per i palinsesti, GET /3/tv/airing_today e GET /3/tv/on_the_air elencano le serie per data di messa in onda, e ogni scheda di serie porta il proprio next_episode_to_air. Per una serie conclusa quel campo vale null. Entrambe le liste sono descritte nella pagina tendenze e liste. Il calendario di un singolo utente è qualcosa che costruisci tu a partire dai tuoi dati di visione.
Confronto delle funzionalità
| Funzionalità | Trakt | amodb |
|---|---|---|
| Modello di prezzo | Vedi la loro documentazione | Periodi prepagati da 1 a 24 mesi |
| Piano gratuito | Vedi la loro documentazione | Nessuno, e nessuna prova |
| Autenticazione | OAuth per i dati utente, per le chiamate pubbliche vedi la loro documentazione | api_key o header Bearer |
| Formato della risposta | JSON, vedi la loro documentazione | JSON nel formato TMDB v3 |
| Lingue | Vedi la loro documentazione | 14 lingue dell'interfaccia |
| Film | Sì | Sì |
| Serie TV | Sì | Sì, con stagioni ed episodi |
| Persone | Vedi la loro documentazione | Sì |
| Immagini | Vedi la loro documentazione | img.amodb.dev, stessi token di dimensione di TMDB |
| Valutazioni | Valutazioni degli utenti, vedi la loro documentazione | Punteggi di IMDb, Kinopoisk, Metacritic, Rotten Tomatoes e TMDB, quando sono noti |
| Limite di richieste | Per i limiti vedi la loro documentazione | 20, 40 o 120 al minuto per chiave |
| Uso commerciale | Vedi la loro documentazione | Piani a pagamento, vedi i prezzi |
| Compatibilità | La sua API | Letture TMDB v3 e OMDb |
Dove amodb è diverso
- Nessuna schermata di login per i tuoi utenti. Basta una chiave lato server. Nessuno collega un account, quindi non c'è alcun token da rinnovare e nessuna schermata di consenso da spiegare.
- Ampiezza dei campi. Durata, generi, case di produzione, classificazioni, traduzioni e parole chiave arrivano tutti dagli endpoint di dettaglio, nella lingua che chiedi.
- Limiti pubblicati. Il limite del piano è un numero al minuto, e ogni risposta mostra quanto resta. Con quei numeri puoi dimensionare una sincronizzazione in background.
- Mood e colonne sonore. Le estensioni nelle pagine mood e colonne sonore aggiungono dati che non fanno parte di TMDB v3.
Dove Trakt è più adatto
- Tutto ciò che è personale. Scrobbling, sincronizzazione della cronologia, liste social e calendari per utente sono funzioni di Trakt. amodb non ha account né metodi di scrittura.
- Stato tra dispositivi. Se un utente si aspetta gli stessi segni di «visto» su telefono e TV, lo stato deve vivere in un servizio utente, e amodb non lo è.
- App OAuth esistenti. Se la tua app possiede già token di Trakt, li mantieni. Aggiungi amodb solo per i dati dei titoli che ora recuperi altrove.
Migrare ad amodb: collega i tuoi record
Non migri dati utente, perché amodb non ne conserva. Sostituisci le chiamate di metadati. Gli elementi di Trakt portano gli ID di altri database (per i campi esatti controlla la loro documentazione), quindi salva l'ID TMDB o l'ID IMDb accanto a ogni record di visione e usalo qui.
<?php
declare(strict_types=1);
function amodb(string $path): array
{
$ch = curl_init('https://api.amodb.dev/3' . $path);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
throw new RuntimeException("amodb returned $status");
}
return json_decode($body, true);
}
$show = amodb('/tv/1396?language=en-US');
$next = $show['next_episode_to_air'] ?? null;
echo $show['name'], ' ', $show['status'], PHP_EOL;
echo $next ? 'Next: ' . $next['air_date'] : 'No episode scheduled', PHP_EOL;Quando hai solo un ID IMDb, chiama una volta / e tieni l'id di tv_results. Una risposta 429 include Retry-After, come descritto nella pagina limiti di richieste.
Dimensionare un job di aggiornamento
Una libreria utente di 200 serie richiede 200 richieste di dettaglio per un aggiornamento completo. A 20 richieste al minuto ci vogliono 10 minuti, a 40 ne bastano 5, e a 120 meno di 2. Il controllo della chiave viene prima della cache edge, quindi contano anche le chiamate ripetute. amodb non ha feed delle modifiche, quindi non può dirti quali ID sono cambiati da una certa data. Leggi invece status e next_episode_to_air dalla risposta dei dettagli. Aggiorna spesso le serie ancora in corso e di rado quelle concluse. I dettagli restano in cache 6 ore, quindi un aggiornamento più frequente restituisce gli stessi dati.
Prezzi
amodb è prepagato e non si rinnova da solo. Scegli 1, 3, 6, 12 o 24 mesi, che danno uno sconto di 0, 10, 20, 30 o 40 per cento, e uno dei tre piani da 20, 40 o 120 richieste al minuto. Ogni piano restituisce tutti i dati e non c'è un piano gratuito. Gli importi sono nella pagina dei prezzi.