Ошибки при вызове API
Когда вызов API не проходит, сервер отвечает кодом статуса. По нему сразу понятно, на чьей стороне проблема — вашей или сервера.
Общее про работу с API — в разделе про вызовы REST API.
Коды на стороне клиента
Эти ошибки означают, что запрос сформирован неверно.
-
400 — Bad Request
Сервер не понял запрос. Обычно виноваты неверные параметры или недостающие поля в теле запроса.
советСверьтесь с документацией конкретного API: какие поля и заголовки он ждёт.

-
401 — Unauthorized
Запрос ушёл без аутентификации. Проверьте, зарегистрированы ли вы в этом сервисе и передаётся ли ключ API в заголовке.

-
403 — Forbidden
Вы аутентифицированы, но доступа к этому ресурсу нет. Либо ключ не тот, либо возможность не входит в ваш тариф.

-
404 — Not Found
По такому адресу на сервере ничего нет. Опечатка в URL или изменившийся эндпоинт.
советПрежде чем копать глубже, ещё раз перечитайте адрес запроса.

-
407 — Proxy Authentication Required
Нет аутентификации на прокси-сервере. Встречается в сетях с ограничениями.
-
422 — Unprocessable Entity
Запрос корректен по форме, но обработать его нельзя — скажем, в
latlngзабыта запятая. -
429 — Too Many Requests
Превышен лимит частоты запросов. Ограничьте частоту вызовов или посмотрите на условия тарифа.
советПроверьте лимиты своего тарифа и подумайте, как реже дёргать API из приложения.
Коды на стороне сервера
-
500 — Internal Server Error
На сервере что-то упало. Проверьте свой запрос и посмотрите, нет ли известных проблем в документации API.
-
501 — Not Implemented
Сервер не поддерживает использованный HTTP-метод. Посмотрите в документации, какие методы допустимы.
-
502 — Bad Gateway
Промежуточный сервер получил некорректный ответ от вышестоящего. Обычно временно и лечится на стороне провайдера API.
-
503 — Service Unavailable
Сервер перегружен или на обслуживании. Остаётся подождать.
-
504 — Gateway Timeout
Ответ от вышестоящего сервера не пришёл вовремя: задержки в сети или слишком долгая обработка запроса.
Что делать
- Очистите кеш и куки браузера. При ошибке 400 иногда мешают устаревшие данные.
- Перепроверьте адрес. Регистр в доменном имени имеет значение.
- Пересмотрите параметры запроса. Для 400 — не слишком ли велик файл в POST-запросе, нет ли лишних или неверных параметров.
- Загляните в документацию API. Требования у всех разные.
- Напишите в поддержку API. Если ничего не помогло, разбираться придётся вместе с провайдером.
Когда всё настроено верно, вызов возвращает 200 OK.