Аутентификация и авторизация (API версия 2): различия между версиями

Материал из UniqTrade API
Перейти к навигации Перейти к поиску
(Новая страница: «<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...<br>
Authorization: Bearer eyJ0eXAiOiJKV1Q...
</pre>
</pre>
Где в '''''Authorization''''' после ключевого слова Bearer нужно передать полученный выше '''''token'''''.  
Где в '''''Authorization''''' после ключевого слова Bearer нужно передать полученный выше '''''token'''''.  
Строка 52: Строка 56:




== Ошибка аутентификации ==
== Ошибка аутентификации == <!--T:6-->


<!--T:7-->
В случае указания неправильного имени пользователя или пароля, вы получите следующий ответ
В случае указания неправильного имени пользователя или пароля, вы получите следующий ответ
* Status Code: 401 Unauthorized
* Status Code: 412 Precondition Failed
* Body:
* Body:
<pre>
<pre>
{
{
     "code": 401,
     "code": 412,
     "message": {
     "message": "Некорректные данные пользователя. Проверьте корректность введенных данных и повторите попытку."
        "status": "401 Unauthorized",
        "message": "Bad credentials, please verify that your login/password are correctly set"
    }
}
}
</pre>
</pre>
Строка 85: Строка 87:
</pre>
</pre>


== Обновление просроченного token-а == <!--T:8-->


 
<!--T:9-->
== Обновление просроченного token-а ==
 
В случае окончания срока действия 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"
    }
}