Памылкі

Выклікі ў стылі TMDB вяртаюць памылкі ў целе TMDB: success false, лікавы status_code і status_message. Выклікі ў стылі OMDb вяртаюць Response False з радком Error. amodb выкарыстоўвае 8 кодаў TMDB, ад 7 для няправільнага ключа да 25 для ліміту запытаў і 36 для скончанага плана. Паўтарайце толькі 429, 500 і 504.

Абноўлена Адкрыць у Markdown

Цела памылкі ў стылі TMDB

Кожная памылка з https://api.amodb.dev/3 мае ту ж форму JSON, што і ў TMDB:

JSON
{
  "success": false,
  "status_code": 34,
  "status_message": "The resource you requested could not be found."
}

Коды памылак

HTTPstatus_codestatus_messageШто рабіць
4017Invalid API key: You must be granted a valid key.Праверце ключ і спосаб яго перадачы.
40110Suspended API key: Access to your account has been suspended, contact amodb.Напішыце на support@amodb.dev.
40236Your plan has expired. Renew at https://amodb.dev/pricingАплаціце новы перыяд.
40434The resource you requested could not be found.Праверце id або шлях.
40537This method is not offered by amodb.Выкарыстоўвайце эндпоінт чытання.
42925Your request count (N) is over the allowed limit of (L).Пачакайце Retry-After секунд.
50011Internal error: Something went wrong, contact amodb.Паўтарыце праз некалькі секунд.
50424Your request to the backend server timed out. Try again.Паўтарыце праз некалькі секунд.

Цела памылкі ў стылі OMDb

Эндпоінт, сумяшчальны з OMDb, захоўвае форму і фармуліроўкі OMDb:

Выклік OMDb з r=xml вяртае HTTP 400. Выкарыстоўвайце r=json або не ўказвайце r.

JSON
{
  "Response": "False",
  "Error": "Movie not found!"
}
jspy
const res = await fetch("https://api.amodb.dev/3/movie/550", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) {
  const err = await res.json();
  if (res.status === 429) {
    // wait Retry-After seconds, then retry
  }
  throw new Error(`amodb ${res.status} code ${err.status_code}: ${err.status_message}`);
}
res = requests.get(url, headers=headers, timeout=10)
if not res.ok:
    err = res.json()
    raise RuntimeError(f"amodb {res.status_code} code {err['status_code']}: {err['status_message']}")

Запасныя варыянты, якія не з’яўляюцца памылкамі

  • Невядомы тэг language не дае памылкі. amodb аддае ў такім выпадку англійскую мову.
  • Поле без даных мае значэнне null або пусты масіў, як у TMDB.

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

Якія памылкі павінен паўтараць мой кліент?

Паўтарайце 429 пасля Retry-After секунд, а 500 або 504 з затрымкай у некалькі секунд. Не паўтарайце 401, 402, 404 або 405: той самы выклік зноў завершыцца памылкай.

Чаму я атрымліваю 405 для эндпоінта TMDB?

amodb не прапануе метады запісу TMDB для account, session, rating і list. Яны вяртаюць 405 са status_code 37. Усе эндпоінты чытання працуюць.