Формат ответа

Ответ сервиса представляет собой JSON-документ в кодировке UTF-8, см. The application/json Media Type for JavaScript Object Notation (JSON) и официальный сайт JSON. Содержимое документа зависит от результата выполнения запроса.

Пример ответа в случае успешного выполнения:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 51
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-Control: no-cache

{
    "param1":"value1",
    "param2":"value2"
}

В ответе платежных методов присутствуют HTTP-заголовки, запрещающие прокси-серверам и локальным браузерам кэшировать содержимое.

Совет. В ответе могут также присутствовать поля, не описанные в настоящем протоколе. Приложению следует их игнорировать.

При отказе в авторизации сервер отвечает HTTP-кодом 4xx. Возможные причины отказа:

  • запрос невозможно разобрать;
  • в запросе отсутствует HTTP-заголовок Authorization;
  • в заголовке Authorization указан несуществующий, некорректный или просроченный токен;
  • запрошена операция, на которую у токена нет прав.

Ответ содержит заголовок WWW-Authenticate (согласно стандарту The OAuth 2.0 Authorization Framework: Bearer Token Usage).

При отказе в авторизации запроса в ответе присутствуют следующие поля:

Поле Описание
error Код причины отказа в авторизации.
error_description Дополнительное текстовое описание причины отказа.

Коды причины отказа в авторизации:

HTTP-код ответа Значение поля error Описание
400 invalid_request Формат HTTP-запроса не соответствует протоколу. Запрос невозможно разобрать, либо заголовок Authorization отсутствует, либо имеет некорректное значение.
401 invalid_token Указан несуществующий, просроченный, или отозванный токен.
403 insufficient_scope Запрошена операция, на которую у токена нет прав.

Пример ответа при отсутствующем заголовке:

HTTP/1.1 400 Bad Request
WWW-Authenticate: Bearer error="invalid_request"

Пример ответа при просроченном токене:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="invalid_token", error_description="The access token has expired"

Пример ответа в случае отсутствия у токена необходимых прав:

HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_scope", error_description="Платеж запрещен параметрами авторизации приложения"

В случае общей технической ошибки сервер возвращает HTTP-код 500 Internal Server Error. Приложению следует повторить запрос через некоторое время с теми же параметрами.