Аутентификация и авторизация (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" } }