API Authorization: различия между версиями
User (обсуждение | вклад) (→Login) |
User (обсуждение | вклад) (→Методы) Метки: правка из мобильной версии, правка с мобильного устройства |
||
(не показано 28 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
API Авторизации | API Авторизации | ||
− | Обзор | + | ==Обзор== |
− | Данный документа описывает | + | ''Данный документа описывает метод авторизации поставщика/дистрибьютора в системе Smart Satu.'' |
− | + | Авторизация пользователя в систему Smart Satu происходит путем отправки POST-запроса с логином и паролем пользователя в JSON-теле по URL: https://food.smartsatu.com/api/users/login. Headers в данном запросе не могут быть пустыми и должны содержать: "content-type: application/json; charset=utf-8" и "country: ru". | |
− | |||
− | + | Далее на стороне сервера происходит валидация данных пользователя. В случае корректности данных сервер выдает JSON-тело ответа, которое содержит данные пользователя с уникальным токеном авторизации, который в дальнейшем будет использоваться в каждом последующем запросе к системе Smart Satu. | |
− | + | '''Версия''' | |
− | + | ''Version'': 1.0.0 | |
− | |||
− | + | '''Контактная информация''' | |
+ | ''Contact'': [[info@smartsatu.com]] | ||
− | + | '''URI схема''' | |
− | + | ''Host : //login.smartsatu.com/api/user/login Schemes : HTTPS'' | |
− | + | ==Методы== | |
+ | '''Авторизация пользователя''' | ||
− | + | POST /api/user/login | |
+ | ===Описание=== | ||
+ | Метод для авторизации пользователя в системе Smart Satu. | ||
+ | |||
+ | Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu. В ответ на запрос авторизации приходит параметр - access_token_expiration_time, который в себе содержит unixtime время, когда токен станет недействителен. Порядок работы с токеном выглядит следующим образом: | ||
+ | # После получения токена необходимо сохранить время его истечения. | ||
+ | # Перед каждым запросом нужно проводить проверку, чтобы текущее время было меньше времени истечения жизни токена. | ||
+ | # В противном случае нужно отправить запрос на авторизацию и следовать пунктам №№ 1 и 2. | ||
+ | |||
+ | ===Параметры=== | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Строка 35: | Строка 44: | ||
| '''body''' ''required'' | | '''body''' ''required'' | ||
| Авторизация пользователя | | Авторизация пользователя | ||
− | | | + | | [http://docs.smartsatu.com/wiki/%D0%90%D0%9F%D0%98#Login Login] |
|} | |} | ||
− | Ответы | + | ===Ответы=== |
{| class="wikitable" | {| class="wikitable" | ||
Строка 48: | Строка 57: | ||
| 200 | | 200 | ||
| Ok | | Ok | ||
− | | | + | | [http://docs.smartsatu.com/wiki/%D0%90%D0%9F%D0%98#Login_Response Login Response] |
|} | |} | ||
Строка 55: | Строка 64: | ||
'''Возвращаемые ресурсом типы MIME''' | '''Возвращаемые ресурсом типы MIME''' | ||
*application/json | *application/json | ||
+ | |||
==Определения== | ==Определения== | ||
===Login=== | ===Login=== | ||
+ | Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu. | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | username | ||
+ | | Логин | ||
+ | | string | ||
+ | | supplier | ||
+ | |- | ||
+ | | style="font-weight:bold;" | password | ||
+ | | Пароль | ||
+ | | string | ||
+ | | qwerty | ||
+ | |- | ||
+ | | style="font-weight:bold;" | direction | ||
+ | | Идентификатор сервера | ||
+ | | string | ||
+ | | food (Запросить у Smart Satu) | ||
+ | |} | ||
+ | |||
+ | Пример запроса: | ||
+ | |||
+ | { | ||
+ | "username" : "supplier", | ||
+ | "password" : "qwerty", | ||
+ | "direction" : "food" | ||
+ | } | ||
+ | ===Login Response=== | ||
+ | В ответ на запрос придет массив данных зарегистрированного пользователя с уникальным токином авторизации - "access_token". | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Уникальный идентификатор | ||
+ | | string | ||
+ | | 132 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | email | ||
+ | | Почта | ||
+ | | string | ||
+ | | daulet@smartsatu.kz | ||
+ | |- | ||
+ | | style="font-weight:bold;" | phone | ||
+ | | Номер телефона | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | username | ||
+ | | Логин | ||
+ | | string | ||
+ | | supplier | ||
+ | |- | ||
+ | | style="font-weight:bold;" | first_name | ||
+ | | Имя | ||
+ | | string | ||
+ | | Иван | ||
+ | |- | ||
+ | | style="font-weight:bold;" | last_name | ||
+ | | Фамилия | ||
+ | | string | ||
+ | | Иванов | ||
+ | |- | ||
+ | | style="font-weight:bold;" | middle_name | ||
+ | | Отчество | ||
+ | | string | ||
+ | | Иванович | ||
+ | |- | ||
+ | | style="font-weight:bold;" | access_token | ||
+ | | Уникальный токен для входа | ||
+ | | string | ||
+ | | bkoUdBoAd1_jlIjwcMfttTNlH15y3Rnd | ||
+ | |- | ||
+ | | style="font-weight:bold;" | role | ||
+ | | Роль | ||
+ | | string | ||
+ | | 2 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | city_id | ||
+ | | Город | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | is_document | ||
+ | | Лицензия | ||
+ | | boolean | ||
+ | | true | ||
+ | |- | ||
+ | | style="font-weight:bold;" | is_replacement | ||
+ | | Доступность обмена | ||
+ | | boolean | ||
+ | | false | ||
+ | |- | ||
+ | | style="font-weight:bold;" | currency | ||
+ | | Валюта | ||
+ | | string | ||
+ | | тг | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_decimals | ||
+ | | Количество нолей после разделителя | ||
+ | | string | ||
+ | | 2 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_radix | ||
+ | | Разделитель разрядов | ||
+ | | string | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_decimals_separator | ||
+ | | Разделитель | ||
+ | | string | ||
+ | | . | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_before_currency | ||
+ | | Порядок показа валюты/цены | ||
+ | | boolean | ||
+ | | true | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_pattern | ||
+ | | Паттерн цены | ||
+ | | string | ||
+ | | ### ###.## тг | ||
+ | |- | ||
+ | | style="font-weight:bold;" | cashback_enabled | ||
+ | | Доступность кэшбэка | ||
+ | | boolean | ||
+ | | true | ||
+ | |- | ||
+ | | style="font-weight:bold;" | company_id | ||
+ | | Идентификатор компании | ||
+ | | string | ||
+ | | 84 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | access_token_expiration_time | ||
+ | | Время действия токена доступа | ||
+ | | string | ||
+ | | 1579535438 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | time_zone_offset | ||
+ | | Часовой пояс пользователя | ||
+ | | string | ||
+ | | 21600 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | country | ||
+ | | Страна | ||
+ | | string | ||
+ | | kz | ||
+ | |- | ||
+ | | style="font-weight:bold;" | direction | ||
+ | | Стейджинг | ||
+ | | string | ||
+ | | Food | ||
+ | |- | ||
+ | | style="font-weight:bold;" | url_api | ||
+ | | URL | ||
+ | | string | ||
+ | | https://food.smartsatu.com/api | ||
+ | |} | ||
− | { | + | Пример ответа: |
− | "id": 132, | + | |
− | "email": "daulet@smartsatu.kz", | + | { |
− | "phone": null, | + | "id": 132, |
− | "username": "vendoralmaty", | + | "email": "daulet@smartsatu.kz", |
− | "first_name": "Иван", | + | "phone": null, |
− | "last_name": "Иванов", | + | "username": "vendoralmaty", |
− | "middle_name": "Иванович", | + | "first_name": "Иван", |
− | "access_token": "bkoUdBoAd1_jlIjwcMfttTNlH15y3Rnd", | + | "last_name": "Иванов", |
− | "role": 2, | + | "middle_name": "Иванович", |
− | "status": 1, | + | "access_token": "bkoUdBoAd1_jlIjwcMfttTNlH15y3Rnd", |
− | "city_id": 1, | + | "role": 2, |
− | "is_document": true, | + | "status": 1, |
− | "is_replacement": false, | + | "city_id": 1, |
− | "currency": "тг", | + | "is_document": true, |
− | "price_decimals": | + | "is_replacement": false, |
− | "price_radix": " ", | + | "currency": "тг", |
− | "price_decimals_separator": ".", | + | "price_decimals": 2, |
− | "price_before_currency": true, | + | "price_radix": " ", |
− | "price_pattern": "### ### | + | "price_decimals_separator": ".", |
− | "cashback_enabled": true, | + | "price_before_currency": true, |
− | "company_id": 84, | + | "price_pattern": "### ###.## тг", |
− | "country": "kz", | + | "cashback_enabled": true, |
− | "direction": "Food", | + | "company_id": 84, |
− | "url_api": "https://food.smartsatu. | + | "access_token_expiration_time": 1579535438, |
− | } | + | "time_zone_offset": 21600 |
+ | "country": "kz", | ||
+ | "direction": "Food", | ||
+ | "url_api": "https://food.smartsatu.com/api" | ||
+ | } |
Текущая версия на 02:51, 17 февраля 2024
API Авторизации
Содержание
Обзор
Данный документа описывает метод авторизации поставщика/дистрибьютора в системе Smart Satu.
Авторизация пользователя в систему Smart Satu происходит путем отправки POST-запроса с логином и паролем пользователя в JSON-теле по URL: https://food.smartsatu.com/api/users/login. Headers в данном запросе не могут быть пустыми и должны содержать: "content-type: application/json; charset=utf-8" и "country: ru".
Далее на стороне сервера происходит валидация данных пользователя. В случае корректности данных сервер выдает JSON-тело ответа, которое содержит данные пользователя с уникальным токеном авторизации, который в дальнейшем будет использоваться в каждом последующем запросе к системе Smart Satu.
Версия
Version: 1.0.0
Контактная информация
Contact: info@smartsatu.com
URI схема
Host : //login.smartsatu.com/api/user/login Schemes : HTTPS
Методы
Авторизация пользователя
POST /api/user/login
Описание
Метод для авторизации пользователя в системе Smart Satu.
Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu. В ответ на запрос авторизации приходит параметр - access_token_expiration_time, который в себе содержит unixtime время, когда токен станет недействителен. Порядок работы с токеном выглядит следующим образом:
- После получения токена необходимо сохранить время его истечения.
- Перед каждым запросом нужно проводить проверку, чтобы текущее время было меньше времени истечения жизни токена.
- В противном случае нужно отправить запрос на авторизацию и следовать пунктам №№ 1 и 2.
Параметры
Type | Name | Description | Schema |
---|---|---|---|
Body | body required | Авторизация пользователя | Login |
Ответы
HTTP Code | Description | Schema |
---|---|---|
200 | Ok | Login Response |
Принимаемые ресурсом типы MIME
- application/json
Возвращаемые ресурсом типы MIME
- application/json
Определения
Login
Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu.
Name | Description | Schema | Example |
---|---|---|---|
username | Логин | string | supplier |
password | Пароль | string | qwerty |
direction | Идентификатор сервера | string | food (Запросить у Smart Satu) |
Пример запроса:
{ "username" : "supplier", "password" : "qwerty", "direction" : "food" }
Login Response
В ответ на запрос придет массив данных зарегистрированного пользователя с уникальным токином авторизации - "access_token".
Name | Description | Schema | Example |
---|---|---|---|
id | Уникальный идентификатор | string | 132 |
Почта | string | daulet@smartsatu.kz | |
phone | Номер телефона | string | null |
username | Логин | string | supplier |
first_name | Имя | string | Иван |
last_name | Фамилия | string | Иванов |
middle_name | Отчество | string | Иванович |
access_token | Уникальный токен для входа | string | bkoUdBoAd1_jlIjwcMfttTNlH15y3Rnd |
role | Роль | string | 2 |
city_id | Город | string | 1 |
is_document | Лицензия | boolean | true |
is_replacement | Доступность обмена | boolean | false |
currency | Валюта | string | тг |
price_decimals | Количество нолей после разделителя | string | 2 |
price_radix | Разделитель разрядов | string | |
price_decimals_separator | Разделитель | string | . |
price_before_currency | Порядок показа валюты/цены | boolean | true |
price_pattern | Паттерн цены | string | ### ###.## тг |
cashback_enabled | Доступность кэшбэка | boolean | true |
company_id | Идентификатор компании | string | 84 |
access_token_expiration_time | Время действия токена доступа | string | 1579535438 |
time_zone_offset | Часовой пояс пользователя | string | 21600 |
country | Страна | string | kz |
direction | Стейджинг | string | Food |
url_api | URL | string | https://food.smartsatu.com/api |
Пример ответа:
{ "id": 132, "email": "daulet@smartsatu.kz", "phone": null, "username": "vendoralmaty", "first_name": "Иван", "last_name": "Иванов", "middle_name": "Иванович", "access_token": "bkoUdBoAd1_jlIjwcMfttTNlH15y3Rnd", "role": 2, "status": 1, "city_id": 1, "is_document": true, "is_replacement": false, "currency": "тг", "price_decimals": 2, "price_radix": " ", "price_decimals_separator": ".", "price_before_currency": true, "price_pattern": "### ###.## тг", "cashback_enabled": true, "company_id": 84, "access_token_expiration_time": 1579535438, "time_zone_offset": 21600 "country": "kz", "direction": "Food", "url_api": "https://food.smartsatu.com/api" }