Sarcini diferite, unelte diferite
Trakt se axează pe datele utilizatorilor: istoric de vizionări, liste de urmărit, evaluări, calendare și autentificare OAuth. Are și endpoint-uri publice de metadate, iar documentația lui precizează limitele aplicabile. amodb are o singură sarcină: metadate pentru filme, TV și persoane, întoarse ca JSON în structura TMDB v3. Alege Trakt pentru ce au făcut utilizatorii tăi. Alege amodb pentru ce este un titlu. Majoritatea aplicațiilor care au nevoie de ambele apelează fiecare serviciu pentru jumătatea lui.
Date de utilizator față de date despre titluri
| Sarcină | Trakt | amodb |
|---|---|---|
| Istoric de vizionări | Funcție de bază | Nu este oferit, stochează-l singur |
| Liste de urmărit și liste | Funcție de bază | Nu este oferit, scrierile întorc 405 |
| Evaluările utilizatorilor | Funcție de bază | Nu este oferit, scrierile întorc 405 |
| Calendare | Pe utilizator, vezi documentația lor | next_episode_to_air pe serial și liste de program |
| Autentificare | OAuth | Doar cheie, fără autentificarea utilizatorilor |
| Metadate despre titluri | Endpoint-uri publice, vezi documentația lor pentru limite | Endpoint-uri de detalii în 14 limbi |
| Distribuție și echipă | Vezi documentația lor | /credits pentru un titlu, combined_credits pentru o persoană |
| Imagini | Vezi documentația lor | img.amodb.dev, fără cheie |
| Trailere | Vezi documentația lor | /videos cu type și official |
| Modificate de la o dată | Vezi documentația lor | Nu este oferit, nu există fluxuri de modificări |
Pentru programe, GET /3/tv/airing_today și GET /3/tv/on_the_air listează serialele după data difuzării, iar fiecare fișă de serial poartă propriul next_episode_to_air. Pentru un serial încheiat, acel câmp este null. Ambele liste sunt descrise la tendințe și liste. Calendarul unui singur utilizator este ceva ce asamblezi din propriile tale înregistrări de vizionare.
Comparația funcțiilor
| Funcție | Trakt | amodb |
|---|---|---|
| Model de preț | Vezi documentația lor | Perioade plătite în avans de la 1 la 24 de luni |
| Nivel gratuit | Vezi documentația lor | Niciunul, și fără perioadă de probă |
| Autentificare | OAuth pentru datele utilizatorilor, vezi documentația lor pentru apelurile publice | api_key sau antet Bearer |
| Format de răspuns | JSON, vezi documentația lor | JSON în structura TMDB v3 |
| Limbi | Vezi documentația lor | 14 limbi de interfață |
| Filme | Da | Da |
| TV | Da | Da, cu sezoane și episoade |
| Persoane | Vezi documentația lor | Da |
| Imagini | Vezi documentația lor | img.amodb.dev, aceleași jetoane de dimensiune ca TMDB |
| Evaluări | Evaluările utilizatorilor, vezi documentația lor | Scoruri de la IMDb, Kinopoisk, Metacritic, Rotten Tomatoes și TMDB, unde se știu |
| Limită de cereri | Vezi documentația lor pentru limite | 20, 40 sau 120 pe minut pe cheie |
| Utilizare comercială | Vezi documentația lor | Planuri cu plată, vezi prețuri |
| Compatibilitate | Propriul API | Citiri TMDB v3 și OMDb |
Prin ce diferă amodb
- Fără ecran de autentificare pentru utilizatorii tăi. O cheie pe partea de server ajunge. Nimeni nu conectează un cont, deci nu există token de reîmprospătat și nici ecran de consimțământ de explicat.
- Varietatea câmpurilor. Durata, genurile, companiile de producție, clasificările, traducerile și cuvintele-cheie vin toate de la endpoint-urile de detalii, în limba pe care o ceri.
- Limite publicate. Limita planului este un număr pe minut, iar fiecare răspuns arată ce a mai rămas. Poți dimensiona o sincronizare în fundal pornind de la aceste cifre.
- Indicatori de atmosferă și coloane sonore. Extensiile de la atmosfere și coloane sonore adaugă date care nu fac parte din TMDB v3.
Când Trakt se potrivește mai bine
- Orice este personal. Scrobbling-ul, sincronizarea istoricului, listele sociale și calendarele pe utilizator sunt funcții Trakt. amodb nu are conturi și nici metode de scriere.
- Starea între dispozitive. Dacă un utilizator se așteaptă la aceleași marcaje de vizionat pe telefon și pe TV, starea trebuie să trăiască într-un serviciu de utilizatori, iar amodb nu este unul.
- Aplicații OAuth existente. Dacă aplicația ta deține deja token-uri Trakt, le păstrezi. Adaugă amodb doar pentru datele despre titluri pe care acum le iei din altă parte.
Migrarea la amodb: leagă-ți înregistrările
Nu migrezi date de utilizator, pentru că amodb nu are deloc. Înlocuiești apelurile de metadate. Elementele Trakt poartă ID-uri pentru alte baze de date (vezi documentația lor pentru câmpurile exacte), așa că stochează ID-ul TMDB sau ID-ul IMDb lângă fiecare înregistrare de vizionare și folosește-l aici.
<?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;Când ai doar un ID IMDb, apelează o singură dată / și păstrează ID-ul din tv_results. Un 429 include Retry-After, după cum este descris la limite de cereri.
Dimensionarea unui job de reîmprospătare
O bibliotecă de utilizator cu 200 de seriale cere 200 de cereri de detalii pentru a fi reîmprospătată o dată. La 20 de cereri pe minut asta durează 10 minute, la 40 durează 5, iar la 120 durează sub 2. Verificarea cheii rulează înaintea cache-ului la margine, deci și apelurile repetate se numără. amodb nu are fluxuri de modificări, așa că nu îți poate spune care ID-uri s-au schimbat de la o dată. Citește în schimb status și next_episode_to_air din răspunsul de detalii. Reîmprospătează des serialele care încă rulează și rar pe cele încheiate. Detaliile rămân în cache 6 ore, deci o reîmprospătare mai deasă decât atât întoarce aceleași date.
Prețuri
amodb este plătit în avans și nu se reînnoiește singur. Alege 1, 3, 6, 12 sau 24 de luni, care aduc reduceri de 0, 10, 20, 30 sau 40 la sută, și unul dintre trei planuri de 20, 40 sau 120 de cereri pe minut. Fiecare plan întoarce toate datele și nu există nivel gratuit. Sumele sunt la prețuri.