Руководство пользователя по работе с API репрайсера Huckster
Данное руководство содержит подробную информацию по работе с API репрайсера Huckster.
Введение в API репрайсера Huckster
Что такое API?
API (Application Programming Interface) — это программный интерфейс, который позволяет различным приложениям взаимодействовать друг с другом. В контексте работы с репрайсером Huckster, API предоставляет возможность автоматизировать управление товарами, ценами и настройками через программный код. API работает по принципу двустороннего обмена данными:
Исходящие запросы — мы отправляем запросы к системе для получения или изменения данных
Входящие ответы — система возвращает нам запрошенную информацию или подтверждает выполнение действий
Зачем нужен API?
Автоматизация рутинных операций
Интеграция с другими системами
Массовое управление товарами и ценами
Получение актуальной информации о состоянии товаров
Оптимизация работы с маркетплейсами
Важные примечания
Развитие API
API репрайсера Huckster постоянно совершенствуется и расширяется. Мы регулярно добавляем новые методы и улучшаем существующие для обеспечения более эффективной работы пользователей. API работает по принципу двустороннего обмена данными
Запросы на расширение функционала
Если вам необходим дополнительный функционал или специфические методы работы с API, вы можете обратиться в техническую поддержку для обсуждения возможности их реализации.
Ниже представлено описание 14 методов API и решаемых с их помощью задач по информационному обмену с Huckster Platform
1. Получение MD5-хэша пароля
Назначение метода
Первый шаг в работе с API — получение MD5-хэша пароля. Этот хэш необходим для последующей аутентификации в системе. Хэш генерируется один раз и остается неизменным, пока не будет изменен исходный пароль.
Технические характеристики
HTTP метод: POST
Формат данных: JSON
Структура запроса
json
Пример запроса
python
Ответ сервера
В случае успешного выполнения запроса сервер вернет JSON-ответ с хэшированным значением:
json
Важные замечания
Хэш необходимо сохранить для дальнейшего использования
Запрос не требует авторизации
Пароль чувствителен к регистру
При изменении пароля необходимо получить новый хэш
Типичные ошибки
Неверный формат запроса (отсутствие поля input)
Проблемы с сетевым подключением
Превышение лимита запросов
Рекомендации
Сохраняйте полученный хэш в безопасном месте
Используйте HTTPS для защиты передачи данных
Проверяйте корректность введенного пароля перед хэшированием
После получения MD5-хэша вы можете переходить к следующему шагу — аутентификации в системе с помощью полученного значения.
2. Аутентификация и получение сессии
Назначение метода
После получения MD5-хэша необходимо пройти аутентификацию в системе для получения идентификатора сессии. Этот идентификатор будет использоваться во всех последующих запросах к API.
Технические характеристики
HTTP метод: POST
Формат данных: JSON
Требуемые права доступа: базовые права пользователя
Структура запроса
В теле запроса необходимо передать:
userName - адрес электронной почты пользователя
password - MD5-хэш пароля, полученный на предыдущем этапе
json
Пример реализации
python
Ответ сервера
При успешной аутентификации сервер возвращает JSON-объект с информацией:
json
Важные замечания
SessionId необходимо сохранять для всех последующих запросов
Сессия имеет ограниченный срок действия до 00:00
При истечении срока действия сессии требуется повторная аутентификация
SessionId передается в заголовке запроса
Типичные ошибки
Неверный email или MD5-хэш
Проблемы с сетевым подключением
Превышение лимита попыток аутентификации
Истечение срока действия сессии
Рекомендации
Сохраняйте SessionId в защищенном месте
Используйте HTTPS для передачи данных
Проверяйте статус ответа сервера
Реализуйте механизм повторной аутентификации при истечении сессии
После получения SessionId вы можете переходить к работе с защищенными методами API.
3. Получение списка кабинетов продавца
Назначение метода
Метод позволяет получить полный список подключенных торговых кабинетов продавца на различных маркетплейсах. Это необходимо для дальнейшей работы с товарами и настройками репрайсинга.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Для выполнения запроса необходимо передать полученный ранее SessionId в заголовке:
Структура запроса
Запрос не требует параметров в теле, отправляется пустым:
json
Пример реализации
python
Структура ответа
json
Описание полей ответа
marketplace - название маркетплейса
shop - название магазина/кабинета
shop_id - уникальный идентификатор кабинета
delivery_method - метод доставки (FBS, FBO и т.д.)
Важные замечания
Метод требует активной сессии
Необходимо сохранять полученные shop_id для последующих операций
Каждый кабинет имеет свой уникальный идентификатор
Типичные ошибки
401 Unauthorized - истекшая сессия или неверный session-id
403 Forbidden - недостаточные права доступа
500 Internal Server Error - проблемы на стороне сервера
Рекомендации
Сохраняйте полученные идентификаторы кабинетов
Проверяйте статус ответа перед обработкой данных
Реализуйте обработку возможных ошибок
Используйте полученные данные для дальнейшей работы с товарами конкретного кабинета
4. Получение списка товаров в стратегии Удержание РРЦ
Назначение метода
Метод позволяет получить подробную информацию о товарах, находящихся в стратегии Удержание РРЦ в конкретном кабинете маркетплейса. Используется для мониторинга цен и настроек товаров.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Параметры запроса
json
Пример реализации
python
Структура ответа
json
Описание полей ответа
marketplace - название маркетплейса
shop - название магазина
shop_id - идентификатор магазина
uid - уникальный идентификатор товара
name - название товара
trademark - бренд товара
sku - артикул товара
enabled - статус включения в репрайсер
card_control - учет цены по карте
max_discount - максимальная скидка
min_price - минимальная цена продажи
parsing_status - статус парсинга
url - ссылка на товар
last_update - дата последнего обновления
market_old_price - старая цена
market_price - текущая цена
market_card_price - цена по карте
upload_price - загруженная цена
market_discount - скидка
market_card_discount - скидка по карте
Важные замечания
Параметр limit определяет количество возвращаемых записей (от 100 до 1000)
offset должен быть кратен limit
Для получения всех записей используйте пагинацию через offset
Поле cursor содержит информацию о общем количестве товаров
Типичные ошибки
400 Bad Request - неверные параметры запроса
401 Unauthorized - истекшая сессия
404 Not Found - неверный shop_id
500 Internal Server Error - проблемы на стороне сервера
Рекомендации
Используйте пагинацию для получения большого количества товаров
Сохраняйте total из cursor для расчета количества запросов
Проверяйте статус каждого товара перед обработкой
5. Управление товарами в стратегии Удержание РРЦ
Назначение метода
Метод позволяет добавлять и удалять товары в стратегии Удержание РРЦ, а также настраивать индивидуальные параметры для каждого товара.
Технические характеристики
HTTP метод: POST
Ограничение: не более 100 товаров в одном запросе
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
marketplace - название маркетплейса
shop_id - идентификатор магазина
item_list - список товаров для обработки
uid - уникальный идентификатор товара в системе
sku - артикул товара (необязательное поле)
enabled - флаг включения в стратегию (true/false)
card_control - учет цен по карте (true/false)
max_discount - максимальная допустимая скидка
min_price - минимальная цена продажи
Пример реализации
python
Ответ сервера
json
Важные замечания
Максимальное количество товаров в запросе - 100
Для массового обновления необходимо разбить товары на несколько запросов
Параметр enabled управляет включением/отключением репрайсинга
card_control влияет на учет цен по картам
Типичные ошибки
400 Bad Request - неверный формат запроса
401 Unauthorized - истекшая сессия
404 Not Found - неверный shop_id
429 Too Many Requests - превышение лимита запросов
Рекомендации
Проверяйте статус каждого товара в ответе
Обрабатывайте ошибки для каждого товара отдельно
Сохраняйте результаты обработки для последующего анализа
Используйте корректные значения для числовых параметров
6. Обновление цен товаров в каталоге
Назначение метода
Метод позволяет обновлять закупочные и розничные цены товаров в системе. Используется для синхронизации актуальных цен с вашей базой данных.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
items - массив товаров для обновления
uid - уникальный идентификатор товара
price - закупочная цена (число)
retail_price - розничная цена (число)
Пример реализации
python
Ответ сервера
При успешной обработке сервер возвращает статус 200 без дополнительного содержимого.
Важные замечания
Цены указываются в числовом формате без разделителей
Можно обновлять цены для нескольких товаров в одном запросе
Рекомендуется проверять корректность передаваемых значений
Обновление происходит асинхронно
Типичные ошибки
400 Bad Request - некорректный формат данных
401 Unauthorized - истекшая сессия
404 Not Found - неверный uid товара
500 Internal Server Error - проблемы на стороне сервера
Рекомендации
Проверяйте существование товаров перед обновлением
Используйте корректные числовые значения цен
Реализуйте обработку ошибок для каждого товара
Сохраняйте логи операций обновления цен
7. Получение списка дополнительных видов цен товаров в каталоге
Назначение метода
Метод позволяет получить перечень всех доступных дополнительных видов цен в системе Huckster. Используется для определения типов цен, которые можно устанавливать для товаров.
Технические характеристики
HTTP метод: POST
URL: https://wbs.e-teleport.ru/markets/price_types/list
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
Запрос не требует параметров в теле:
json
Пример реализации
python
Структура ответа
json
Описание полей ответа
price_type_id - уникальный идентификатор типа цены в системе
price_type - наименование типа цены
Важные замечания
Идентификаторы типов цен необходимо сохранять для дальнейшего использования
Каждый тип цены имеет свой уникальный ID
Типичные ошибки
401 Unauthorized - истекшая сессия
403 Forbidden - недостаточные права доступа
500 Internal Server Error - проблемы на стороне сервера
Рекомендации по использованию
Сохраняйте полученные ID типов цен
Проверяйте актуальность списка перед установкой цен
8. Обновление дополнительных видов цен товаров
Назначение метода
Метод позволяет обновлять дополнительные виды цен для товаров в каталоге. Используется для управления альтернативными ценовыми категориями.
Технические характеристики
HTTP метод: POST
URL: https://wbs.e-teleport.ru/markets/items/prices/update
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
items - массив товаров для обновления
uid - уникальный идентификатор товара
price_type_id - идентификатор типа цены в системе Huckster
retail_price - цена продажи
Пример реализации
python
Важные замечания
price_type_id необходимо получать из системы Huckster
Цены указываются в числовом формате
Можно обновлять несколько товаров в одном запросе
Рекомендуется проверять существование price_type_id перед обновлением
Типичные ошибки
400 Bad Request - неверный price_type_id
401 Unauthorized - истекшая сессия
404 Not Found - неверный uid товара
422 Unprocessable Entity - некорректное значение цены
Рекомендации
Предварительно проверяйте существование price_type_id
Используйте корректные числовые значения цен
Реализуйте обработку ошибок для каждого товара
Сохраняйте логи операций обновления цен
Проверяйте права доступа перед выполнением массовых операций
9. Добавление товаров в каталог Huckster из кабинета маркетплейса
Назначение метода
Метод позволяет импортировать товары из вашего кабинета на маркетплейсе в каталог Huckster. Используется для первоначального наполнения каталога товарами.
Технические характеристики
HTTP метод: POST
Ограничение: до 200 товаров в одном запросе
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
marketplace - название маркетплейса
shop_id - идентификатор магазина
item_list - массив артикулов товаров на маркетплейсе
Пример реализации
python
Ответ сервера
json
Важные замечания
Лимит на количество товаров в запросе - 200
Следующий запрос можно отправить только после завершения обработки предыдущего
Если артикул уже существует в каталоге, он будет пропущен
Обработка товаров происходит асинхронно
Типичные ошибки
400 Bad Request - неверный формат запроса
401 Unauthorized - истекшая сессия
404 Not Found - неверный shop_id
429 Too Many Requests - превышение лимита запросов
Рекомендации
Проверяйте существование артикулов перед отправкой
Учитывайте лимит в 200 товаров
Реализуйте проверку статуса обработки
Сохраняйте логи операций импорта
Используйте корректные идентификаторы marketplace
10. Получение списка товаров в каталоге Huckster
Назначение метода
Метод позволяет получить полный список товаров, находящихся в каталоге Huckster. Используется для инвентаризации товаров и проверки их текущих параметров.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
contact - ваш логин в Huckster
limit - количество возвращаемых записей (0-300)
nom - номер запроса при пагинации
fields - список полей для возврата
Пример реализации
python
Структура ответа
json
Описание полей ответа
id - уникальный идентификатор записи
uid - идентификатор товара в системе
name - название товара
price - закупочная цена
retail_price - розничная цена
retail_action_price - цена по акции
trademark - бренд товара
Важные замечания
limit определяет количество возвращаемых записей
nom используется для пагинации при больших списках
Можно выбирать конкретные поля для возврата
При limit=300 nom принимает значения 1, 2, 3 и т.д.
Типичные ошибки
400 Bad Request - неверные параметры запроса
401 Unauthorized - истекшая сессия
404 Not Found - неверный contact
500 Internal Server Error - проблемы на стороне сервера
Рекомендации
Используйте пагинацию при работе с большими каталогами
Выбирайте только необходимые поля для оптимизации запросов
Сохраняйте полученные идентификаторы для последующих операций
Проверяйте статус ответа перед обработкой данных
11. Получение списка товаров для следования за конкурентами
Назначение метода
Метод позволяет получить информацию о товарах, настроенных на стратегию следования за конкурентами. Используется для мониторинга и управления конкурентной стратегией.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
marketplace - название маркетплейса
shop_id - идентификатор магазина
limit - количество возвращаемых записей
offset - смещение (должно быть кратно limit)
list_mode - режим списка (rivals)
filter - параметры фильтрации
Пример реализации
python
Структура ответа
json
Описание полей ответа
Основные поля объекта item_list:
market_id - уникальный идентификатор товара на маркетплейсе
market_uid - идентификатор товара в системе маркетплейса
huckster_uid - уникальный идентификатор товара в системе Huckster
sku - артикул товара
name - название товара
market_price - текущая рыночная цена
retail_price - розничная цена
stock - количество товара на складе
barcode - штрих-код товара
picture - ссылка на изображение товара
trademark - бренд товара
huckster_enabled - статус включения в Huckster
repricer_enabled - статус включения репрайсера
rivals_enabled - статус включения стратегии следования за конкурентами
autoaction_enabled - статус автоматических действий
url - прямая ссылка на товар в маркетплейсе
Вложенный объект rivals содержит:
rivals_discount_percent - процент скидки относительно конкурентов
rivals_discount_sum - сумма скидки в рублях
rivals_min_price - минимальная цена среди конкурентов
rivals_max_price - максимальная цена среди конкурентов
rivals_card_control - учет цен по карте
rivals_count - количество отслеживаемых конкурентов
rivals_list - список конкретных конкурентов с их параметрами:
marketplace - площадка конкурента
rival_sku - артикул конкурента
rival_url - ссылка на товар конкурента
Важные замечания
Метод позволяет отслеживать конкурентное окружение для каждого товара
Информация обновляется в режиме реального времени
Можно фильтровать товары по статусу включения стратегий
Данные о конкурентах обновляются автоматически
Типичные ошибки
400 Bad Request - неверные параметры фильтрации
401 Unauthorized - истекшая сессия
404 Not Found - неверный shop_id
504 Gateway Timeout - проблемы с получением данных о конкурентах
Рекомендации по использованию
Регулярно проверяйте актуальность данных о конкурентах
Используйте фильтрацию для получения только нужных данных
Сохраняйте историю изменений цен конкурентов
Учитывайте, что большое количество отслеживаемых конкурентов может влиять на производительность
Проверяйте доступность товаров у конкурентов перед принятием решений
12. Добавление/удаление товаров в стратегию следования за конкурентами
Назначение метода
Метод позволяет управлять списком товаров, участвующих в стратегии следования за конкурентами, включая настройку параметров конкурентного ценообразования.
Технические характеристики
HTTP метод: POST
Требуемые права: авторизованная сессия
Обязательные заголовки
Структура запроса
json
Параметры запроса
marketplace - название маркетплейса
shop_id - идентификатор магазина
item_list - список товаров для настройки
huckster_uid - уникальный идентификатор товара
rivals_enabled - включение/отключение стратегии (true/false/null)
discount_percent - наценка/скидка в процентах
discount_sum - наценка/скидка в рублях
min_price - минимальная цена продажи
max_price - максимальная цена продажи
card_control - учет цен по карте
rivals_list - список конкурентов
Пример реализации
python
Ответ сервера
json
Описание полей ответа
Структура result:
result - статус операции (OK/error)
item_info - информация о настроенном товаре
Основные параметры item_info:
huckster_uid - уникальный идентификатор товара
sku - артикул товара
rivals_enabled - статус включения стратегии
url - прямая ссылка на товар
Вложенный объект rivals содержит:
rivals_discount_percent - процент скидки относительно конкурентов
rivals_discount_sum - сумма скидки в рублях
rivals_min_price - минимальная цена продажи
rivals_max_price - максимальная цена продажи
rivals_card_control - учет цен по карте
rivals_count - количество отслеживаемых конкурентов
rivals_list - список конкретных конкурентов
Важные замечания
При отправке null в параметрах текущие значения сохраняются
Можно изменять только определенные параметры, оставляя остальные без изменений
Максимальное количество конкурентов в списке не ограничено явно
Изменения применяются асинхронно
Типичные ошибки
400 Bad Request - неверные параметры настройки
401 Unauthorized - истекшая сессия
404 Not Found - неверный shop_id или huckster_uid
422 Unprocessable Entity - некорректные числовые значения
Рекомендации по использованию
Проверяйте существование товара перед настройкой
Используйте корректные значения для числовых параметров
Сохраняйте текущие настройки перед внесением изменений
Проверяйте доступность указанных конкурентов
Учитывайте, что некоторые параметры могут быть обязательными для определенных стратегий
13. Получение списка моделей расчета Unit-экономики
Общее описание метода
Метод позволяет получить список всех моделей расчета калькулятора Unit-экономики для подключенных кабинетов продавца.
Параметры запроса
Метод API: POST
Необходимый заголовок: set-cookie: ss-id=session-id
Тело запроса (JSON):
json
Особенности использования
Если параметры marketplace и/или shop_id не указаны, возвращается список по всем кабинетам
Для выполнения запроса необходимо предварительно получить идентификатор сессии
Структура ответа
json
Основные поля ответа
marketplace - платформа, к которой относится модель
shop_id - идентификатор кабинета
id - уникальный идентификатор модели расчета
set_name - название модели
items_quantity - количество товаров в модели
date_created - дата создания модели
Практическое применение
Данный метод используется для:
Получения списка всех существующих моделей расчета
Мониторинга количества товаров в каждой модели
Отслеживания дат создания моделей
Важные замечания
Для работы с методом необходимо иметь активные права доступа
Ответ содержит только основную информацию о моделях
Для получения детальной информации о товарах в модели используйте соответствующий API-метод
14. Получение списка товаров модели расчета Unit-экономики
Общее описание метода
Метод позволяет получить детальный список товаров, входящих в конкретную модель расчета калькулятора Unit-экономики.
Параметры запроса
Метод API: POST
Необходимый заголовок: set-cookie: ss-id=session-id
Тело запроса (JSON):
json
Особенности использования
Параметры marketplace и shop_id можно не указывать - тогда данные будут по всем кабинетам
set_id является обязательным параметром
limit определяет количество выводимых записей (от 100 до 1000)
offset используется для постраничного просмотра данных
Структура ответа
json
Основные поля ответа
item_id - уникальный идентификатор товара в системе
uid - внутренний идентификатор товара
set_price - целевая цена продажи
price - текущая цена на маркетплейсе
cost_price - себестоимость товара
expenses_sum - общая сумма затрат
profit_sum - сумма маржинальности
profit_percent - процент маржинальности
Практическое применение
Метод используется для:
Анализа экономической эффективности товаров в модели
Контроля цен и затрат по каждому товару
Мониторинга маржинальности
Оценки всех сопутствующих расходов
Важные замечания
Для работы требуется активный идентификатор сессии
Необходимо корректное указание set_id
При большом количестве товаров используйте пагинацию через limit и offset
Все финансовые показатели возвращаются в валюте аккаунта
Последнее обновление
Это было полезно?