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