Памылкі
Выклікі ў стылі TMDB вяртаюць памылкі ў целе TMDB: success false, лікавы status_code і status_message. Выклікі ў стылі OMDb вяртаюць Response False з радком Error. amodb выкарыстоўвае 8 кодаў TMDB, ад 7 для няправільнага ключа да 25 для ліміту запытаў і 36 для скончанага плана. Паўтарайце толькі 429, 500 і 504.
Цела памылкі ў стылі TMDB
Кожная памылка з https:/ мае ту ж форму JSON, што і ў TMDB:
{
"success": false,
"status_code": 34,
"status_message": "The resource you requested could not be found."
}Коды памылак
| HTTP | status_code | status_message | Што рабіць |
|---|---|---|---|
| 401 | 7 | Invalid API key: You must be granted a valid key. | Праверце ключ і спосаб яго перадачы. |
| 401 | 10 | Suspended API key: Access to your account has been suspended, contact amodb. | Напішыце на support@amodb.dev. |
| 402 | 36 | Your plan has expired. Renew at https://amodb.dev/pricing | Аплаціце новы перыяд. |
| 404 | 34 | The resource you requested could not be found. | Праверце id або шлях. |
| 405 | 37 | This method is not offered by amodb. | Выкарыстоўвайце эндпоінт чытання. |
| 429 | 25 | Your request count (N) is over the allowed limit of (L). | Пачакайце Retry-After секунд. |
| 500 | 11 | Internal error: Something went wrong, contact amodb. | Паўтарыце праз некалькі секунд. |
| 504 | 24 | Your request to the backend server timed out. Try again. | Паўтарыце праз некалькі секунд. |
Цела памылкі ў стылі OMDb
Эндпоінт, сумяшчальны з OMDb, захоўвае форму і фармуліроўкі OMDb:
Выклік OMDb з r=xml вяртае HTTP 400. Выкарыстоўвайце r=json або не ўказвайце r.
{
"Response": "False",
"Error": "Movie not found!"
}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.