Инструкции Smart-Shop:API Smart-shop: различия между версиями
Radmir g (обсуждение | вклад) Нет описания правки |
Radmir g (обсуждение | вклад) Нет описания правки Метка: визуальный редактор отключён |
||
| Строка 19: | Строка 19: | ||
</pre> | </pre> | ||
=== | === Доступ === | ||
В API предусмотрено два вида доступа: | |||
=== | * '''Базовый доступ''' — передается информация о наличии товара со сроком более 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
- Боевая среда - https://api.smart-shop.pro/
- Тестовая среда - https://api-test.smart-shop.pro/
Формат обмена данными
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
|
Цена товара при поставке под заказ. |