Пятый фактор Обсудить задачу
Переносы сайтов и данных

Переход отчёта цен Яндекс Маркета на goods-prices API

15 января 2026 года Яндекс Маркет удалил метод POST /v2/reports/prices/generate для формирования отчёта о ценах. Его заменил POST /v2/reports/goods-prices/generate. Старое фоновое задание после этой даты останавливается на первом вызове и перестаёт обновлять таблицу, BI-витрину или внутренний экран с ценами. Новый отчёт формируется асинхронно.

Первый запрос создаёт задачу и возвращает reportId. Затем интеграция обращается к GET /v2/reports/info/{reportId}, различает этапы подготовки и дожидается готового файла. В ответе появляется временная ссылка, поэтому скачивание выполняется сразу после готовности и повторяется управляемо при кратковременной сетевой ошибке.

Мы сохраняем рабочий смысл прежней выгрузки: сопоставляем товарные идентификаторы, виды цен, даты и остальные востребованные колонки с целевой таблицей. Контрольная выборка включает обычный товар, позицию с несколькими ценовыми значениями, отсутствующую строку и большой файл. Журнал связывает создание отчёта, проверку статуса, скачивание и импорт одним reportId.

После переключения планировщик снова получает актуальный файл по расписанию. Ответственный видит время формирования, статус, количество обработанных строк и итог импорта. При задержке Маркета задание продолжает опрос с разумным интервалом, а при окончательной ошибке сохраняет reportId и ответ API для понятного повторного запуска.

Срок: 6 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Задание отчёта цен вызывает /v2/reports/prices/generate и после 15 января 2026 года завершается ошибкой.
  • Разработчик заменил адрес генерации, однако обработчик ожидает файл сразу и пропускает асинхронную подготовку.
  • Временная ссылка успевает истечь до скачивания, поэтому в BI или таблице остаются данные предыдущего периода.
  • Новый файл загружается, но товарные идентификаторы, колонки цен или количество строк расходятся с привычной выгрузкой.

Что именно мы сделаем

01

Находим вызовы старого метода, расписания, фильтры отчёта, используемые колонки и конечных получателей данных.

02

Сопоставляем параметры прежнего отчёта с запросом POST /v2/reports/goods-prices/generate и обновляем модель ответа.

03

Добавляем получение статуса через GET /v2/reports/info/{reportId}, интервалы опроса и раздельную обработку состояний.

04

Скачиваем готовый файл по временной ссылке, проверяем формат и передаём строки в существующую таблицу или витрину.

05

Сверяем контрольные товары, переключаем расписание и передаём журнал, карту полей и инструкцию повторного запуска.

Что входит в стоимость

39 900 ₽ за всю работу

Находим задания, которые вызывали удалённый метод отчёта цен, фиксируем используемые колонки, фильтры и получателей. Переводим генерацию на goods-prices, обновляем ожидание готовности через reports/info, скачивание временного файла и разбор результата. Сверяем цены и идентификаторы на контрольной выборке, затем переключаем рабочее расписание.

Что будет готово

Материалы

Передадим вам

  • Рабочая генерация отчёта цен через POST /v2/reports/goods-prices/generate и хранение связанного reportId.
  • Обработчик статусов GET /v2/reports/info/{reportId}, временной ссылки, скачивания и повторов сетевых ошибок.
  • Карта полей нового файла и протокол сверки цен и товарных идентификаторов на контрольной выборке.
  • Настроенное расписание, журнал этапов отчёта и инструкция ручного и повторного запуска.
Проверка

Перед сдачей проверим

  • Контрольный запрос создаёт отчёт методом goods-prices/generate и сохраняет полученный reportId рядом с параметрами запуска.
  • Интеграция получает готовность через reports/info, скачивает файл по действующей временной ссылке и распознаёт его формат.
  • Контрольные товары и цены корректно сопоставляются с целевой таблицей или витриной, а повторный импорт сохраняет целостность данных.
  • Планировщик завершает полный цикл по расписанию, а журнал показывает создание, ожидание, скачивание, импорт и итоговый статус.

Как это выглядит на практике

Переход отчёта цен Яндекс Маркета на goods-prices API

Ежедневная таблица цен снова обновляется по расписанию

  1. 01

    Планировщик создаёт отчёт через goods-prices/generate и записывает reportId с параметрами выгрузки.

  2. 02

    Обработчик опрашивает reports/info, видит готовность и сразу скачивает файл по временной ссылке.

  3. 03

    Импорт сопоставляет товарные идентификаторы и обновляет выбранные колонки цен в рабочей таблице.

  4. 04

    Журнал показывает количество строк и результат сверки, а следующая выгрузка запускается в установленное время.

Что понадобится для работы

От вас

  • Код или настройки задания, которое вызывало прежний метод отчёта цен Яндекс Маркета.
  • API-Key с подходящими правами и идентификаторы бизнеса или кабинета, используемые действующей интеграцией.
  • Примеры старого файла, описание целевой таблицы, BI-витрины, PIM либо внутреннего кабинета.
  • Список контрольных товаров, значимых колонок и сотрудник, который подтвердит корректность цен после импорта.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 39 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 36 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Когда удалили прежний метод отчёта цен Яндекс Маркета?

Метод POST /v2/reports/prices/generate удалён 15 января 2026 года. Для формирования актуального отчёта используется POST /v2/reports/goods-prices/generate.

Как получить файл после вызова goods-prices/generate?

Первый запрос возвращает reportId. По нему интеграция запрашивает GET /v2/reports/info/{reportId}, дожидается готового состояния и забирает файл по временной ссылке из ответа.

Почему ссылка на готовый отчёт перестаёт открываться?

Ссылка действует ограниченное время. Обработчик скачивает файл сразу после готовности, а при задержке повторно получает сведения об отчёте и использует актуальную ссылку.

Сохранятся ли прежние колонки в нашей таблице?

Да. Сопоставляем поля нового файла с рабочими колонками и проверяем их на контрольных товарах. При отличии названия или типа добавляем явное преобразование до импорта.

Что произойдёт, если отчёт формируется долго?

Задание продолжит опрос с заданным интервалом и сохранит reportId. После выбранного предела ожидания журнал зафиксирует состояние и даст возможность продолжить проверку без создания лишней задачи.

Можно оставить существующее расписание выгрузки?

Да. Сохраняем привычное время запуска, если оно соответствует объёму данных и лимитам кабинета. Меняется последовательность генерации, ожидания, скачивания и импорта.

Как защищаем отчёт от повторной загрузки?

Каждый запуск связан с reportId и отметкой импорта. Перед повторной обработкой система проверяет эту связь и выполняет выбранное обновление вместо добавления второй копии строк.

Как принимается готовый переход?

Запускаем полный цикл, скачиваем файл и сверяем контрольные товары, цены и количество строк. Затем подтверждаем обновление конечной таблицы и читаем все этапы по одному reportId в журнале.

Цена и изменения по ходу работы

Цена на странице окончательная?

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

Что означает резерв незапланированных работ?

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

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

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

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.

Для безопасности не отправляйте в заявке пароли, коды доступа, токены, паспортные и медицинские данные.