# API серыялаў

> Эндпоінт серыяла вяртае адзін серыял па id па адрасе GET /3/tv/{series_id}: назвы, апісанне, статус, сезоны, тэлеканалы, жанры і ўказальнікі на апошні і наступны эпізоды. JSON адпавядае TMDB v3, таму існуючым кліентам трэба толькі новы базавы URL. Дадайце append_to_response, каб аб’яднаць узроставыя рэйтынгі, акцёраў і ацэнкі ў адным запыце.

## Эндпоінт

`GET /3/tv/{series_id}`

```bash
curl "https://api.amodb.dev/3/tv/1396?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
```

Адказ:

```json
{
  "adult": false,
  "backdrop_path": "/ycFcYYnzVc8mWw41neszGPMyKc3.jpg",
  "created_by": [],
  "episode_run_time": [
    48,
    49
  ],
  "first_air_date": "2008-01-20",
  "genres": [
    {
      "id": 18,
      "name": "Drama"
    },
    {
      "id": 80,
      "name": "Crime"
    }
  ],
  "homepage": "",
  "id": 1396,
  "in_production": false,
  "languages": [
    "en"
  ],
  "last_air_date": "2013-09-29",
  "last_episode_to_air": {
    "air_date": "2013-09-29",
    "episode_number": 16,
    "episode_type": "standard",
    "id": 62161,
    "name": "פלינה",
    "overview": "הסדרה זוכת הפרסים מגיעה לסיום דרמתי בפרק החותם אותה.",
    "production_code": "",
    "runtime": 56,
    "season_number": 5,
    "show_id": 1396,
    "still_path": "/pA0YwyhvdDXP3BEGL2grrIhq8aM.jpg",
    "vote_average": 0,
    "vote_count": 0
  },
  "name": "Breaking Bad",
  "next_episode_to_air": null,
  "networks": [
    {
      "id": 174,
      "logo_path": "/pmvRmATOCaDykE6JrVoeYxlFHw3.png",
      "name": "AMC",
      "origin_country": "US"
    }
  ],
  "number_of_episodes": 62,
  "number_of_seasons": 5,
  "origin_country": [
    "US"
  ],
  "original_language": "en",
  "original_name": "Breaking Bad",
  "overview": "Walter White, a New Mexico chemistry teacher, is diagnosed with Stage III cancer and given a prognosis of only two years left to live. He becomes filled with a sense of fearlessness and an unrelenting desire to secure his family's financial...",
  "popularity": 268.4968,
  "poster_path": "/anFx9aTOOYqgS3v7x3R84Kz67ly.jpg",
  "production_companies": [
    {
      "id": 2605,
      "logo_path": null,
      "name": "Gran Via Productions",
      "origin_country": "US"
    },
    {
      "id": 11073,
      "logo_path": "/wHs44fktdoj6c378ZbSWfzKsM2Z.png",
      "name": "Sony Pictures Television",
      "origin_country": "US"
    },
    {
      "id": 33742,
      "logo_path": "/2jdh2sEa0R6y6uT0F7g0IgA2WO8.png",
      "name": "High Bridge Productions",
      "origin_country": "US"
    }
  ],
  "production_countries": [
    {
      "iso_3166_1": "US",
      "name": "United States of America"
    }
  ],
  "seasons": [
    {
      "air_date": "2009-02-17",
      "episode_count": 9,
      "id": 3577,
      "name": "特别篇",
      "overview": "",
      "poster_path": "/ikBSCmgG5Z4jequUUAjKpf1QG3T.jpg",
      "season_number": 0,
      "vote_average": 0
    },
    {
      "air_date": "2008-01-20",
      "episode_count": 7,
      "id": 3572,
      "name": "Season 1",
      "overview": "High school chemistry teacher Walter White's life is suddenly transformed by a dire medical diagnosis. Street-savvy former student Jesse Pinkman \"teaches\" Walter a new trade.",
      "poster_path": "/91EIXdWxmp2mHNRsSuDW3WyDJLj.jpg",
      "season_number": 1,
      "vote_average": 0
    },
    {
      "air_date": "2009-03-08",
      "episode_count": 13,
      "id": 3573,
      "name": "第 2 季",
      "overview": "贩卖冰毒的沃尔特老师在毒品交易中越陷越深，这引起了竞争对手的注意并使他在缉毒局的小舅子陷入危险中。",
      "poster_path": "/zMO024gJxKhTJfWqM0XTYd3SgKj.jpg",
      "season_number": 2,
      "vote_average": 0
    }
  ],
  "spoken_languages": [
    {
      "english_name": "English",
      "iso_639_1": "en",
      "name": "English"
    },
    {
      "english_name": "Spanish",
      "iso_639_1": "es",
      "name": "Español"
    }
  ],
  "status": "Ended",
  "tagline": "Change the equation.",
  "vote_average": 8.955,
  "vote_count": 18871
}
```

## Атрыманне дэталяў серыяла

`GET /3/tv/{series_id}` вяртае асноўны запіс аднаго серыяла: назвы, апісанне, статус, жанры, тэлеканалы, спіс сезонаў і ўказальнікі на апошні і наступны эпізоды. Id той самы лікавы tv id у TMDB, таму серыял, які вы захоўваеце як `1396`, захоўвае гэты id і тут. Id фільмаў і id серыялаў гэта асобныя прасторы, таму заўсёды захоўвайце тып медыя побач з лікам.

У прыкладзе запытваецца Breaking Bad па-англійску і ў тым жа выкліку дадаюцца ўзроставыя рэйтынгі і знешнія ацэнкі.

```bash
curl -sSf "https://api.amodb.dev/3/tv/1396?language=en-US&append_to_response=content_ratings,ratings" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const params = new URLSearchParams({ language: 'en-US', append_to_response: 'content_ratings,ratings' });
const res = await fetch(`https://api.amodb.dev/3/tv/1396?${params}`, {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb returned ${res.status}`);
const show = await res.json();
const us = show.content_ratings.results.find((r) => r.iso_3166_1 === 'US');
console.log(show.name, show.status, show.number_of_seasons, us?.rating);
```

```python
import os
import requests

r = requests.get(
    "https://api.amodb.dev/3/tv/1396",
    params={"language": "en-US", "append_to_response": "content_ratings,ratings"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
r.raise_for_status()
show = r.json()
us = next((x for x in show["content_ratings"]["results"] if x["iso_3166_1"] == "US"), None)
print(show["name"], show["status"], show["number_of_seasons"], us and us["rating"])
```

```php
<?php
$url = 'https://api.amodb.dev/3/tv/1396?' . http_build_query([
    'language' => 'en-US',
    'append_to_response' => 'content_ratings,ratings',
]);
$ch = curl_init($url);
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");
}
$show = json_decode($body, true);
echo $show['name'], ' ', $show['status'], ' ', $show['number_of_seasons'], PHP_EOL;
```

```go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"net/url"
	"os"
	"time"
)

type Show struct {
	Name             string `json:"name"`
	Status           string `json:"status"`
	NumberOfSeasons  int    `json:"number_of_seasons"`
	NumberOfEpisodes int    `json:"number_of_episodes"`
	Next             *struct {
		AirDate string `json:"air_date"`
	} `json:"next_episode_to_air"`
}

func main() {
	q := url.Values{"language": {"en-US"}}
	req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/tv/1396?"+q.Encode(), nil)
	req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
	client := &http.Client{Timeout: 10 * time.Second}
	res, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	if res.StatusCode != http.StatusOK {
		panic(res.Status)
	}
	var s Show
	if err := json.NewDecoder(res.Body).Decode(&s); err != nil {
		panic(err)
	}
	next := "none scheduled"
	if s.Next != nil {
		next = s.Next.AirDate
	}
	fmt.Println(s.Name, s.Status, s.NumberOfSeasons, s.NumberOfEpisodes, next)
}
```

### Параметры

| Параметр             | Дзе   | Абавязковы   | Апісанне                                                                                                |
| -------------------- | ----- | ------------ | ------------------------------------------------------------------------------------------------------- |
| `series_id`          | шлях  | так          | Лікавы id серыяла, напрыклад `1396`.                                                                    |
| `api_key`            | запыт | адзін з двух | Ваш ключ. Выкарыстоўвайце яго або загаловак `Authorization: Bearer`.                                    |
| `language`           | запыт | не           | Тэг TMDB, напрыклад `en-US`, `uk-UA` або `es-ES`. Падтрымліваюцца 14 базавых моў. Па змаўчанні `en-US`. |
| `append_to_response` | запыт | не           | Спіс падрэсурсаў праз коску, якія трэба далучыць да адказу, да 20 значэнняў.                            |

### Палі адказу

| Поле                                               | Тып               | Заўвагі                                                                                                                                  |
| -------------------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                                               | цэлы лік          | Id серыяла.                                                                                                                              |
| `name`, `original_name`                            | радок             | Лакалізаваная і арыгінальная назва. Арыгінальныя японскія або карэйскія назвы застаюцца ў `original_name`.                               |
| `overview`, `tagline`                              | радок             | Лакалізаваны тэкст, пусты, калі перакладу няма.                                                                                          |
| `first_air_date`, `last_air_date`                  | радок або null    | `YYYY-MM-DD`.                                                                                                                            |
| `status`                                           | радок             | Жыццёвы цыкл, гл. табліцу ніжэй.                                                                                                         |
| `in_production`                                    | лагічнае значэнне | `true`, пакуль серыял яшчэ здымаецца.                                                                                                    |
| `number_of_seasons`, `number_of_episodes`          | цэлы лік          | Агульныя значэнні, як захаваны для серыяла.                                                                                              |
| `episode_run_time`                                 | масіў             | Тыповая працягласць эпізодаў у хвілінах, можа быць пустым.                                                                               |
| `seasons`                                          | масіў             | Адно кароткае апісанне на сезон з `id`, `season_number`, `name`, `overview`, `episode_count`, `air_date`, `poster_path`, `vote_average`. |
| `last_episode_to_air`, `next_episode_to_air`       | аб’ект або null   | Кароткія апісанні эпізодаў па форме аб’ектаў са старонкі [сезоны і эпізоды](https://amodb.dev/be/tv-seasons-episodes/).                  |
| `networks`, `production_companies`                 | масіў             | `id`, `name`, `logo_path`, `origin_country`.                                                                                             |
| `production_countries`, `spoken_languages`         | масіў             | Краіны з `iso_3166_1` і `name`. Мовы з `english_name`, `iso_639_1` і `name`.                                                             |
| `created_by`                                       | масіў             | Стваральнікі з `id`, `name`, `profile_path` і `credit_id`. Для большасці серыялаў пусты.                                                 |
| `genres`                                           | масіў             | Аб’екты з `id` і `name`. Id жанраў серыялаў адрозніваюцца ад id фільмаў.                                                                 |
| `origin_country`, `original_language`, `languages` | масіў, радок      | Коды краін і коды моў.                                                                                                                   |
| `homepage`                                         | радок             | Афіцыйны сайт, пусты, калі невядомы.                                                                                                     |
| `poster_path`, `backdrop_path`                     | радок або null    | Дадайце да `https://img.amodb.dev/t/p/{size}`. Гл. [выявы](https://amodb.dev/be/images-api/).                                            |
| `popularity`                                       | лік               | Адносная ацэнка, якую выкарыстоўвае спіс папулярных.                                                                                     |
| `vote_average`, `vote_count`                       | лік, цэлы лік     | Зводная ацэнка карыстальнікаў.                                                                                                           |
| `adult`                                            | лагічнае значэнне | Заўсёды `false`. Назвы для дарослых ніколі не вяртаюцца.                                                                                 |

### Прыклад адказу

`GET /3/tv/1396?language=en-US&append_to_response=content_ratings,ratings`, доўгія масівы і тэкст скарочаны:

```json
{
  "adult": false,
  "backdrop_path": "/ycFcYYnzVc8mWw41neszGPMyKc3.jpg",
  "created_by": [],
  "episode_run_time": [
    48,
    49
  ],
  "first_air_date": "2008-01-20",
  "genres": [
    {
      "id": 18,
      "name": "Drama"
    },
    {
      "id": 80,
      "name": "Crime"
    }
  ],
  "homepage": "",
  "id": 1396,
  "in_production": false,
  "languages": [
    "en"
  ],
  "last_air_date": "2013-09-29",
  "last_episode_to_air": {
    "air_date": "2013-09-29",
    "episode_number": 16,
    "episode_type": "standard",
    "id": 62161,
    "name": "פלינה",
    "overview": "הסדרה זוכת הפרסים מגיעה לסיום דרמתי בפרק החותם אותה.",
    "production_code": "",
    "runtime": 56,
    "season_number": 5,
    "show_id": 1396,
    "still_path": "/pA0YwyhvdDXP3BEGL2grrIhq8aM.jpg",
    "vote_average": 0,
    "vote_count": 0
  },
  "name": "Breaking Bad",
  "next_episode_to_air": null,
  "networks": [
    {
      "id": 174,
      "logo_path": "/pmvRmATOCaDykE6JrVoeYxlFHw3.png",
      "name": "AMC",
      "origin_country": "US"
    }
  ],
  "number_of_episodes": 62,
  "number_of_seasons": 5,
  "origin_country": [
    "US"
  ],
  "original_language": "en",
  "original_name": "Breaking Bad",
  "overview": "Walter White, a New Mexico chemistry teacher, is diagnosed with Stage III cancer and given a prognosis of o...",
  "popularity": 268.4968,
  "poster_path": "/anFx9aTOOYqgS3v7x3R84Kz67ly.jpg",
  "production_companies": [
    {
      "id": 2605,
      "logo_path": null,
      "name": "Gran Via Productions",
      "origin_country": "US"
    },
    {
      "id": 11073,
      "logo_path": "/wHs44fktdoj6c378ZbSWfzKsM2Z.png",
      "name": "Sony Pictures Television",
      "origin_country": "US"
    }
  ],
  "production_countries": [
    {
      "iso_3166_1": "US",
      "name": "United States of America"
    }
  ],
  "seasons": [
    {
      "air_date": "2009-02-17",
      "episode_count": 9,
      "id": 3577,
      "name": "特别篇",
      "overview": "",
      "poster_path": "/ikBSCmgG5Z4jequUUAjKpf1QG3T.jpg",
      "season_number": 0,
      "vote_average": 0
    },
    {
      "air_date": "2008-01-20",
      "episode_count": 7,
      "id": 3572,
      "name": "Season 1",
      "overview": "High school chemistry teacher Walter White's life is suddenly transformed by a dire medical diagnosis. Stre...",
      "poster_path": "/91EIXdWxmp2mHNRsSuDW3WyDJLj.jpg",
      "season_number": 1,
      "vote_average": 0
    }
  ],
  "spoken_languages": [
    {
      "english_name": "English",
      "iso_639_1": "en",
      "name": "English"
    },
    {
      "english_name": "Spanish",
      "iso_639_1": "es",
      "name": "Español"
    }
  ],
  "status": "Ended",
  "tagline": "Change the equation.",
  "vote_average": 9,
  "vote_count": 18863,
  "content_ratings": {
    "results": [
      {
        "descriptors": [],
        "iso_3166_1": "AT",
        "rating": "16"
      },
      {
        "descriptors": [],
        "iso_3166_1": "AU",
        "rating": "MA 15+"
      }
    ]
  },
  "ratings": {
    "imdb": {
      "value": 9.5,
      "votes": 2671962
    },
    "kinopoisk": {
      "value": 8.9,
      "votes": null
    },
    "metacritic": null,
    "rotten_tomatoes": {
      "value": 96,
      "votes": null
    },
    "tmdb": {
      "value": 9,
      "votes": 18863
    }
  }
}
```

Блокі `content_ratings` і `ratings` паходзяць з `append_to_response`. Назвы і апісанні ўнутры `seasons`, `last_episode_to_air` і `next_episode_to_air` захоўваюцца для кожнага запісу асобна і могуць не выконваць `language`, як паказвае яўрэйская назва эпізода вышэй. Лакалізаваны тэкст сезонаў і эпізодаў чытайце з [эндпоінта сезона](https://amodb.dev/be/tv-seasons-episodes/).

## Статус і ўказальнікі на эпізоды

`status` паказвае, на якім этапе жыцця серыял, а `next_episode_to_air` падказвае, калі зазірнуць зноў.

| Значэнне `status`          | Сэнс                                | `next_episode_to_air`                    |
| -------------------------- | ----------------------------------- | ---------------------------------------- |
| `Returning Series`         | Выходзіць зараз або паміж сезонамі. | Задаецца, калі дата вядомая, інакш null. |
| `Planned`, `In Production` | Яшчэ не звычайны серыял.            | Звычайна null.                           |
| `Ended`                    | Завершыў выхад.                     | Null.                                    |
| `Canceled`                 | Спынены да запланаванага канца.     | Null.                                    |

У серыяла, які працягваецца, паміж сезонамі `next_episode_to_air` роўны null, таму чытайце null як «даты няма», а не як «завершаны».

Масіў `seasons` пералічвае па адным кароткім апісанні на сезон, а сезон `0` змяшчае спецвыпускі. Каб прачытаць эпізоды сезона, выклічце эндпоінт са старонкі [сезоны і эпізоды](https://amodb.dev/be/tv-seasons-episodes/).

## Звязаныя эндпоінты серыяла

Усе шляхі маюць агульную аснову `https://api.amodb.dev/3`, а эндпоінты з лакалізаваным тэкстам таксама прымаюць `language`.

| Метад і шлях                             | Што вяртае                                                              | Дадатковыя параметры |
| ---------------------------------------- | ----------------------------------------------------------------------- | -------------------- |
| `GET /tv/{series_id}/alternative_titles` | `{id, results}` з `iso_3166_1`, `title`, `type`, часта пусты            | няма                 |
| `GET /tv/{series_id}/content_ratings`    | Узроставы рэйтынг па краінах                                            | няма                 |
| `GET /tv/{series_id}/episode_groups`     | Спіс альтэрнатыўных парадкаў эпізодаў, напрыклад DVD або сюжэтная лінія | няма                 |
| `GET /tv/{series_id}/recommendations`    | Спіс з 20 рэкамендаваных серыялаў                                       | няма                 |
| `GET /tv/{series_id}/similar`            | Спіс з 20 падобных серыялаў                                             | няма                 |
| `GET /tv/{series_id}/reviews`            | `results` пусты для большасці серыялаў                                  | няма                 |
| `GET /tv/{series_id}/lists`              | Публічныя спісы, якія змяшчаюць серыял                                  | `page`               |
| `GET /tv/{series_id}/watch/providers`    | Стрымінгавыя сэрвісы, пракат і куплю па краінах                         | няма                 |
| `GET /tv/latest`                         | Апошні дададзены запіс серыяла                                          | няма                 |

Спісы recommendations і similar заўсёды вяртаюць старонку 1 з 20 элементамі. Адказ `lists` падзелены на старонкі праз `page`, па 20 спісаў на старонку. Іншыя спісы па старонках у API прымаюць `page` ад 1 да 500.

Узроставыя рэйтынгі прыходзяць як запісы `results` з `iso_3166_1`, `rating` і `descriptors`, таму абірайце запіс, што адпавядае краіне гледача. Сэрвісы прагляду ідуць па коду краіны, і ў кожнай краіны ёсць `link` плюс спісы `flatrate`, `rent` і `buy` з `provider_id`, `provider_name`, `logo_path` і `display_priority`. Id сэрвісаў для фільтрацыі бярыце з даведачных спісаў на старонцы [жанры і даведачныя спісы](https://amodb.dev/be/genres/).

Спіс груп эпізодаў вяртае `id` (радок), `name`, `description`, `type`, `episode_count`, `group_count` і `network`. amodb пералічвае групы, але не прапануе эндпоінт, які вяртае эпізоды адной групы. Ён таксама не прапануе шляхі TMDB `changes`.

## Аб’яднанне большай колькасці даных у адным выкліку

Пералічыце падрэсурсы ў `append_to_response`, і кожны прыйдзе пад уласным ключом. Увесь выклік лічыцца адзін раз у вашых 20, 40 або 120 запытах у хвіліну. Працуюць да 20 значэнняў, а невядомыя назвы ігнаруюцца без памылкі. Для серыяла працуюць гэтыя значэнні:

| Значэнне                                                                                                                       | Што дадае                                         | Падрабязнасці                                                                                                                                                                 |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `credits`                                                                                                                      | Акцёры і здымачная група                          | [Удзельнікі](https://amodb.dev/be/credits/)                                                                                                                                   |
| `external_ids`                                                                                                                 | Id, такія як `imdb_id`, `tvdb_id` і `wikidata_id` | [Пошук па вонкавым ідэнтыфікатары](https://amodb.dev/be/find-by-external-id/)                                                                                                 |
| `images`, `videos`                                                                                                             | Постэры, фонавыя выявы, трэйлеры                  | [Выявы](https://amodb.dev/be/images-api/), [Відэа](https://amodb.dev/be/videos-trailers/)                                                                                     |
| `keywords`, `translations`                                                                                                     | Тэгі і перакладзеныя тэксты                       | [Ключавыя словы](https://amodb.dev/be/keywords/), [Пераклады](https://amodb.dev/be/translations/)                                                                             |
| `content_ratings`, `alternative_titles`, `episode_groups`, `lists`, `watch/providers`, `similar`, `recommendations`, `reviews` | Падрэсурсы з табліцы вышэй                        | Гэта старонка                                                                                                                                                                 |
| `ratings`, `moods`, `soundtracks`, `wikidata`, `showtimes`                                                                     | Дадаткі amodb                                     | [Рэйтынгі](https://amodb.dev/be/ratings/), [Настрой](https://amodb.dev/be/moods/), [Саўндтрэкі](https://amodb.dev/be/soundtracks/), [Сеансы](https://amodb.dev/be/showtimes/) |

## Памылкі

Няўдалы выклік вяртае цела памылкі TMDB. Няправільны id дае `status_code` 34 з паведамленнем «The resource you requested could not be found.»

| HTTP | status_code | Калі                                                                          |
| ---- | ----------- | ----------------------------------------------------------------------------- |
| 401  | 7           | Ключ адсутнічае або няправільны.                                              |
| 402  | 36          | Тэрмін дзеяння плана скончыўся.                                               |
| 404  | 34          | Няма серыяла з гэтым id, гэта назва для дарослых або шлях не падтрымліваецца. |
| 405  | 37          | Вы выклікалі метад запісу, напрыклад ацэнку серыяла.                          |
| 429  | 25          | Перавышаны ліміт запытаў у хвіліну. Пачакайце `Retry-After` секунд.           |

Поўны спіс ёсць на старонцы [памылкі](https://amodb.dev/be/errors/), а ліміты па планах на старонцы [ліміты запытаў](https://amodb.dev/be/rate-limits/).

## Практычныя заўвагі

- Дэталі серыяла і кожны падрэсурс вышэй кэшуюцца на 6 гадзін. Апытвайце `last_episode_to_air` не болей за некалькі разоў на дзень.
- Запытвайце тую мову, якую паказваеце. Пусты `overview` азначае, што перакладу няма, таму для запаснога варыянту паўтарыце запыт з `en-US`.
- Выкарыстоўвайце `number_of_seasons` як мяжу цыкла, калі выклікаеце кожны сезон, па выкліку на сезон.
- Каб атрымаць спіс серыялаў, а не адзін, глядзіце [пошук](https://amodb.dev/be/search/), [пошук па фільтрах](https://amodb.dev/be/discover/) і [трэнды і спісы](https://amodb.dev/be/trending-lists/).

## Пытанні і адказы

### Як даведацца, ці выходзіць серыял да гэтага часу?

Чытайце status разам з next_episode_to_air. Серыял, які працягваецца, з ненулявым next_episode_to_air мае запланаваны эпізод. Завершаныя і закрытыя серыялы заўсёды вяртаюць там null, і серыял паміж сезонамі таксама можа.

### Ці ёсць IMDb id у запісе серыяла?

У базавым запісе няма, як і ў TMDB. Дадайце append_to_response=external_ids, каб атрымаць imdb_id і tvdb_id, або выклічце эндпоінт find з IMDb id, каб перайсці ад вонкавага id да id серыяла.

### Ці можна атрымаць ацэнкі IMDb і Rotten Tomatoes для серыяла?

Так. Выклічце GET /3/tv/{series_id}/ratings або дадайце append_to_response=ratings. Вы атрымаеце ацэнкі IMDb, Kinopoisk, Metacritic, Rotten Tomatoes і TMDB, кожную як value і votes або null, калі ацэнка невядомая.

### Як доўга кэшуюцца даныя пра серыялы?

Дэталі серыяла і іх падрэсурсы кэшуюцца на edge на 6 гадзін, таму толькі што выйшаўшы эпізод можа з’явіцца ў last_episode_to_air з такой затрымкай. Спісы, напрыклад on the air, кэшуюцца на 30 хвілін.

## Звязаныя старонкі

- [API сезонаў і эпізодаў серыялаў](https://amodb.dev/be/tv-seasons-episodes/): API сезонаў і эпізодаў з тымі ж шляхамі і JSON, што ў TMDB v3. Чытайце сезон з усімі эпізодамі або адзін эпізод з датай эфіру, працягласцю і кадрам.
- [API ўдзельнікаў](https://amodb.dev/be/credits/): API ўдзельнікаў з тымі ж шляхамі і JSON, што ў TMDB v3. Акцёры і здымачная група фільмаў, серыялаў, сезонаў і эпізодаў з палямі order, department і job.
- [Рэйтынгі фільмаў і серыялаў](https://amodb.dev/be/ratings/): API рэйтынгаў фільмаў вяртае ацэнкі IMDb, Kinopoisk, Metacritic, Rotten Tomatoes і TMDB для назвы адным выклікам, з null для крыніцы, якая невядомая.
- [API серыялаў, сезонаў і эпізодаў](https://amodb.dev/be/tv-show-api/): API серыялаў са статусам, тэлеканаламі, сезонамі, эпізодамі і next_episode_to_air. JSON, сумяшчальны з TMDB v3, на 14 мовах, ад 20 запытаў у хвіліну.
- [Памылкі](https://amodb.dev/be/errors/): Усе памылкі amodb з HTTP-статусам, TMDB status_code і паведамленнем, а таксама форма памылкі OMDb. Што азначае кожная і што рабіць вашаму кліенту далей.
- [Хуткі старт](https://amodb.dev/be/quickstart/): Першы выклік да amodb: атрымайце ключ, запытайце дэталі фільма ў curl, JavaScript, Python, PHP або Go і загрузіце постэр з img.amodb.dev. Менш за 2 хвіліны.

Абноўлена: 2026-10-19. Source: https://amodb.dev/be/tv-series/
