Удельта

РелизВерсия 3.23.42

Редакция Удельты

Saleor 3.23.42: доступность вариантов без потери цен

16 октября 2026 года опубликован стабильный Saleor 3.23.42. В API появились управление доступностью вариантов без удаления цен, отдельные полные описания категорий и коллекций и выбор между отложенным и немедленным формированием данных webhook.

Список товаров в панели Saleor с поиском

Изменения полезны магазинам с несколькими каналами продаж и собственными интеграциями. Это выпуск серверного ядра Saleor: наличие новых полей API само по себе не означает появления готовых элементов управления в любой панели или витрине Next.js.

Отключить вариант в одном канале, сохранив цены

У записи варианта в канале появился флаг isAvailableForPurchase. При значении false вариант скрывается от покупателей в этом канале, исключается из диапазона цен товара и не может быть добавлен в checkout или заказ. При этом его цена, себестоимость и предыдущая цена остаются в записи. Раньше отключение через удаление варианта из канала удаляло и эти данные.

Новая мутация productVariantChannelListingAvailabilityUpdate меняет доступность без повторной передачи цен; для неё требуется право MANAGE_PRODUCTS. Уже существующие и новые записи по умолчанию получают true, поэтому само добавление флага не отключает варианты. Наличие разрешающего флага при этом не заменяет остальные условия продажи — например, отсутствие цены по-прежнему делает вариант недоступным для покупки.

Краткое и полное описание можно вести отдельно

Категории и коллекции получили необязательное переводимое поле fullDescription с форматированным содержимым Editor.js. Оно позволяет отделить вводный текст от подробного описания. Старое description и его содержимое не меняются; переносить прежние тексты в новое поле выпуск не требует, хотя для самих полей добавлены миграции базы.

Входной тип переводов остаётся общим с товарами ради совместимости API. Поэтому fullDescription виден и во входах productTranslate и productBulkTranslate, но передача его туда, включая явный null, отклоняется с INVALID. Это возможность категорий и коллекций, не новое поле описания товара.

Webhook может зафиксировать состояние в момент запроса

Для асинхронных webhook с подписочным запросом появилась настройка payloadGeneration. Режим DEFERRED остаётся стандартным: фоновая задача формирует данные по состоянию объекта на момент своего выполнения. При двух быстрых изменениях обе доставки поэтому могут содержать второе состояние — например, новое значение метаданных заказа.

Режим IMMEDIATE формирует данные в запросе, вызвавшем событие. Это важно интеграциям, которым нужно видеть состояние каждого изменения, но добавляет работу к самому запросу. Настройка задаётся отдельно для webhook и не влияет на legacy-webhook без subscription query, синхронные события и события, для которых отложенная генерация не используется.

Уже созданные доставки после смены режима завершаются по прежнему правилу; гарантии порядка получения сообщений ни один режим не даёт. Хотя проект документации помечает настройку как добавленную в 3.23.41, в модели выпущенного тега 3.23.41 её нет, а в 3.23.42 она присутствует и включена в release notes. Привязка этой новости проверена по выпущенному коду.

Собственных испытаний Удельты для этого выпуска не проводилось. Обложка взята из официальных материалов Saleor, сохранённых в каталоге; она иллюстрирует панель, а не подтверждает проверку интерфейса версии 3.23.42.

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

Все новости

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.