# Грешки

> Заявките в стил TMDB връщат грешки в тялото на TMDB: success false, числов status_code и status_message. Заявките в стил OMDb връщат Response False с низ Error. amodb ползва 8 кода на TMDB, от 7 за невалиден ключ до 25 за лимита на заявките и 36 за изтекъл план. Повтаряйте само 429, 500 и 504.

## Тяло на грешка в стил TMDB

Всяка грешка от `https://api.amodb.dev/3` има същата форма на JSON като в TMDB:

```json
{
  "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:

```json
{
  "Response": "False",
  "Error": "Movie not found!"
}
```

Заявка към OMDb с `r=xml` връща HTTP 400. Ползвайте `r=json` или изпуснете `r`.

## Обработка на грешки в кода

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

```python
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. Всички ендпойнти за четене работят.

## Свързани страници

- [Лимити на заявките](https://amodb.dev/bg/rate-limits/): amodb ограничава всеки ключ по заявки в минута в плъзгащ се прозорец от 60 секунди: 20, 40 или 120. Заглавки за лимита и обработка на 429 с Retry-After.
- [Удостоверяване](https://amodb.dev/bg/authentication/): Как да изпратите ключа си за amodb: api_key в заявката, заглавка Authorization с Bearer или apikey за OMDb. Формат, съхранение, смяна на ключ и грешките 401.
- [Бърз старт](https://amodb.dev/bg/quickstart/): Първата ви заявка към amodb: вземете ключ, поискайте детайли за филм с curl, JavaScript, Python, PHP или Go и заредете постера от img.amodb.dev. До 2 минути.

Обновено: 2026-10-18. Source: https://amodb.dev/bg/errors/
