API Authorization: различия между версиями
User (обсуждение | вклад) |
User (обсуждение | вклад) (→Методы) Метки: правка из мобильной версии, правка с мобильного устройства |
||
| (не показано 26 промежуточных версий этого же участника) | |||
| Строка 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", | "username" : "supplier", | ||
| − | "password" : "qwerty" | + | "password" : "qwerty", |
| + | "direction" : "food" | ||
} | } | ||
| − | |||
===Login Response=== | ===Login Response=== | ||
| − | + | В ответ на запрос придет массив данных зарегистрированного пользователя с уникальным токином авторизации - "access_token". | |
{| class="wikitable" | {| class="wikitable" | ||
! style="font-weight:bold;" | Name | ! style="font-weight:bold;" | Name | ||
| Строка 141: | Строка 174: | ||
| Количество нолей после разделителя | | Количество нолей после разделителя | ||
| string | | string | ||
| − | | | + | | 2 |
|- | |- | ||
| style="font-weight:bold;" | price_radix | | style="font-weight:bold;" | price_radix | ||
| Строка 161: | Строка 194: | ||
| Паттерн цены | | Паттерн цены | ||
| string | | string | ||
| − | | ### ###& | + | | ### ###.## тг |
|- | |- | ||
| style="font-weight:bold;" | cashback_enabled | | style="font-weight:bold;" | cashback_enabled | ||
| Строка 172: | Строка 205: | ||
| string | | string | ||
| 84 | | 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 | | style="font-weight:bold;" | country | ||
| Строка 186: | Строка 229: | ||
| URL | | URL | ||
| string | | string | ||
| − | | https://food.smartsatu. | + | | https://food.smartsatu.com/api |
|} | |} | ||
Пример ответа: | Пример ответа: | ||
| − | + | ||
{ | { | ||
"id": 132, | "id": 132, | ||
| Строка 206: | Строка 249: | ||
"is_replacement": false, | "is_replacement": false, | ||
"currency": "тг", | "currency": "тг", | ||
| − | "price_decimals": | + | "price_decimals": 2, |
"price_radix": " ", | "price_radix": " ", | ||
"price_decimals_separator": ".", | "price_decimals_separator": ".", | ||
"price_before_currency": true, | "price_before_currency": true, | ||
| − | "price_pattern": "### ### | + | "price_pattern": "### ###.## тг", |
"cashback_enabled": true, | "cashback_enabled": true, | ||
"company_id": 84, | "company_id": 84, | ||
| + | "access_token_expiration_time": 1579535438, | ||
| + | "time_zone_offset": 21600 | ||
"country": "kz", | "country": "kz", | ||
"direction": "Food", | "direction": "Food", | ||
| − | "url_api": "https://food.smartsatu. | + | "url_api": "https://food.smartsatu.com/api" |
} | } | ||
Текущая версия на 01: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"
}