4.5. Коды статусов HTTP

Ниже приведены коды ответов HTTP для различных методов HTTP для всех конечных точек API.

Таблица 3. Коды статусов HTTP

Ситуация

Статус HTTP

Комментарий

POST

GET

DELETE

PUT

Запрос успешно выполнен

200 OK

Метод PUT должен быть определен на возврат обновленного ресурса. Следовательно, код 200 должен приходить

Нет

Да

Нет

Да

Операция создания выполнена успешно

201 Created

Результатом операции является создание нового ресурса

Да

Нет

Нет

Нет

Операция удаления успешно завершена

204 No Content

Нет

Нет

Да

Нет

Запрос имеет неверный формат, отсутствующие или несовместимые тело JSON, параметры URL или поля заголовка

400 Bad Request

Запрошенная операция не будет выполнена

Да

Да

Да

Да

СППД пытается получить ресурс, который указан в спецификации, но не реализован на стороне ППД (например, ППД решил не реализовывать конечную точку API-статуса для внутренних запланированных платежей).

СППД пытается получить ресурс, который не определен

404 (Not Found)

Да

Да

Да

Да

СППД попытался получить доступ к ресурсу с помощью метода, который не поддерживается

405 Method Not Allowed

Да

Да

Да

Да

Запрос содержал параметр заголовка Accept, отличный от разрешенных media types, и набор символов, отличный от UTF-8

406 Not Acceptable

Да

Да

Да

Да

Операция была отклонена, поскольку полезная нагрузка находится в формате, не поддерживаемом этим методом на целевом ресурсе

415 Unsupported Media Type

Да

Нет

Нет

Да

Время ожидания истекло

419 Request Timeout

Да

Да

Да

Да

Операция была отклонена, так как слишком много запросов было сделано в течение определенного периода времени

429 Too Many Requests

ППД могут ограничивать запросы, если они сделаны сверх их политики добросовестного использования.

ППД должны документировать свои политики добросовестного использования на своих порталах для разработчиков. ППД должны отвечать этим статусам, если количество запросов в единицу времени было превышено.

ППД следует включать заголовок Retry-After в ответ, указывающий, как долго СППД должен ждать перед повторением операции

Да

Да

Да

Да

Что-то пошло не так на стороне ППД

500 Internal Server Error

Операция не удалась

Да

Да

Да

Да

Устаревшая версия сервиса

503 Service Unavailable

Если API устарел и больше не поддерживается ППД, его путь URI все еще может быть активным и принимать запросы. В этом контексте рекомендуется вернуть 503 Service Unavailable, чтобы СППД знал, что версия API находится в офлайн-режиме

Да

Да

Да

Да

ППД может возвращать другие стандартные коды состояния HTTP (например, от шлюзов и других периферийных устройств), как описано в RFC 7231 (Раздел 6).

ППД должны отвечать на все некорректные запросы общей структурой ошибок Открытых банковских интерфейсов.