Формат ответа
Ответ сервиса представляет собой 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 2019 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. Приложению следует повторить запрос через некоторое время с теми же параметрами.
Что почитать еще