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

Материал из UniqTrade API
Перейти к навигации Перейти к поиску
(Новая страница: «Обов'язково надсилайте заголовок '''''Content-Type''''': <pre> Content-Type: application/json </pre>»)
 
(Новая страница: «з якого необхідно витягти поля<br> '''''token''''' – токен, буде потрібно для авторизації при вик...»)
Строка 15: Строка 15:
'''''Email''''' - логін користувача <br>
'''''Email''''' - логін користувача <br>
'''''Password''''' - пароль користувача <br>
'''''Password''''' - пароль користувача <br>
'''''Browser_fingerprint''''' - підпис браузера, для API використовуйте будь-яку унікальну рядок довжиною не більше 128 символів. Ми, наприклад, використовуємо хеш md5();<br>
'''''Browser_fingerprint''''' - підпис браузера, для API використовуйте будь-яку унікальну строку довжиною не більше 128 символів. Ми, наприклад, використовуємо хеш md5();<br>




Строка 86: Строка 86:
== Оновлення простроченого token-у ==
== Оновлення простроченого token-у ==


<div lang="ru" dir="ltr" class="mw-content-ltr">
У разі закінчення терміну дії token-а, ви отримаєте таку відповідь
В случае окончания срока действия token-а, вы получите следующий ответ 
* Status Code: 401 Unauthorized
* Status Code: 401 Unauthorized
* Body:
* Body:
Строка 96: Строка 95:
}
}
</pre>
</pre>
Для обновления значения просроченного token-а необходимо выполнить запрос POST запрос на URI  
 
Для поновлення значення простроченого token-а необхідно виконати запит POST запит на URI
<pre>
<pre>
https://order24-api.utr.ua/api/token/refresh
https://order24-api.utr.ua/api/token/refresh
</pre>
</pre>
передав в теле запроса значение  '''''refresh_token''''', полученный ранее:
передавши в тілі запиту значення '''''refresh_token''''', отриманий раніше:
<pre>
<pre>
{
{
Строка 107: Строка 107:
}
}
</pre>
</pre>
</div>


<div lang="ru" dir="ltr" class="mw-content-ltr">
Де:<br>
Где:<br>
'''''refresh_token''''' – рефреш токен отриманий раніше.<br>
'''''refresh_token''''' – рефреш токен полученный ранее.<br>
'''''browser_fingerprint''''' – підпис браузера, строка повинна бути аналогічна тій яка використовувалася при авторизації.<br>
'''''browser_fingerprint''''' – подпись браузера, строка должна быть аналогичная той которая использовалась при авторизации.<br>
</div>


<div lang="ru" dir="ltr" class="mw-content-ltr">
На відправлений запит буде отримана відповідь в json-форматі:
На отправленный запрос будет получен ответ в json-формате:
<pre>
<pre>
{
{
Строка 124: Строка 120:
}
}
</pre>
</pre>
При отсутствии или указании неверного значения '''''refresh_token''''', вы получите следующий ответ
При відсутності або вказівці невірного значення '''''refresh_token''''', ви отримаєте таку відповідь
* Status Code: 401 Unauthorized
* Status Code: 401 Unauthorized
* Body:
* Body:
Строка 136: Строка 132:
}
}
</pre>
</pre>
</div>

Версия 13:15, 4 июня 2021

Другие языки:
русский • ‎українська

Для отримання доступу до 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...<br>

Де в Authorization після ключового слова Bearer потрібно передати отриманий вище token.


Помилка аутентифікації

У разі зазначення неправильного імені користувача або пароля, ви отримаєте таку відповідь

  • Status Code: 401 Unauthorized
  • Body:
{
    "code": 401,
    "message": {
        "status": "401 Unauthorized",
        "message": "Bad credentials, please verify that your login/password are correctly set"
    }
}

У разі відсутності 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"
    }
}