Инструкции Smart-Shop:API Smart-shop: различия между версиями

Материал из SmartWIKI

Нет описания правки
Нет описания правки
Строка 19: Строка 19:
</pre>
</pre>


===Ограничения===
=== Доступ ===
*Ограничение 1
В API предусмотрено два вида доступа:
*Ограничение 2
*Ограничение 3


===Доступы===
* '''Базовый доступ''' — передается информация о наличии товара со сроком более 1 дня, срок поставки в рабочих днях и ваша цена на товар.
* '''Расширенный доступ''' — включает данные базового доступа, а также информацию о товаре по классификации ETIM.
 
Для запроса доступа необходимо обратиться по адресу: <code>tishko@smart-shop.pro</code>.
Вам будет выдан постоянный токен для аутентификации в API.
 
== Аутентификация ==
 
Для работы с API необходимо получить временный Bearer-токен.
 
Запрос выполняется методом:
 
<pre>
POST /auth
</pre>
 
Параметры запроса:
 
{| class="wikitable"
! Параметр
! Описание
|-
| <code>token</code>
| Постоянный токен, выданный при предоставлении доступа к API
|}
 
Пример ответа:
 
<pre>
{
  "bearer_token": "XXX",
  "expires_at": "2024-01-01T00:00:00Z"
}
</pre>
 
Полученный <code>bearer_token</code> необходимо использовать для дальнейших запросов к API.
 
Временный токен действителен в течение 24 часов.
 
'''Важно:''' при повторном получении временного токена ранее выданный <code>bearer_token</code> становится недействительным.
 
== Получение информации о товарах ==
 
=== Получение остатков, цен и сроков поставки ===
 
Метод позволяет получить информацию по одному или нескольким товарам: остатки, цены и сроки поставки.
 
Запрос выполняется методом:
 
<pre>
POST /v1/get-item-with-stock-and-price
</pre>
 
Тело запроса:
 
<pre>
{
  "include_prices": 1,
  "items": [
    {
      "supplier_item_number": "77494",
      "brand": "КВТ"
    },
    {
      "supplier_item_number": "ЯЯС25256",
      "brand": "Узола"
    }
  ]
}
</pre>
 
Параметры тела запроса:
 
{| class="wikitable"
! Параметр
! Описание
|-
| <code>include_prices</code>
| Определяет, нужно ли возвращать цены. Цены возвращаются для резервации из наличия и для поставки под заказ.
|-
| <code>items</code>
| Массив товаров, по которым необходимо вернуть данные.
|-
| <code>supplier_item_number</code>
| Номер товара поставщика.
|-
| <code>brand</code>
| Бренд товара.
|}
 
Пример ответа:
 
<pre>
{
  "found_items": [
    {
      "supplier_item_number": "ABB123",
      "brand": "ABB",
      "unit": "шт.",
      "avaliable_ss": 21.99,
      "avaliable_vendor": 11,
      "delivery_time": 5,
      "prices": {
        "price_from_stock": 21.99,
        "price_from_vendor": 11
      }
    }
  ],
  "not_found_items": [
    {
      "supplier_item_number": "string",
      "brand": "string"
    }
  ]
}
</pre>
 
Поля ответа:
 
{| class="wikitable"
! Поле
! Описание
|-
| <code>found_items</code>
| Массив найденных товаров.
|-
| <code>not_found_items</code>
| Массив товаров, по которым данные не были найдены.
|-
| <code>supplier_item_number</code>
| Номер товара поставщика.
|-
| <code>brand</code>
| Бренд товара.
|-
| <code>unit</code>
| Единица измерения товара.
|-
| <code>avaliable_ss</code>
| Количество товара в наличии.
|-
| <code>avaliable_vendor</code>
| Количество товара, доступное под заказ у поставщика.
|-
| <code>delivery_time</code>
| Срок поставки в рабочих днях.
|-
| <code>prices</code>
| Объект с ценами товара.
|-
| <code>price_from_stock</code>
| Цена товара при резервации из наличия.
|-
| <code>price_from_vendor</code>
| Цена товара при поставке под заказ.
|}


[[Категория:Инструкции SS API]]
[[Категория:Инструкции SS API]]

Версия от 10:31, 14 мая 2026

Описание

API smart-shop.pro предназначено для автоматизированного обмена данными между вашей системой и каталогом Smart Shop. С его помощью вы можете получать актуальную информацию о товарах, остатках на складах и ценах без ручной выгрузки или обращения к менеджеру.

Данное техническое задание описывает основные принципы работы API, доступные методы, формат запросов и ответов, а также требования к авторизации и обработке данных. Документ предназначен для технических специалистов, которые будут выполнять интеграцию с сервисом smart-shop.pro.

Интеграция работает через стандартный HTTPS-протокол и описана с помощью Swagger.

Swagger

Формат обмена данными

API работает только с форматом данных JSON.

Все запросы, должны передаваться с заголовком:

Content-Type: application/json

Доступ

В API предусмотрено два вида доступа:

  • Базовый доступ — передается информация о наличии товара со сроком более 1 дня, срок поставки в рабочих днях и ваша цена на товар.
  • Расширенный доступ — включает данные базового доступа, а также информацию о товаре по классификации ETIM.

Для запроса доступа необходимо обратиться по адресу: tishko@smart-shop.pro. Вам будет выдан постоянный токен для аутентификации в API.

Аутентификация

Для работы с API необходимо получить временный Bearer-токен.

Запрос выполняется методом:

POST /auth

Параметры запроса:

Параметр Описание
token Постоянный токен, выданный при предоставлении доступа к API

Пример ответа:

{
  "bearer_token": "XXX",
  "expires_at": "2024-01-01T00:00:00Z"
}

Полученный bearer_token необходимо использовать для дальнейших запросов к API.

Временный токен действителен в течение 24 часов.

Важно: при повторном получении временного токена ранее выданный bearer_token становится недействительным.

Получение информации о товарах

Получение остатков, цен и сроков поставки

Метод позволяет получить информацию по одному или нескольким товарам: остатки, цены и сроки поставки.

Запрос выполняется методом:

POST /v1/get-item-with-stock-and-price

Тело запроса:

{
  "include_prices": 1,
  "items": [
    {
      "supplier_item_number": "77494",
      "brand": "КВТ"
    },
    {
      "supplier_item_number": "ЯЯС25256",
      "brand": "Узола"
    }
  ]
}

Параметры тела запроса:

Параметр Описание
include_prices Определяет, нужно ли возвращать цены. Цены возвращаются для резервации из наличия и для поставки под заказ.
items Массив товаров, по которым необходимо вернуть данные.
supplier_item_number Номер товара поставщика.
brand Бренд товара.

Пример ответа:

{
  "found_items": [
    {
      "supplier_item_number": "ABB123",
      "brand": "ABB",
      "unit": "шт.",
      "avaliable_ss": 21.99,
      "avaliable_vendor": 11,
      "delivery_time": 5,
      "prices": {
        "price_from_stock": 21.99,
        "price_from_vendor": 11
      }
    }
  ],
  "not_found_items": [
    {
      "supplier_item_number": "string",
      "brand": "string"
    }
  ]
}

Поля ответа:

Поле Описание
found_items Массив найденных товаров.
not_found_items Массив товаров, по которым данные не были найдены.
supplier_item_number Номер товара поставщика.
brand Бренд товара.
unit Единица измерения товара.
avaliable_ss Количество товара в наличии.
avaliable_vendor Количество товара, доступное под заказ у поставщика.
delivery_time Срок поставки в рабочих днях.
prices Объект с ценами товара.
price_from_stock Цена товара при резервации из наличия.
price_from_vendor Цена товара при поставке под заказ.