Содержание
Цены Маркета через API: проверьте onlyDefaultPrice до выбора метода
Перед настройкой передачи цены в конкретный магазин Маркета проверьте, доступен ли такой режим вашему кабинету. Наличие campaignId ещё не отвечает на этот вопрос: в API есть отдельный признак onlyDefaultPrice.
Эта проверка нужна тому, кто согласует задание интегратору или разбирает неверно выбранный метод обновления цены. Результат: понятен доступный уровень управления и область будущего изменения до записи новых значений.
Получите настройку своего кабинета
Метод «Настройки кабинета» возвращает сведения по businessId. В ответе найдите result.settings.onlyDefaultPrice. Это логическое значение, поэтому сохраняйте именно true или false, а не их словесное толкование по памяти.
Передайте специалисту businessId нужного кабинета и список относящихся к нему магазинов. Если сопоставление идентификаторов ещё не проверено, начните с проверки campaignId для обмена.
Ни ключ API, ни заголовки авторизации не включайте в рабочую таблицу. Для фиксации результата достаточно идентификаторов, времени проверки, имени параметра и значения. Ошибка получения настроек или отсутствующее поле не равны значению false: сначала разберите ответ.
Выберите область обновления
Документация Маркета задаёт следующие варианты:
| onlyDefaultPrice | Доступная область управления ценой |
|---|---|
| true | Только цена, действующая во всех магазинах кабинета |
| false | Можно задать общую цену либо цену конкретного магазина |
Для общей цены используется POST /v2/businesses/{businessId}/offer-prices/updates. Для отдельного магазина предусмотрен POST /v2/campaigns/{campaignId}/offer-prices/updates.
В описании метода для магазина прямо указано условие: возможность устанавливать уникальные цены и значение onlyDefaultPrice=false. Если вам нужен один магазин, а доступен только общий режим, не подменяйте метод автоматически. Изменится область задачи: согласуйте решение с ответственным за цены.
Подготовьте задание до запуска записи
Для выбранного SKU зафиксируйте:
- какое значение сейчас установлено и где оно проверено;
- какую цену нужно установить и в какой валюте;
- должна ли правка относиться ко всему кабинету или одному магазину;
- выбранный метод и соответствующий ему businessId или campaignId;
- значение onlyDefaultPrice и время его получения.
Согласуйте ожидаемый результат словами, например «изменить общую цену кабинета». Одного названия магазина в сообщении недостаточно, если запрос будет отправлен на уровень кабинета.
Отдельно найдите другие источники записи цен в вашей системе: ручные задания, файлы и автоматические правила. Проверка onlyDefaultPrice определяет допустимую область API, но не отключает конкурирующую запись.
Проверьте сохранённое значение
После согласованного обновления специалист должен сохранить ответ на запрос и сверить установленную цену в нужной области. В документации указано, что каталог обновляется не мгновенно и это занимает до нескольких минут. Не запускайте повторную запись только из-за мгновенной проверки витрины.
Если значение не соответствует ожидаемому, сохраните SKU, время, выбранный метод, идентификаторы и ответ без секретов. Сначала отделите неверный уровень управления от ошибки запроса и последующей перезаписи другим источником.
Задача завершена, когда выбранный метод соответствует настройке кабинета, область изменения согласована и фактическое значение проверено. Это техническая проверка управления ценами; она не доказывает выгодность самой цены или участия в акции.
Комментарии 0