Как селлеру получить через API цену покупателя на Озоне

27 ноября 8

Ozon убрал из своего API возможность получить цену, которую видит покупатель. Для большинства продавцов это не критично, но для тех, кто автоматизирует ценообразование, ведёт собственную аналитику или синхронизирует данные с внешними системами, отсутствие финальной цены создаёт ощутимые разрывы в данных.

Новость от 12 ноября 2025:

/v3/product/info/list : Параметр items.marketing_price в ответе метода устарел, удалили его из документации.
/v5/product/info/prices : Параметр price.marketing_price в ответе метода устарел, удалили его из документации. 

Теперь через API доступны только внутренние параметры — ваша цена и акции, в которых участвует товар. Этого недостаточно, чтобы получить итоговую стоимость в том виде, в котором она отображается покупателю на карточке товара.

Нам удалось решить эту задачу косвенно, используя данные, которые Ozon продолжает отдавать. В статье разберем, что именно изменилось, и покажем рабочий способ вычисления покупательской цены без прямого доступа к ней.

картинка

В чём проблема для селлеров

На карточке товара покупатель видит две цены:

  1. Цена со скидкой — обычная промо-цена, учитывающая акции Озона и скидки продавца.
  2. Цена по карте Ozon — сниженная стоимость для держателей карты Ozon, по которой чаще всего и совершается покупка.

Эти же цены доступны в личном кабинете OZON продавцу во вкладке Цены и акции.

Ранее продавцы могли получить через API только первую цену — параметр price.marketing_price. Доступа ко второй, «карточной» цене, как не было, так и нет. Тем не менее, наличие price.marketing_price всё же позволяло понимать, по какой стоимости товар увидят покупатели. Теперь в выгрузках этот параметр не доступен и мы не видим даже приблизительной цены, которая показывается покупателю.

В результате селлер сталкивается с несколькими проблемами:

  • Невозможно увидеть фактическую цену на маркетплейсе — она обычно сильно отличается от установленной продавцом.

  • Трудно контролировать демпинг: вы можете снижать цену в системе, а на самом деле товар уже продаётся дешевле нужного уровня.

  • Страдает аналитика: маржинальность, эффект от скидок, корректность автоматического снижения/повышения цены.

  • Невозможно корректно синхронизировать цену с ERP или внутренними сервисами — в них остаётся «теоретическая» цена, а не та, что видит покупатель.

Иными словами, продавец теряет контроль над тем, сколько реально стоит его товар на витрине. Именно эту проблему нам и пришлось решить косвенно — через другие данные, которые Ozon пока продолжает отдавать.

товар на озоне.png

Как отслеживать цену покупателя, используя индекс цен

У Ozon есть параметр, который продолжает передаваться через API, — индекс цен. Это динамический показатель, который сравнивает текущую цену вашего товара с минимальной ценой аналогичных товаров на Ozon и на других площадках.

Важно, что:

  • у Ozon нет единой фиксированной формулы для расчёта индекса цен;

  • это именно сравнительный коэффициент, который зависит от реальной цены на карточке товара;

  • индекс обновляется вместе с ценовой информацией и отражает то, как Ozon показывает вашу конечную цену.

После того как маркетплейс перестал отдавать price.marketing_price, стало очевидно, что индекс цен — один из немногих оставшихся параметров, которые всё ещё напрямую завязаны на фактическую стоимость, показанную покупателю. Это означает, что имея индекс и базовые данные, можно вычислять реальную покупательскую цену косвенно.

Где получить индекс цен через API Ozon

Индекс цен продолжает передаваться в нескольких эндпоинтах Ozon. Его можно получить как часть стандартной информации о товаре.

1. Метод product/info/list

Документация:
https://docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductInfoList

Эндпоинт:
https://api-seller.ozon.ru/v3/product/info/list

Пример запроса:


{
  "offer_id": [
    "string"
  ],
  "product_id": [
    "string"
  ],
  "sku": [
    "string"
  ]
}

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

{
  "offer_id": "123",
  "id": 2733344171,
  "sku": 2868333669,
  "name": "ТСД АТОЛ Smart.Slim полный с Клеверенс для 1С и маркировки, терминал сбора данных",
  "prices": {
    "price": "52250.00",
    "min_price": "52250.00",
    "old_price": "",
    "currency": "RUB"
  },
  "stocks": {
    "has_stock": true,
    "entries": [
      { "present": 2, "reserved": 0, "sku": 2868333669, "source": "fbs" }
] }, "statuses": { "status": "price_sent", "status_failed": "", "moderate_status": "approved", "validation_status": "success", "status_name": "Продается", "status_description": "", "is_created": true, "status_tooltip": "", "status_updated_at": "2025-11-13T13:52:21.726200Z" }, "price_indexes": { "ozon": { "minimal_price": "16612.00", "minimal_price_currency": "RUB", "price_index_value": 1.06 }, "external": { "minimal_price": "15617.00", "minimal_price_currency": "RUB", "price_index_value": 1.12 }, "self_marketplaces": { "minimal_price": "26387.00", "minimal_price_currency": "RUB", "price_index_value": 0.67 } }, "images": { "primary": ["https://cdn1.ozone.ru/s3/multimedia-1-g/8056167460.jpg"], "count": 5 }, "updated_at": "2025-11-13T13:51:48.242894Z" }

2. Метод product/info/prices

Документация: https://docs.ozon.ru/api/seller/#operation/ProductAPI_GetProductInfoPrices

Эндпоинт: https://api-seller.ozon.ru/v5/product/info/prices

Пример запроса:


{
  "cursor": "",
  "filter": {
    "offer_id": [
      "356792"
    ],
    "product_id": [
      "243686911"
    ],
    "visibility": "ALL"
  },
  "limit": 100
}

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


{
  "items": [
    {
      "acquiring": 687.61,
      "offer_id": "123",
      "product_id": 2733344171,
      "volume_weight": 0.4,
      "commissions": {
        "fbo_deliv_to_customer_amount": 25,
        "fbo_direct_flow_trans_max_amount": 1548.4,
        "fbo_direct_flow_trans_min_amount": 56,
        "fbo_return_flow_amount": 56,
        "fbs_deliv_to_customer_amount": 25,
        "fbs_direct_flow_trans_min_amount": 98,
        "fbs_direct_flow_trans_max_amount": 98,
        "fbs_first_mile_max_amount": 30,
        "fbs_first_mile_min_amount": 10,
        "fbs_return_flow_amount": 98,
        "sales_percent_fbo": 41,
        "sales_percent_fbs": 49,
        "sales_percent_rfbs": 45,
        "sales_percent_fbp": 45
      },
      "marketing_actions": {
        "current_period_from": null,
        "current_period_to": null,
        "actions": [
          {
            "title": "Рассрочка 0-0-6 на всё РФ товары",
            "value": 6,
            "date_from": "2025-02-17T21:00:00Z",
            "date_to": "2026-01-31T20:59:00Z"
          },
          {
            "title": "Эластичный бустинг. Без ограничения срока действия",
            "value": 40161,
            "date_from": "2025-03-19T21:00:44Z",
            "date_to": "2026-12-31T20:59:59Z"
          },
          {
            "title": "Максимальный бустинг. 11.11 и Чёрная пятница",
            "value": 36190,
            "date_from": "2025-10-22T21:00:00Z",
            "date_to": "2025-12-03T20:59:59Z"
          },
          {
            "title": "Максимальный бустинг: усиление. 11.11 и Чёрная пятница",
            "value": 36190,
            "date_from": "2025-10-26T21:00:00Z",
            "date_to": "2025-12-03T20:59:59Z"
          },
          {
            "title": "Супербустинг 11.11",
            "value": 36190,
            "date_from": "2025-11-10T21:00:00Z",
            "date_to": "2025-12-03T20:59:59Z"
          },
          {
            "title": "Супербустинг: Чёрная пятница",
            "value": 36190,
            "date_from": "2025-11-27T21:00:00Z",
            "date_to": "2025-12-29T20:59:59Z"
          }
        ],
        "ozon_actions_exist": false
      },
      "price": {
        "auto_action_enabled": false,
        "currency_code": "RUB",
        "marketing_seller_price": 36190,
        "min_price": 52250,
        "old_price": 0,
        "price": 52250,
        "retail_price": 0,
        "vat": 0.2,
        "auto_add_to_ozon_actions_list_enabled": true,
        "net_price": 0
      },
      "price_indexes": {
        "external_index_data": {
          "min_price": 15617,
          "min_price_currency": "RUB",
          "price_index_value": 1.12
        },
        "ozon_index_data": {
          "min_price": 0,
          "min_price_currency": "RUB",
          "price_index_value": 0
        },
        "color_index": "YELLOW",
        "self_marketplaces_index_data": {
          "min_price": 26387,
          "min_price_currency": "RUB",
          "price_index_value": 0.67
        }
      }
    }
  ],
  "cursor": "WzI3MzYxNDQxNzEsMjczNjE0NDE3MV0=",
  "total": 1
}

Формула расчета цены для покупателя из индекса цены

Ozon сравнивает вашу цену с минимальной конкурентной ценой и рассчитывает индекс по одной из двух формул:

  1. Если цена ниже конкурентной:
    Индекс цен = Ваша цена на Ozon / Конкурирующая цена
  2. Если цена выше конкурентной:
    Индекс цен = 2 – (Конкурирующая цена / Ваша цена на Ozon)
  3. Если цены одинаковые: 
    Индекс цен = 1

Таким образом, для дальнейшей обработки полученного индекса цены у вас будет три варианта: 

  1. Если индекс меньше одного (то есть цена ниже конкурентной), то цена покупателя расчитывается по формуле:
    Цена покупателя = Индекс × Конкурирующая цена
  2. Если индекс > 1 (ваша цена выше конкурентной), то искомая цена расчитыватся так:
    Цена покупателя = Конкурирующая цена / (2 – Индекс)
  3. Если индекс = 1, то
    Цена покупателя = Конкурирующая цена.

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

В ответ на наши запросы мы получили две цены конкурентов — на Озоне и на внешних площадках — и соответственно два индекса, которые можно использовать для дальнейших расчетов. На их основе будем рассчитавать собственные ориентировочные цены.

Цена покупателя на Озоне

Так как индекс > 1 (т.е. наша цена выше конкурентной), то искомая цена расчитыватся так:
Цена покупателя = Конкурирующая цена / (2 – Индекс)
Например:
16612/(2–1.06)=17672
Фактически же на этот момент на Озоне мы видим цену 17384 для покупателя с картой и 19315 для покупателя без карты.

Полученные цены оказались несколько выше, чем цена покупателя по карте, но ниже, чем цена для покупателя без карты. Точнее — примерно на 2% выше цены покупателя по карте. Это позволяет рассматривать их в качестве условной цены покупателя по карте.

Для целей мониторинга цен такой результат вполне удовлетворительный. Цены на Озоне колеблются, и нам необязательно знать точную цену в каждый момент времени; главное — понимать, что она не опустилась ниже установленного порога.


Количество показов: 8

Статьи по схожей тематике

картинка