Авторизация в АСНА REST API⚓︎
АСНА REST API поддерживает авторизацию на основе JWT токенов.
Для обращения к любому из ресурсов АСНА REST API требуется наличие JWT токена в заголовке Authorization HTTP запроса, с типом Bearer. При отсутствии токена API вернет 401
статус (Unauthorized), этот же статус вернется в случае, если время действия токена закончилось (токен выдается на определенное время). В обоих случаях нужно запросить новый токен.
1 2 3 4 5 |
|
Получение токена⚓︎
Для выполнения запросов к API, необходимо получить JWT токен от службы единой авторизации облачных сервисов АСНА, расположенной по адресу https://sso.asna.cloud:5000
/connect/token
Описание⚓︎
Получение авторизационного токена
Параметры запроса⚓︎
Параметры этого запроса передаются в теле запроса, см. пример запроса
Имя | Обяз. | Описание |
---|---|---|
client_id | Идентификатор аптеки по справочнику АСНА | |
client_secret | Пароль аптеки, полученный от службы техподдержки или клиентского маркетинга | |
grant_type | Тип авторизации. В данном случае всегда client_credentials |
Заголовки запроса⚓︎
Имя | Описание |
---|---|
Content-Type | Должно иметь значение application/x-www-form-urlencoded |
Пример запроса⚓︎
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 8 9 |
|
1 |
|
Успешный ответ⚓︎
HTTP cтатус | Значение |
---|---|
200 | ОК. Запрос к сервису авторизации прошел успешно, в теле ответа содержится JSON с информацией о выданном токене. |
Пример ответа⚓︎
1 2 3 4 5 |
|
Неуспешный ответ⚓︎
HTTP статус | Значение |
---|---|
400 | Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа. Например, при отсутствии аптеки с таким идентификатором выдается invalid_client |
500 | Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса |
Порядок выполнения авторизации на сервисах API⚓︎
- Получаем токен на сервере авторизации
-
Полученный токен (берется из поля access_token ответа от службы единой авторизации) сохраняется клиентским ПО и используется для запросов к API.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
POST /v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/stocks HTTP/1.1 Host: api.asna.cloud Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE4MTIzNzUsImV4cCI6MTQ5MTgxNTk3NSwiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.FNHlxnnNQJ5dCVZI31UdpRTYKvioWdd4ixKMTHYHw2YH4jrMku24VAuvo5jY5Vv4NuhgR9BaVa57xjwfym1RzZBTgPC40usszyDz1RGnxSX0gemg6yiECCoXvwkfB88dtAcYqm7zIrJab3OIc6dHJq87Yum2y0hA4estaIgDPabPQYCGCtBWm4Z6cbVXbHaZqsktAGGDGwUd0E8R3NvPsFuBwuWtwRAoMEb9qmIAx292vidNi8l6Q6uxZfIYCCoOjt1Cr9ToVRa0bEqEuk1tcnhmWdYdsX151UgpgSk9uLaW8rgV9R-XdKU2sKBVjvM2tQevwN_jHoP-fIHiDkrJEQ Content-Type: application/json Accept: application/json Cache-Control: no-cache { "date":"2017-03-30T05:23:59.3021523+00:00", "stocks":[ { "prtId":"3c1aefcb-ecef-495b-b111-12ed420d78ca", "nnt":55310, "sku":"360715", "qnt":8, "doc":"№610535", "supInn":"3673614100", "supId":"197384c4-285b-4d52-912e-a2507ea2e296", "supDate":"2017-03-18T21:04:52.4770438+00:00", "nds":18, "gnvls":true, "dp":true, "man":"Ferry Inc", "series":"xu7a1a8m8lj4", "exp":"2020-02-08T00:00:00+00:00", "prcMan":787.38, "prcOpt":883.23, "prcRet":1137.53, "prcReestr":1327.25, "sumOpt":5988, "sumOptNds":7065.84, "mrGnvls":6.12, "tag":3 } ] }
-
При получении от API статуса
401
(Unauthorized), т.е. по истечении срока годности токена, токен запрашивается повторно
Схема авторизации⚓︎
Созданный: 5 августа 2021 г. 12:36:05