Аутентификация и авторизация (API версия 2)/uk: различия между версиями
(Новая страница: «Обов'язково надсилайте заголовок '''''Content-Type''''': <pre> Content-Type: application/json </pre>») |
(Новая страница: «з якого необхідно витягти поля<br> '''''token''''' – токен, буде потрібно для авторизації при вик...») |
||
| Строка 15: | Строка 15: | ||
'''''Email''''' - логін користувача <br> | '''''Email''''' - логін користувача <br> | ||
'''''Password''''' - пароль користувача <br> | '''''Password''''' - пароль користувача <br> | ||
'''''Browser_fingerprint''''' - підпис браузера, для API використовуйте будь-яку унікальну | '''''Browser_fingerprint''''' - підпис браузера, для API використовуйте будь-яку унікальну строку довжиною не більше 128 символів. Ми, наприклад, використовуємо хеш md5();<br> | ||
| Строка 86: | Строка 86: | ||
== Оновлення простроченого token-у == | == Оновлення простроченого token-у == | ||
У разі закінчення терміну дії token-а, ви отримаєте таку відповідь | |||
* Status Code: 401 Unauthorized | * Status Code: 401 Unauthorized | ||
* Body: | * Body: | ||
| Строка 96: | Строка 95: | ||
} | } | ||
</pre> | </pre> | ||
Для | |||
Для поновлення значення простроченого 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''''', отриманий раніше: | |||
<pre> | <pre> | ||
{ | { | ||
| Строка 107: | Строка 107: | ||
} | } | ||
</pre> | </pre> | ||
Де:<br> | |||
'''''refresh_token''''' – рефреш токен отриманий раніше.<br> | |||
'''''refresh_token''''' – рефреш токен | '''''browser_fingerprint''''' – підпис браузера, строка повинна бути аналогічна тій яка використовувалася при авторизації.<br> | ||
'''''browser_fingerprint''''' – | |||
На відправлений запит буде отримана відповідь в json-форматі: | |||
На | |||
<pre> | <pre> | ||
{ | { | ||
| Строка 124: | Строка 120: | ||
} | } | ||
</pre> | </pre> | ||
При | При відсутності або вказівці невірного значення '''''refresh_token''''', ви отримаєте таку відповідь | ||
* Status Code: 401 Unauthorized | * Status Code: 401 Unauthorized | ||
* Body: | * Body: | ||
| Строка 136: | Строка 132: | ||
} | } | ||
</pre> | </pre> | ||
Версия 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"
}
}