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

Материал из SmartWIKI

Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 178: Строка 178:
| Цена товара при поставке под заказ.
| Цена товара при поставке под заказ.
|}
|}
[[Файл:Аннотация smart shop api 1.png|слева|безрамки|435x435пкс]]
[[Файл:Аннотация_smart_shop_api_1.png|безрамки|435x435пкс]]
 
 
 
 
 
 
 
 
 


=== Получение характеристик ETIM и статических данных ===
=== Получение характеристик ETIM и статических данных ===
Строка 357: Строка 348:
| Тип характеристики: <code>L</code> — логический, <code>N</code> — цифровой, <code>R</code> — диапазон, <code>A</code> — буквенно-цифровой.
| Тип характеристики: <code>L</code> — логический, <code>N</code> — цифровой, <code>R</code> — диапазон, <code>A</code> — буквенно-цифровой.
|}
|}
 
[[Файл:Аннотация smart shop api 2.png|безрамки|843x843пкс]]
[[Категория:Инструкции SS API]]
[[Категория:Инструкции SS API]]

Текущая версия от 14:52, 18 мая 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 Цена товара при поставке под заказ.

Аннотация smart shop api 1.png

Получение характеристик ETIM и статических данных

Метод позволяет получить характеристики ETIM и статические данные по одному или нескольким товарам: название, серию, вес, объем, неделимое и ссылку на сайт поставщика.

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

POST /v1/get-catalog-item

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

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

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

Параметр Описание
items Массив товаров, по которым необходимо вернуть данные.
supplier_item_number Номер товара поставщика.
brand Бренд товара.

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

{
  "found_items": [
    {
      "supplier_item_number": "ABB123",
      "brand": "ABB",
      "serias_name": "DO",
      "item_description": "Автоматический выключатель NXM-125S/3Р 100A 25кА (CHINT)",
      "unit": "шт.",
      "smallest_sales_unit": {
        "smallest_sales_unit_from_stock": 21.99,
        "smallest_sales_unit_from_vendor": 11
      },
      "delivery_time": 5,
      "vendor_link": "https://www.klemsan.com.tr/Terminal-blocks-and-automation-products-russia?urun=24",
      "weight": 0.00001,
      "volume": 0.00001,
      "etim_class": "EC000761",
      "etim_class_name": "Маркировка для клеммной колодки/ клеммного блока",
      "etim_features": [
        {
          "feature_code": "EF000001",
          "feature_name": "Номинальный ток",
          "value_code": "EV000005",
          "value_name": "Резьбовой держатель",
          "value": "\"100 ÷ 100\" или \"100\"",
          "unit_code": "EU000018",
          "unit_name": "кВА",
          "type": "R"
        }
      ]
    }
  ],
  "not_found_items": [
    {
      "supplier_item_number": "string",
      "brand": "string"
    }
  ]
}

Поля ответа:

Поле Описание
found_items Массив найденных товаров.
not_found_items Массив товаров, по которым данные не были найдены.
supplier_item_number Артикул поставщика.
brand Бренд товара.
serias_name Серия товара.
item_description Описание товара.
unit Единица измерения товара.
smallest_sales_unit Объект с данными о неделимом количестве товара.
smallest_sales_unit_from_stock Неделимое количество при заказе из наличия.
smallest_sales_unit_from_vendor Неделимое количество при заказе под заказ.
delivery_time Срок поставки в рабочих днях.
vendor_link Ссылка на сайт поставщика.
weight Вес товара.
volume Объем товара.
etim_class Код класса ETIM.
etim_class_name Название класса ETIM.
etim_features Массив характеристик ETIM.
feature_code Код характеристики ETIM.
feature_name Название характеристики ETIM.
value_code Код значения характеристики.
value_name Название значения характеристики.
value Значение характеристики.
unit_code Код единицы измерения характеристики.
unit_name Название единицы измерения характеристики.
type Тип характеристики: L — логический, N — цифровой, R — диапазон, A — буквенно-цифровой.

Аннотация smart shop api 2.png