Które pasuje do projektu o serialach

TheTVDB skupia się na serialach i trzyma kilka układów odcinków serialu, w tym emisyjny, DVD i absolutny, za modelem klucza API. Zanim zaplanujesz produkt komercyjny, sprawdź licencjonowanie w ich dokumentacji. Wybierz amodb, gdy chcesz seriale, filmy i osoby z jednego klucza, ścieżki TMDB v3 i 14 języków. Wybierz TheTVDB, gdy dokładna alternatywna numeracja jest sednem twojej aplikacji, bo amodb wypisuje grupy odcinków serialu, ale nie udostępnia tego, co jest w środku.

Jak dane o serialach mapują się między oboma

Pojęcia się pokrywają, ale nazwy się różnią. Ta tabela obejmuje to, co aplikacja o serialach zwykle czyta.

PotrzebaPodejście TheTVDBWywołanie amodb
Jeden serialRekord serialu po ID z TVDBGET /3/tv/1396, po wyszukaniu tvdb_id
Lista sezonówSprawdź ich dokumentacjęTablica seasons w szczegółach serialu
Jeden sezon z odcinkamiSprawdź ich dokumentacjęGET /3/tv/1396/season/1
Jeden odcinekSprawdź ich dokumentacjęGET /3/tv/1396/season/1/episode/1
Jakie układy istniejąUkłady emisyjny, DVD i absolutnyGET /3/tv/1396/episode_groups
Odcinki w jednym układzieSprawdź ich dokumentacjęNiedostępne, /3/tv/episode_group/{id} odpowiada 404
Następny odcinek w emisjiSprawdź ich dokumentacjęnext_episode_to_air w szczegółach serialu

Pola odcinków używają nazw z TMDB: air_date, episode_number, season_number, runtime i still_path. external_ids sezonów i odcinków mają wszystkie wartość null, więc ID z TVDB pojedynczego sezonu lub odcinka nie da się odczytać z amodb. Łącz zamiast tego po season_number i episode_number. Szczegóły są na stronie sezony i odcinki.

Co zwraca lista grup odcinków

Wywołanie listy pokazuje, jakie układy istnieją dla serialu. Nie zwraca odcinków w ich wnętrzu.

PoleZnaczenie
idID grupy, ciąg
nameNazwa układu, na przykład DVD / PVOD
descriptionTekst ze źródła, często pusty
typeLiczba mówiąca, jakiego rodzaju jest układ
episode_countOdcinki w układzie
group_countBloki w układzie, na przykład sezony
networkObiekt z siecią albo null

To prawdziwa odpowiedź dla Breaking Bad.

JSON
{
  "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
    }
  ]
}

Niektóre seriale zwracają jeden układ emisyjny, inne kilka, a niektóre zwracają pustą tablicę results. Sprawdź seriale, na których ci zależy. Ponieważ zawartość grupy nie jest udostępniana, aplikacja potrzebująca numeru każdego odcinka według DVD lub absolutnego nie dostanie go z amodb.

Porównanie funkcji

FunkcjaTheTVDBamodb
Model cenowyModel klucza API, licencjonowanie sprawdź w ich dokumentacjiOkresy przedpłacone od 1 do 24 miesięcy
Darmowy planSprawdź ich dokumentacjęBrak, ani wersji próbnej
UwierzytelnianieKlucz API, przebieg sprawdź w ich dokumentacjiapi_key lub nagłówek Bearer
Format odpowiedziJSON, sprawdź ich dokumentacjęJSON w kształcie TMDB v3
JęzykiSprawdź ich dokumentację14 języków interfejsu
FilmySprawdź ich dokumentacjęTak
SerialeTak, główny profilTak, z sezonami i odcinkami
OsobySprawdź ich dokumentacjęTak
ObrazySprawdź ich dokumentacjęimg.amodb.dev, klucz niepotrzebny
OcenySprawdź ich dokumentacjęIMDb i cztery inne źródła, gdy znane
Limit żądańSprawdź ich dokumentację20, 40 lub 120 na minutę na klucz
Użycie komercyjneLicencjonowanie sprawdź w ich dokumentacjiPłatne plany, zobacz cennik
ZgodnośćWłasne APIOdczyty TMDB v3 i OMDb

Czym amodb się różni

  • Jeden klucz do całego katalogu. Serial, jego obsada, zwiastuny i film, który dzieli aktora, używają tego samego bazowego URL i tego samego limitu.
  • Oceny obok przewodnika po odcinkach. append_to_response=ratings w szczegółach serialu dodaje IMDb i inne wyniki jednym wywołaniem.
  • Zwykłe nagłówki do regulowania tempa. X-RateLimit-Remaining i X-RateLimit-Reset mówią zadaniu synchronizacji, ile żądań zostało w oknie 60 sekund.
  • Zachowane nazwy oryginalne. Serial zachowuje original_name, a name podąża za twoim language, co pomaga, gdy pokazujesz tytuł oryginalny.

Kiedy TheTVDB pasuje lepiej

  • Kolejność jest produktem. Jeśli twoi użytkownicy spierają się o kolejność DVD, emisyjną i absolutną, TheTVDB traktuje to jako rdzeń swojego modelu. amodb nazywa układy serialu, ale nie zwraca ich odcinków, a to, jakie grupy istnieją, różni się w zależności od serialu.
  • Istniejące integracje. Jeśli twój potok już zapisuje ID z TheTVDB i czyta jego układy, zachowaj tę część i dodaj amodb dla dodatkowych danych.
  • Profil serialowy. Jeśli nigdy nie pokazujesz filmów ani osób, źródło zbudowane wokół seriali ma mniej do nauczenia.

Przejście na amodb

Zmapuj zapisane ID z TVDB raz. Potem używaj ID amodb przy każdym wywołaniu. Endpoint find rozwiązuje tylko ID seriali. Jego tablice tv_season_results i tv_episode_results są zawsze puste, więc sezony i odcinki mapuj według numeru.

JavaScript
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);
}

Pierwsze żądanie zwraca Breaking Bad z ID 1396. Drugie wypisuje układy, które istnieją dla tego serialu, wraz z ich rozmiarami. Aby porównać numerację z tym, co zapisujesz teraz, odczytaj kolejność emisyjną z /tv/{id}/season/{n}, a alternatywną kolejność zostaw po stronie TheTVDB. Wykonaj to sprawdzenie na dziesięciu najczęściej oglądanych serialach, zanim przeniesiesz resztę.

Każde wywołanie liczy się jako jedno żądanie w oknie 60 sekund, a 429 niesie Retry-After. Zobacz wyszukiwanie po zewnętrznym ID i limity żądań.

Cennik

amodb jest przedpłacone, bez automatycznego odnawiania. Wybierz 1, 3, 6, 12 lub 24 miesiące i jeden z trzech planów z 20, 40 lub 120 żądaniami na minutę. Dłuższe okresy mają zniżkę 10, 20, 30 lub 40 procent, a każdy plan dostaje wszystkie dane. Nie ma darmowego planu. Kwoty są na stronie cennik.