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