Care se potrivește unui proiect TV
TheTVDB este axat pe TV și păstrează mai multe ordini de episoade pentru un serial, inclusiv cea de difuzare, DVD și absolută, în spatele unui model cu cheie API. Vezi documentația lor pentru licențiere înainte să planifici un produs comercial. Alege amodb când vrei seriale, filme și persoane dintr-o singură cheie, căi TMDB v3 și 14 limbi. Alege TheTVDB când numerotarea alternativă exactă este centrul aplicației tale, pentru că amodb listează grupurile de episoade ale unui serial, dar nu servește ce se află în ele.
Cum se potrivesc datele TV între cele două
Conceptele se aliniază, dar numele diferă. Acest tabel acoperă ce citește de obicei o aplicație TV.
| Nevoie | Abordarea TheTVDB | Apelul amodb |
|---|---|---|
| Un serial | Fișa serialului după ID TVDB | GET /3/tv/1396, după o căutare tvdb_id |
| Lista de sezoane | Vezi documentația lor | array-ul seasons din detaliile serialului |
| Un sezon cu episoade | Vezi documentația lor | GET / |
| Un episod | Vezi documentația lor | GET / |
| Ce ordini există | Ordini de difuzare, DVD și absolută | GET / |
| Episoadele dintr-o ordine | Vezi documentația lor | Nu este oferit, / răspunde 404 |
| Următorul episod difuzat | Vezi documentația lor | next_episode_to_air în detaliile serialului |
Câmpurile de episod folosesc numele TMDB: air_date, episode_number, season_number, runtime și still_path. external_ids de sezon și de episod sunt toate null, deci un ID TVDB al unui singur sezon sau episod nu poate fi citit de la amodb. Fă legătura după season_number și episode_number. Detaliile sunt la sezoane și episoade.
Ce întoarce lista grupurilor de episoade
Apelul de listă arată ce ordini există pentru un serial. Nu întoarce episoadele din ele.
| Câmp | Semnificație |
|---|---|
id | ID-ul grupului, un șir |
name | Numele ordinii, precum DVD / PVOD |
description | Text din sursă, adesea gol |
type | Un număr care spune ce fel de ordine este |
episode_count | Episoadele din ordine |
group_count | Blocurile din ordine, precum sezoanele |
network | Un obiect cu rețeaua, sau null |
Acesta este un răspuns real pentru Breaking Bad.
{
"id": 1396,
"results": [
{
"description": "Seasons grouped as they appear on DVD, as well as paid video-on-demand services, such as Prime Video and YouTube.",
"episode_count": 62,
"group_count": 6,
"id": "69f50757054263b7bc87e32a",
"name": "DVD / PVOD",
"network": null,
"type": 3
}
]
}Unele seriale întorc o singură ordine de difuzare, iar altele mai multe, iar unele întorc un array results gol. Testează serialele care te interesează. Pentru că conținutul unui grup nu este oferit, o aplicație care are nevoie de numărul DVD sau absolut al fiecărui episod nu îl poate obține de la amodb.
Comparația funcțiilor
| Funcție | TheTVDB | amodb |
|---|---|---|
| Model de preț | Model cu cheie API, vezi documentația lor pentru licențiere | 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 | Cheie API, vezi documentația lor pentru flux | 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 | Vezi documentația lor | Da |
| TV | Da, accentul său principal | Da, cu sezoane și episoade |
| Persoane | Vezi documentația lor | Da |
| Imagini | Vezi documentația lor | img.amodb.dev, fără cheie |
| Evaluări | Vezi documentația lor | IMDb și alte patru surse, unde se știu |
| Limită de cereri | Vezi documentația lor | 20, 40 sau 120 pe minut pe cheie |
| Utilizare comercială | Vezi documentația lor pentru licențiere | Planuri cu plată, vezi prețuri |
| Compatibilitate | Propriul API | Citiri TMDB v3 și OMDb |
Prin ce diferă amodb
- O cheie pentru tot catalogul. Un serial, distribuția lui, trailerele lui și un film care împarte un actor folosesc același URL de bază și aceeași limită.
- Evaluări lângă ghidul de episoade.
append_pe detaliile serialului adaugă IMDb și alte scoruri într-un singur apel.to_ response= ratings - Antete simple pentru ritm.
X-RateLimit-RemainingșiX-RateLimit-Resetspun unui job de sincronizare câte cereri au mai rămas în fereastra de 60 de secunde. - Nume originale păstrate. Un serial păstrează
original_name, în timp cenameurmeazălanguage, ceea ce ajută când arăți un titlu nativ.
Când TheTVDB se potrivește mai bine
- Ordinea este produsul. Dacă utilizatorii tăi se ceartă pe ordinea DVD față de cea de difuzare față de cea absolută, TheTVDB o tratează ca pe o parte centrală a modelului său. amodb numește ordinile unui serial, dar nu le întoarce episoadele, iar grupurile existente diferă de la un serial la altul.
- Integrări existente. Dacă fluxul tău stochează deja ID-uri TheTVDB și citește ordinile lui, păstrează acea parte și adaugă amodb pentru datele suplimentare.
- Accent pe TV. Dacă nu arăți niciodată filme sau persoane, o sursă construită în jurul TV are mai puțin de învățat.
Migrarea la amodb
Mapează o singură dată ID-urile TVDB stocate. După aceea, folosește ID-ul amodb pentru fiecare apel. Endpoint-ul find rezolvă doar ID-uri de seriale. Array-urile lui tv_season_results și tv_episode_results sunt mereu goale, așa că mapează sezoanele și episoadele după număr.
const key = process.env.AMODB_KEY;
const headers = { Authorization: `Bearer ${key}` };
const base = 'https://api.amodb.dev/3';
async function getJson(path) {
const res = await fetch(`${base}${path}`, { headers });
if (!res.ok) throw new Error(`${path} returned ${res.status}`);
return res.json();
}
const found = await getJson('/find/81189?external_source=tvdb_id');
const show = found.tv_results[0];
console.log(show.id, show.name);
const groups = await getJson(`/tv/${show.id}/episode_groups`);
for (const g of groups.results) {
console.log(g.name, g.type, g.episode_count);
}Prima cerere întoarce Breaking Bad cu ID-ul 1396. A doua listează ordinile care există pentru acel serial, cu dimensiunile lor. Ca să compari numerotarea cu ce stochezi acum, citește ordinea de difuzare din /tv/{id}/season/{n} și păstrează orice ordine alternativă pe partea TheTVDB. Fă această verificare pe cele zece seriale cele mai urmărite înainte să muți restul.
Fiecare apel se numără ca o cerere în fereastra de 60 de secunde, iar un 429 poartă Retry-After. Vezi căutare după ID extern și limite de cereri.
Prețuri
amodb este plătit în avans, fără reînnoire automată. Alege 1, 3, 6, 12 sau 24 de luni și unul dintre trei planuri de 20, 40 sau 120 de cereri pe minut. Perioadele mai lungi au reduceri de 10, 20, 30 sau 40 la sută, iar fiecare plan primește toate datele. Nu există nivel gratuit. Sumele sunt la prețuri.