Репрайсер по конкурентам V2

Скачать excel-шаблон с поартикульными настройками

Changed on

Метод возвращает excel-шаблон с поартикульными настройками или сообщение о старте формирования шаблона. В случае, если артикулов больше 10 000 штук, файл будет сформирован в фоновом режиме и: Можно обратиться к этой ручке обратиться повторно для получения excel-файла. Можно обратиться к ручке /excel-status/{type_file} с передачей base_settings и после формирования получить готовый файл.

post/v2/comp/excel-template

Request

  • Base URL: https://api.mpspace.ru (the document declares no server; this is the origin it was published from)
  • URL: https://api.mpspace.ru/v2/comp/excel-template
  • Auth: none declared. Required headers: x-connect-id, x-user-id

Query parameters

backgroundboolean

Принудительно отправить задачу в фон (для тестов на dev сервере)

blockstring

Headers

x-connect-idinteger required

ID магазина

x-user-idinteger required

ID пользователя

Request body

skusinteger[]

Фильтр по списку SKU (артикулу Ozon) товаров

product_idsinteger[]

Фильтр по списку product_id товаров

offer_idsstring[]

Фильтр по списку offer_id (артикулу продавца) товаров

namesstring[]

Фильтр по названию товара

brandsstring[]

Фильтр по брендам

catalog_filter_logic'or' | 'and' nullable

Логика для множественных значений в фильтрах names, brands, offer_ids.

  • or (по умолчанию) — товары, где поле содержит ЛЮБОЕ из указанных значений.
  • and — товары, где поле содержит ВСЕ указанные значения одновременно.
instrument'rrc' | 'comp' nullable

Инструмент, из которого пришёл запрос. Нужен, чтобы на общей ручке POST /products-prices выбрать таблицы истории и настроек.

  • rrc - sys.full_history_ozon, sys.control_price_ozon_v2
  • comp - sys.full_history_ozon_competitors, sys.article_settings_ozon_competitors

Обязателен на POST /products-prices, если используется фильтр history_status / history_comment / has_settings или сортировка по history_status / last_update и каких-либо иных (если такие будут появляться в схемах в случае неопределенности. На POST /v2/rrc/products-settings и POST /v2/comp/products-settings поле игнорируется: инструмент берётся из пути.

Тем же полем разделяются сохранённые наборы фильтров: последний применённый набор запоминается отдельно для rrc и для comp. Без инструмента набор не сохраняется и не восстанавливается.

history_status'info' | 'warning' | 'error' nullable

Текстовый статус работы последнего цикла:

  • info - репрайсер работает стабильно
  • warning - цена на сайте не соответствует цене на удержание, но репрайсер сможет установить нужную цену при возможности
  • error - невозможно изменить цену селлера, требуются действия пользователя

Таблица истории выбирается по instrument (на products-prices) или по пути ручки settings.

history_commentstring[] nullable

Фильтр по комментарию последней записи из истории (частичное совпадение без учёта регистра). Вернутся товары, комментарий которых совпал хотя бы с одним из значений списка.

Значения с ценами передаются шаблоном: числа заменены заглушками X, Y, Z, W, ... (по порядку появления), каждая заглушка совпадает с любым числом. Готовые шаблоны отдают ручки settings полем history_comment_options.

Сравнение идёт с комментарием в том виде, в котором его отдают ручки полной истории (GET /rrc/history_v3/... для rrc, история артикула конкурентов для comp), но без названий акций.

negative_profitboolean nullable

Фильтр по маржинальности.

  • true — только товары с отрицательной маржой в рублях.
  • Не установлено — без фильтрации.
is_archive0 | 1 nullable

Фильтр по флагу архивного товара из Ozon API (колонка is_archived таблицы sys.ozon_product_info_v4).

  • Не передан или 0 (по умолчанию) — только неархивные товары.
  • 1 — только архивные товары.
  • null — без фильтрации: вернутся и архивные, и неархивные.

Товары, по которым флаг ещё ни разу не проставлялся (NULL в БД), считаются неархивными.

only_with_stocksboolean nullable

Показывать только товары с остатками.

  • не задано — показываются все товары, включая без остатков: умолчание задаёт только порядок (сортировка по остаткам по убыванию) и ничего не скрывает;
  • true — только товары с остатками (применяется только если данные по остаткам собраны);
  • false — то же, что «не задано»: показать все товары.

Числовой фильтр api_filters.present перебивает это поле.

has_settings0 | 1 nullable

Фильтр по наличию сохраненных настроек в базе данных репрайсера.

  • 0 - только товары без настроек (дефолтные значения).
  • 1 - только товары с настройками.

Таблица настроек выбирается по instrument (на products-prices) или по пути ручки settings.

tagsinteger[]

Фильтр по списку ID тегов. Вернёт только те товары, которые привязаны хотя бы к одному из указанных тегов.

reset_filtersboolean

Забыть сохранённый набор фильтров и показать значения по умолчанию. Разовое действие: сам по себе не сохраняется.

Example request

{
  "skus": [
    12345678,
    87654321
  ],
  "product_ids": [
    12345678,
    87654321
  ],
  "offer_ids": [
    "offer-1",
    "offer-2"
  ],
  "names": [
    "катушка",
    "мочалка"
  ],
  "brands": [
    "kitty",
    "bunny"
  ],
  "catalog_filter_logic": "and",
  "settings_rrc": {
    "mode": "PRICE",
    "night_control": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "plan_fact_target": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "control_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "min_price_rrc": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "max_price_rrc": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "change_price_if_green_absent": 1,
    "region": 77,
    "working_schedule_status": true,
    "competitors_status": true
  },
  "settings_comp": {
    "comps_strategy_status": true,
    "min_price_comp": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "max_price_comp": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "comp_strat_lower_bound": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "region": 77,
    "has_competitors": true
  },
  "api_filters": {
    "price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "old_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "marketing_seller_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "min_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "present": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "reserved": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "fbs_stocks": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "fbo_stocks": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "fbp_stocks": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "actions_count": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "discount_ozon": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "discount_card": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "current_green_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    },
    "current_grey_price": {
      "eq": 10,
      "gt": 10,
      "gte": 10,
      "lt": 10,
      "lte": 10
    }
  },
  "instrument": "rrc",
  "history_status": "warning",
  "history_comment": [
    "С ценой на сайте все отлично.",
    "Мин. цена селлера: установлена минимальная цена селлера X руб., при попытке установить Y."
  ],
  "negative_profit": true,
  "only_with_stocks": true,
  "tags": [
    1,
    5,
    13
  ],
  "reset_filters": true
}

Response

Successful Response

unknown required

Changes

    • breaking

      request property / list-of-types was narrowed by removing types string from media type application/json

    • breaking

      the // request property type changed from string to array

    • info

      added the new optional request property //

    • info

      request property / reactivated