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

Материал из SmartSatu Knowledge Base
Перейти к навигации Перейти к поиску
Метки: правка из мобильной версии, правка с мобильного устройства
 
(не показаны 24 промежуточные версии этого же участника)
Строка 2: Строка 2:
  
 
==Обзор==
 
==Обзор==
Данный документа описывает методы для работы поставщика/дистрибьютора с системой 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".
 +
 
 +
Далее на стороне сервера происходит валидация данных пользователя. В случае корректности данных сервер выдает JSON-тело ответа, которое содержит данные пользователя с уникальным токеном авторизации, который в дальнейшем будет использоваться в каждом последующем запросе к системе Smart Satu.
 +
 
 +
'''Версия'''
  
Версия
 
 
''Version'': 1.0.0
 
''Version'': 1.0.0
  
Контактная информация
+
'''Контактная информация'''
  
 
''Contact'': [[info@smartsatu.com]]
 
''Contact'': [[info@smartsatu.com]]
  
URI схема
+
'''URI схема'''
''Host : //smartsatu.com/api/user/  Schemes : HTTPS''
+
 
 +
''Host : //login.smartsatu.com/api/user/login  Schemes : HTTPS''
  
 
==Методы==
 
==Методы==
Авторизация пользователя.
+
'''Авторизация пользователя'''
  
POST /login 
+
POST /api/user/login 
  
 
===Описание===
 
===Описание===
Метод для авторизации пользователя в системе Smart Satu
+
Метод для авторизации пользователя в системе Smart Satu.
 +
 
 +
Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu. В ответ на запрос авторизации приходит параметр - access_token_expiration_time, который в себе содержит unixtime время, когда токен станет недействителен. Порядок работы с токеном выглядит следующим образом:
 +
# После получения токена необходимо сохранить время его истечения.
 +
# Перед каждым запросом нужно проводить проверку, чтобы текущее время было меньше времени истечения жизни токена.
 +
# В противном случае нужно отправить запрос на авторизацию и следовать пунктам №№ 1 и 2.
 +
 
 
===Параметры===
 
===Параметры===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 46: Строка 57:
 
| 200
 
| 200
 
| Ok
 
| Ok
| TEst
+
| [http://docs.smartsatu.com/wiki/%D0%90%D0%9F%D0%98#Login_Response Login Response]
 
|}
 
|}
  
Строка 53: Строка 64:
 
'''Возвращаемые ресурсом типы MIME'''
 
'''Возвращаемые ресурсом типы MIME'''
 
*application/json
 
*application/json
 +
 
==Определения==
 
==Определения==
 
===Login===
 
===Login===
 +
Для авторизации необходимо воспользоваться выданным логином и паролем для системы заказов Smart Satu.
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="font-weight:bold;" | Name
 
! style="font-weight:bold;" | Name
Строка 61: Строка 74:
 
! style="font-weight:bold;" | Example
 
! style="font-weight:bold;" | Example
 
|-
 
|-
| style="font-weight:bold;" | login
+
| style="font-weight:bold;" | username
 
| Логин
 
| Логин
 
| string
 
| string
Строка 70: Строка 83:
 
| string
 
| string
 
| qwerty
 
| 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
Строка 155: Строка 174:
 
| Количество нолей после разделителя
 
| Количество нолей после разделителя
 
| string
 
| string
| 0
+
| 2
 
|-
 
|-
 
| style="font-weight:bold;" | price_radix
 
| style="font-weight:bold;" | price_radix
Строка 175: Строка 194:
 
| Паттерн цены
 
| Паттерн цены
 
| string
 
| string
| ### ### тг
+
| ### ###.## тг
 
|-
 
|-
 
| style="font-weight:bold;" | cashback_enabled
 
| style="font-weight:bold;" | cashback_enabled
Строка 186: Строка 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
Строка 200: Строка 229:
 
| URL
 
| URL
 
| string
 
| string
| https://food.smartsatu.xyz/api
+
| https://food.smartsatu.com/api
 
|}
 
|}
  
 
Пример ответа:
 
Пример ответа:
 
+
 
  {
 
  {
 
  "id": 132,
 
  "id": 132,
Строка 220: Строка 249:
 
  "is_replacement": false,
 
  "is_replacement": false,
 
  "currency": "тг",
 
  "currency": "тг",
  "price_decimals": 0,
+
  "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.xyz/api"
+
  "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"
}