Page History
...
В запросе необходимо передать HTTP-заголовок Authorization:
Bearer <token>, где <token> — токен доступа.
Для получения токена доступа необходимо использовать сервис https://<server-name>/api/v1/auth/login.cfm с указанием audience="POS" и components="ws/cancelbynumber".
Для получения токена с возможностью отказа от платежа у пользователя должны быть права на отказ от платежа (Web Services -> Отмена по номеру заказа). Если прав недостаточно, то при попытке получить токены с audience="POS" будет получен ответ:
Code Block | ||
---|---|---|
| ||
{"faultcode":"159","faultstring":"no scopes"} |
Пример запроса
Code Block | ||
---|---|---|
| ||
POST https://<server-name>/api/v1/order/cancel.cfm
headers: [Authorization: Bearer eyJraWQiOiIwYWZlZTE0Mi1hMGFmLTQ0MTAtYWJjY...65s0sKKV1TefvGecmFbCqizljU4toyROW54f0Y, Content-type: application/json]
Body:
{
"merchant_id": "123456",
"ordernumber": "dd2"
} |
Выходные параметры
При успешном изменении статуса заказа сервис вернет новый статус заказа со значением Declined:
Code Block | ||
---|---|---|
| ||
{"cancel": {"orderstate": "Declined"}} |
В остальных случаях сервис вернет соответствующие ошибки:
- при попытке отменить заказ в статусе, отличном от статуса "In Process":
Code Block | ||
---|---|---|
| ||
{"fault": {"faultcode": 15,"faultstring": 146}} |
- при попытке вызвать сервис без права "Отмена по номеру заказа" у пользователя:
Code Block | ||
---|---|---|
| ||
{"fault": {"faultcode": 2,"faultstring": 0}} |
- при попытке отменить несуществующий заказ:
Code Block | ||
---|---|---|
| ||
{"fault": {"faultcode": 10,"faultstring": 201}} |
Получение токенов доступа
Сервис предназначен для получения токенов доступа. Если на момент запроса уже имеются активные токены доступа, то они будут возвращены в ответе. Сам JWT-токен будет обновлен, так как он включает новую дату выдачи.
Для обращения к веб-сервису необходимо отправить запрос (методом POST с content-type application/json) на сервер ASSIST по адресу: https://<SERVER-NAME>/api/v1/auth/login.cfm.
Входные параметры сервиса:
Параметр | Обязательный | Принимаемые значения | Значение по умолчанию | Описание |
login | Да | Строка | Логин пользователя | |
password | Да | Строка | Пароль пользователя | |
audience | Да | Строка | Область применения токена | |
components | Да | Строка | Компоненты доступа по токену |
Выходные параметры:
Название | Значение |
access_token | Токен доступа, используется для доступа к сервисам |
refresh_token | Токен обновления, используется для обновления токена доступа |
Пример запроса
Code Block | ||
---|---|---|
| ||
POST https://<SERVER-NAME>/api/v1/auth/login.cfm
headers: [Content-type: application/json]
content: {"Login":"***","Password":"***","audience":"POS", "components":"ws/cancelbynumber"} |
Пример ответа
Code Block | ||
---|---|---|
| ||
{
"access_token":"eyJraWQiOiIwYWZlZTE...HydFlTU",
"refresh_token":"eyJraWQiOiIwYWZlZT...nKTY9M"
} |
Обновление токена доступа
Для обращения к веб-сервису необходимо отправить запрос (методом POST с content-type application/json) на сервер ASSIST по адресу: https://<SERVER-NAME>/api/v1/auth/refresh.cfm
Входные параметры сервиса:
Параметр | Обязательный | Принимаемые значения | Значение по умолчанию | Описание |
refresh_token | Да | Строка | Токен обновления |
Выходные параметры:
Название | Значение |
access_token | Токен доступа, используется для доступа к сервисам |
refresh_token | Токен обновления, используется для обновления токена доступа |