Аутентификация и авторизация (API версия 2): различия между версиями
(Новая страница: «<languages/> <translate> <!--T:1--> Для получения доступа к API, необходимо выполнить вход в свою учетную...») |
|||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 21: | Строка 21: | ||
<!--T:2--> | |||
Обязательно отправляйте заголовок '''''Content-Type''''': | Обязательно отправляйте заголовок '''''Content-Type''''': | ||
<pre> | <pre> | ||
Строка 27: | Строка 28: | ||
<!--T:3--> | |||
На отправленный запрос будет получен ответ в json-формате: | На отправленный запрос будет получен ответ в json-формате: | ||
<pre> | <pre> | ||
Строка 36: | Строка 38: | ||
</pre> | </pre> | ||
<!--T:4--> | |||
из которого необходимо извлечь поля<br> | из которого необходимо извлечь поля<br> | ||
'''''token''''' – токен, потребуется для авторизации при выполнении последующих запросов, имеет срок действия<br> | '''''token''''' – токен, потребуется для авторизации при выполнении последующих запросов, имеет срок действия<br> | ||
'''''refresh_token''''' – токен, который потребуется потребуется для последующего обновления поля token, после окончания его срока действия<br><br> | '''''refresh_token''''' – токен, который потребуется потребуется для последующего обновления поля token, после окончания его срока действия<br><br> | ||
<!--T:5--> | |||
Например, для поиска детали по артикулу OC90, посылаем следующий запрос: | Например, для поиска детали по артикулу OC90, посылаем следующий запрос: | ||
<pre> | <pre> | ||
Строка 46: | Строка 50: | ||
добавив при этом в headers<br> | добавив при этом в headers<br> | ||
<pre> | <pre> | ||
Authorization: Bearer eyJ0eXAiOiJKV1Q... | Authorization: Bearer eyJ0eXAiOiJKV1Q... | ||
</pre> | </pre> | ||
Где в '''''Authorization''''' после ключевого слова Bearer нужно передать полученный выше '''''token'''''. | Где в '''''Authorization''''' после ключевого слова Bearer нужно передать полученный выше '''''token'''''. | ||
Строка 52: | Строка 56: | ||
== Ошибка аутентификации == | == Ошибка аутентификации == <!--T:6--> | ||
<!--T:7--> | |||
В случае указания неправильного имени пользователя или пароля, вы получите следующий ответ | В случае указания неправильного имени пользователя или пароля, вы получите следующий ответ | ||
* Status Code: | * Status Code: 412 Precondition Failed | ||
* Body: | * Body: | ||
<pre> | <pre> | ||
{ | { | ||
"code": | "code": 412, | ||
"message": | "message": "Некорректные данные пользователя. Проверьте корректность введенных данных и повторите попытку." | ||
} | } | ||
</pre> | </pre> | ||
Строка 85: | Строка 87: | ||
</pre> | </pre> | ||
== Обновление просроченного token-а == <!--T:8--> | |||
<!--T:9--> | |||
В случае окончания срока действия token-а, вы получите следующий ответ | В случае окончания срока действия token-а, вы получите следующий ответ | ||
* Status Code: 401 Unauthorized | * Status Code: 401 Unauthorized | ||
Строка 110: | Строка 111: | ||
</pre> | </pre> | ||
<!--T:10--> | |||
Где:<br> | Где:<br> | ||
'''''refresh_token''''' – рефреш токен полученный ранее.<br> | '''''refresh_token''''' – рефреш токен полученный ранее.<br> | ||
'''''browser_fingerprint''''' – подпись браузера, строка должна быть аналогичная той которая использовалась при авторизации.<br> | '''''browser_fingerprint''''' – подпись браузера, строка должна быть аналогичная той которая использовалась при авторизации.<br> | ||
<!--T:11--> | |||
На отправленный запрос будет получен ответ в json-формате: | На отправленный запрос будет получен ответ в json-формате: | ||
<pre> | <pre> |
Текущая версия на 08:03, 6 февраля 2024
Для получения доступа к API, необходимо выполнить вход в свою учетную запись, выполнив POST запрос на URI
https://order24-api.utr.ua/api/login_check
Передав в теле запроса логин, пароль и подпись браузера, например:
{ "email":"[email protected]", "password":"mysecretpassword", "browser_fingerprint": "some-unique-key-here" }
Где:
email – логин пользователя
password – пароль пользователя
browser_fingerprint – подпись браузера, для API используйте любую уникальную строку длиной не более 128 символов. Мы, например, используем хеш md5();
Обязательно отправляйте заголовок Content-Type:
Content-Type: application/json
На отправленный запрос будет получен ответ в json-формате:
{ "token": "eyJ0eXAiOiJKV1Q...", "expires_at": "2020-01-17 15:04:50", "refresh_token": "2a3bb84af9a3..." }
из которого необходимо извлечь поля
token – токен, потребуется для авторизации при выполнении последующих запросов, имеет срок действия
refresh_token – токен, который потребуется потребуется для последующего обновления поля token, после окончания его срока действия
Например, для поиска детали по артикулу OC90, посылаем следующий запрос:
https://order24-api.utr.ua/api/search/oc90
добавив при этом в headers
Authorization: Bearer eyJ0eXAiOiJKV1Q...
Где в Authorization после ключевого слова Bearer нужно передать полученный выше token.
Ошибка аутентификации
В случае указания неправильного имени пользователя или пароля, вы получите следующий ответ
- Status Code: 412 Precondition Failed
- Body:
{ "code": 412, "message": "Некорректные данные пользователя. Проверьте корректность введенных данных и повторите попытку." }
В случае отсутствия Authorization или отсутствия ключевого слова Bearer, вы получите следующий ответ
- Status Code: 401 Unauthorized
- Body:
{ "code": 401, "message": "JWT Token not found" }
В случае указания неправильного Authorization вы получите следующий ответ
- Status Code: 401 Unauthorized
- Body:
{ "code": 401, "message": "Invalid JWT Token" }
Обновление просроченного token-а
В случае окончания срока действия token-а, вы получите следующий ответ
- Status Code: 401 Unauthorized
- Body:
{ "code": 401, "message": "Expired JWT Token" }
Для обновления значения просроченного token-а необходимо выполнить запрос POST запрос на URI
https://order24-api.utr.ua/api/token/refresh
передав в теле запроса значение refresh_token, полученный ранее:
{ "refresh_token": "2a3bb84af9a3...", "browser_fingerprint": "some-unique-key-here" }
Где:
refresh_token – рефреш токен полученный ранее.
browser_fingerprint – подпись браузера, строка должна быть аналогичная той которая использовалась при авторизации.
На отправленный запрос будет получен ответ в json-формате:
{ "token": "eyJ0eXAiOiJKV1Q...", "expires_at": "2020-01-17 15:14:50", "refresh_token": "2a3bb84af9a3..." }
При отсутствии или указании неверного значения refresh_token, вы получите следующий ответ
- Status Code: 401 Unauthorized
- Body:
{ "code": 401, "message": { "status": "401 Unauthorized", "message": "Bad credentials, please verify that your login/password are correctly set" } }