Што падыходзіць для праекта пра серыялы

TheTVDB арыентаваны на серыялы і трымае для серыяла некалькі парадкаў эпізодаў, уключна з эфірным, DVD і абсалютным, па мадэлі ключа API. Перад тым як планаваць камерцыйны прадукт, праверце ліцэнзаванне ў іх дакументацыі. Абірайце amodb, калі вам патрэбны серыялы, фільмы і персоны з аднаго ключа, шляхі TMDB v3 і 14 моў. Абірайце TheTVDB, калі дакладная альтэрнатыўная нумарацыя ёсць цэнтрам вашай праграмы, бо amodb пералічвае групы эпізодаў серыяла, але не аддае тое, што ўнутры іх.

Як даныя пра серыялы супастаўляюцца паміж імі

Паняцці супадаюць, але назвы адрозніваюцца. Гэтая табліца ахоплівае тое, што звычайна чытае праграма пра серыялы.

Што трэбаПадыход TheTVDBВыклік amodb
Адзін серыялЗапіс серыяла па id TVDBGET /3/tv/1396, пасля пошуку tvdb_id
Спіс сезонаўГлядзіце іх дакументацыюМасіў seasons у дэталях серыяла
Адзін сезон з эпізодаміГлядзіце іх дакументацыюGET /3/tv/1396/season/1
Адзін эпізодГлядзіце іх дакументацыюGET /3/tv/1396/season/1/episode/1
Якія парадкі існуюцьЭфірны, DVD і абсалютны парадкіGET /3/tv/1396/episode_groups
Эпізоды ўнутры аднаго парадкуГлядзіце іх дакументацыюНе прапануецца, /3/tv/episode_group/{id} адказвае 404
Наступны эпізод у эфірыГлядзіце іх дакументацыюnext_episode_to_air у дэталях серыяла

Палі эпізода выкарыстоўваюць назвы TMDB: air_date, episode_number, season_number, runtime і still_path. external_ids сезона і эпізода ўсе роўныя null, таму id TVDB асобнага сезона або эпізода з amodb прачытаць нельга. Злучайце па season_number і episode_number. Падрабязнасці на старонцы сезоны і эпізоды.

Што вяртае спіс груп эпізодаў

Выклік спіса паказвае, якія парадкі існуюць для серыяла. Эпізоды ўнутры іх ён не вяртае.

ПолеСэнс
idId групы, радок
nameНазва парадку, напрыклад DVD / PVOD
descriptionТэкст з крыніцы, часта пусты
typeЛік, які кажа, што гэта за парадак
episode_countЭпізоды ў парадку
group_countБлокі ў парадку, напрыклад сезоны
networkАб’ект з тэлеканалам або null

Гэта сапраўдны адказ для 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
    }
  ]
}

Адны серыялы вяртаюць адзін эфірны парадак, іншыя некалькі, а некаторыя вяртаюць пусты масіў results. Праверце серыялы, якія вас цікавяць. Паколькі змест групы не прапануецца, праграма, якой патрэбны нумар DVD або абсалютны нумар кожнага эпізода, не атрымае яго з amodb.

Параўнанне магчымасцей

МагчымасцьTheTVDBamodb
Мадэль цэнаўтварэнняМадэль ключа API, пра ліцэнзаванне глядзіце іх дакументацыюПерыяды з аплатай наперад ад 1 да 24 месяцаў
Бясплатны тарыфГлядзіце іх дакументацыюНяма, пробнага перыяду таксама няма
АўтэнтыфікацыяКлюч API, пра працэс глядзіце іх дакументацыюapi_key або загаловак Bearer
Фармат адказуJSON, глядзіце іх дакументацыюJSON у форме TMDB v3
МовыГлядзіце іх дакументацыю14 моў інтэрфейсу
ФільмыГлядзіце іх дакументацыюТак
СерыялыТак, асноўны фокусТак, з сезонамі і эпізодамі
ПерсоныГлядзіце іх дакументацыюТак
ВыявыГлядзіце іх дакументацыюimg.amodb.dev, ключ не патрэбны
РэйтынгіГлядзіце іх дакументацыюIMDb і яшчэ чатыры крыніцы, калі вядомыя
Ліміт запытаўГлядзіце іх дакументацыю20, 40 або 120 у хвіліну на ключ
Камерцыйнае выкарыстаннеПра ліцэнзаванне глядзіце іх дакументацыюПлатныя планы, гл. цэны
СумяшчальнасцьУласны APIЧытанне TMDB v3 і OMDb

Чым адрозніваецца amodb

  • Адзін ключ на ўвесь каталог. Серыял, яго акцёры, трэйлеры і фільм з тым жа акцёрам выкарыстоўваюць той жа базавы URL і той жа ліміт.
  • Рэйтынгі побач з даведнікам па эпізодах. append_to_response=ratings у дэталях серыяла дадае ацэнкі IMDb і іншых крыніц адным выклікам.
  • Простыя загалоўкі для рэгулявання тэмпу. X-RateLimit-Remaining і X-RateLimit-Reset паказваюць задачы сінхранізацыі, колькі запытаў засталося ў 60-секундным акне.
  • Арыгінальныя назвы захоўваюцца. Серыял захоўвае original_name, а name залежыць ад вашага language, што дапамагае, калі вы паказваеце родную назву.

Дзе TheTVDB падыходзіць лепш

  • Парадак і ёсць прадукт. Калі вашы карыстальнікі спрачаюцца пра парадак DVD, эфірны або абсалютны, TheTVDB лічыць гэта асновай сваёй мадэлі. amodb называе парадкі серыяла, але не вяртае іх эпізоды, а набор груп залежыць ад серыяла.
  • Існуючыя інтэграцыі. Калі ваш працэс ужо захоўвае id TheTVDB і чытае яго парадкі, пакіньце гэтую частку і дадайце amodb для дадатковых даных.
  • Фокус на серыялах. Калі вы ніколі не паказваеце фільмы або персон, крыніцу, пабудаваную вакол серыялаў, вывучыць прасцей.

Міграцыя на amodb

Адзін раз супастаўце захаваныя id TVDB. Пасля гэтага выкарыстоўвайце id amodb для кожнага выкліку. Эндпоінт find вызначае толькі id серыялаў. Яго масівы tv_season_results і tv_episode_results заўсёды пустыя, таму супастаўляйце сезоны і эпізоды па нумары.

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

Першы запыт вяртае Breaking Bad з id 1396. Другі пералічвае парадкі, якія існуюць для гэтага серыяла, з іх памерамі. Каб параўнаць нумарацыю з тым, што вы захоўваеце цяпер, чытайце эфірны парадак з /tv/{id}/season/{n} і трымайце любы альтэрнатыўны парадак на баку TheTVDB. Зрабіце такую праверку на дзесяці самых прагляданых серыялах, перш чым пераносіць астатнія.

Кожны выклік лічыцца адным запытам у 60-секундным акне, а 429 нясе Retry-After. Гл. пошук па вонкавым ідэнтыфікатары і ліміты запытаў.

Цэны

amodb працуе з аплатай наперад і без аўтапрадаўжэння. Абярыце 1, 3, 6, 12 або 24 месяцы і адзін з трох планаў на 20, 40 або 120 запытаў у хвіліну. Доўгія перыяды даюць зніжку 10, 20, 30 або 40 працэнтаў, і кожны план дае ўсе даныя. Бясплатнага тарыфа няма. Сумы ёсць на старонцы цэны.