API Authorization: различия между версиями

Материал из SmartSatu Knowledge Base
Перейти к навигации Перейти к поиску
Метки: правка из мобильной версии, правка с мобильного устройства
 
(не показано 28 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
API Авторизации
 
API Авторизации
  
Обзор
+
==Обзор==
Данный документа описывает методы для работы поставщика/дистрибьютора с системой Smart Satu
+
''Данный документа описывает метод авторизации поставщика/дистрибьютора в системе Smart Satu.''
  
Версия
+
Авторизация пользователя в систему Smart Satu происходит путем отправки POST-запроса с логином и паролем пользователя в JSON-теле по URL: https://food.smartsatu.com/api/users/login. Headers в данном запросе не могут быть пустыми и должны содержать: "content-type: application/json; charset=utf-8" и "country: ru".
Version : 1.0.0
 
  
Контактная информация
+
Далее на стороне сервера происходит валидация данных пользователя. В случае корректности данных сервер выдает JSON-тело ответа, которое содержит данные пользователя с уникальным токеном авторизации, который в дальнейшем будет использоваться в каждом последующем запросе к системе Smart Satu.
  
Contact : [[info@smartsatu.com]]
+
'''Версия'''
  
URI схема
+
''Version'': 1.0.0
Host : //smartsatu.com/api/user/  Schemes : HTTPS
 
  
Методы
+
'''Контактная информация'''
  
 +
''Contact'': [[info@smartsatu.com]]
  
Авторизация пользователя.
+
'''URI схема'''
  
POST /login 
+
''Host : //login.smartsatu.com/api/user/login  Schemes : HTTPS''
  
Описание
+
==Методы==
 +
'''Авторизация пользователя'''
  
Метод для авторизации пользователя в системе Smart Satu
+
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''
 
| Авторизация пользователя
 
| Авторизация пользователя
| TEst
+
| [http://docs.smartsatu.com/wiki/%D0%90%D0%9F%D0%98#Login Login]
 
|}
 
|}
  
Ответы
+
===Ответы===
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 48: Строка 57:
 
| 200
 
| 200
 
| Ok
 
| Ok
| TEst
+
| [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": 0,
+
"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.xyz/api"
+
"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

Контактная информация

Contactinfo@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. Перед каждым запросом нужно проводить проверку, чтобы текущее время было меньше времени истечения жизни токена.
  3. В противном случае нужно отправить запрос на авторизацию и следовать пунктам №№ 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
email Почта 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"
}