Обновления в продуктах и параметрах шаблонизатора
- Updated On 30 Jun 2020
- 4 Minutes To Read
-
DarkLight
Мы переработали модель хранения продуктов в системе.
Теперь для работы с продуктами существует единый раздел, в котором хранятся все данные – Продукты.
Новая модель позволила внести следующие изменения:
- На странице продукта теперь можно просмотреть его региональные данные и историю сегментации.
- На проектах, где использовались SKU, теперь нужно работать с продуктами. Все данные ваших старых продуктов и SKU находятся в этом разделе.
- Продукты могут быть опционально объединены в группы продуктов. По сути, если ранее вы пользовались SKU, то группы это аналог старого раздела Продукты, только теперь это не отдельный раздел, а просто идентификатор в карточке продукта.
- На одном проекте могут быть продукты как с группами, так и без.
Например, у вас есть футболки с разными размерами и цветами. В этом случае комбинациями размеров и цветов футболок будут записи в разделе Продукты с общим идентификатором в поле Группа.
Также у вас могут быть различные аксессуары – очки, кошельки, бижутерия. Они тоже будут храниться в разделе Продукты, но поле Группа, у них не будет заполнено.
Пример: на скриншоте ниже построен фильтр по идентификатору группы продуктов (ранее Продукту). В выборку попали все продукты (ранее SKU) которые находятся в этой группе.
- Теперь мы можем обрабатывать YML-фиды, в которых одновременно хранятся продукты как с группами, так и без.
- Обновили структуру параметров для вывода данных продуктов в письма. Сделали их более понятными и простыми в использовании. Ниже вы можете подробно прочитать об изменениях в параметрах.
Все существующие интеграции работают в штатном режиме и не требуют никаких доработок.
Перечень основных изменений в параметрах:
- Переработали параметры и создали единообразную структуру для всех параметров, связанных с продуктами.
- Параметры продуктов по умолчанию работают с региональными данными. Больше не нужно использовать специальные параметры для вывода данных продукта (например, цен) в регионе клиента.
- Переработали параметры скидок в заказах. Теперь они позволяют вывести более подробную детализацию скидок на заказ.
- Добавили параметр AvailableForRecipient, который фильтрует только доступные товары для клиента в регионе. Он позволяет не проверять доступность продукта в сегменте.
- Параметры типа date/time работают по часовому поясу проекта.
- Уменьшим визуальный шум при работе с хелпом шаблонизатора, удалив параметры которыми никто не пользуется.
- Ограничили максимальную выборку продуктов в take. В письмо можно вывести не более 100 продуктов. Это нужно для повышения надёжности, т.к. при обработке большого числа продуктов мы можем сильно нагрузить базу.
- Добавили параметр SinglePerGroup, который позволяет вывести только один продукт из группы. Например, если клиент посмотрел несколько цветов и размеров одного товара, а вы хотите вывести в письмо только один продукт из группы.
- Для вывода идентификатора продукта или категории нужно указывать внешнюю систему. Это позволит нам в будущем добавить в продукты дополнительные поля с типом идентификатор.
Временно продукты выводятся через технический узел NewRetail. Он нужен для корректного перехода от старых параметров к новым. По окончании работ он будет удалён.
Подробнее об изменениях:
1. FilteredProducts – набор отфильтрованных продуктов
Заменили его на полностью новый параметр Products.
- Добавили метод GetBySegment(“Системное имя сегмента”) – выводит продукты из сегмента.
- All, WithMax1-20 – заменили на Take(“количесвто записей”) (выводит нужное вам количество продуктов)
- ForRecipientByProduct, ForRecipientBySku – AvailableForRecipient (выбирает доступные в регионе клиента товары)
- Добавили параметр SinglePerGroup – выводит по одному товару из группы
- Take – вывести нужное вам количество товаров
Удалённые параметры:
- DistinctCategories – устаревший параметр
- Filtered – устаревший параметр
2. Product – продукт из триггера
- Categories.ExternalId – заменили на Categories.IDs
- DisplayName – заменили на Name (выводит корректное название продукта)
- Manufacturer.DisplayName – заменили на VendorName
Удалённые параметры:
- FilteredSku – параметр больше не нужен, так как все данные теперь хранятся в продуктах
- RegionalData – параметр больше не нужен, так как региональные данные подставляются по умолчанию
3. Session – действия клиента в сессии
- AddedProductsToProductList – заменили на GetAddedProductsToList (включает в себя изменения аналогичные п.1)
- CategoryActions, OrderedCategoryActions – заменили на GetCategoryActions (включает в себя изменения аналогичные п.1)
- ProductRelatedActions, PersonalOfferRelatedActions, ProductActions – заменили на GetProductActions (включает в себя изменения аналогичные п.1)
4. Order – заказ
- BackendExternalId, ExternalIdentities, WebsiteExternalId, Id – заменили на IDs
- Date – заменили на DateTime
- DefaultAmount – заменили на BaseAmount
- Discounts, TotalBalanceChanges – заменили на AppliedPromotions
- LastUpdateCustomerAction – заменили на LastPointOfContact
- PaymentTypes, Payments.PaymentType – заменили на Payments.PaymentTypeName
- Purchases – заменили на Items
- TotalPrice – заменили на TotalAmount
Удалённые параметры:
- DeliveryType, DistinctPurchases – устаревшие параметры
- ProductRecommendations – устаревшие рекомендации
5. RetailPosition – позиция заказа
Заменили его на полностью новый параметр OrderItem
- Cost – заменили на BasePrice
- Discounts – заменили на DiscountAmount
- RetailOrder – заменили на Order
- StockKeepingUnit – заменили на Product (включает в себя изменения из п.2)
Удалённые параметры:
- RecommendationsForProduct – устаревшие рекомендации
6. CustomerActionProduct – связанное с продуктом действие клиента
- DateTimeMoscow – заменили на DateTime
- Product – заменили на Products (включает в себя изменения из п.2)
Удалённые параметры:
- TotalBalanceChanges – устаревший параметр
- ExternalIdentifiers – устаревший параметр
7. ProductListItem – продукт из списка продуктов
- Product – заменили на Products (включает в себя изменения из п.2)
- StockKeepingUnit – заменили на Product (включает в себя изменения из п.2)
- Добавили параметр PriceOfLine – выводит цену за позицию в списке
Удалённые параметры:
- IsCountAvailable – устаревший параметр
8. Recipient – клиент, которому будет отправлено письмо
- LastBoughtProducts – заменили на RecentlyBoughtProducts (включает в себя изменения аналогичные п.1)
- LastViewedProducts – заменили на GetProductActions("Системное имя шаблона действий"). Новый параметр позволяет явно указать, из какого шаблона действий мы хотим получить данные (включает в себя изменения аналогичные п.1)
- Orders – обновили структуру параметра. Теперь параметр работает через сегмент по действиям, что позволяет явно ограничивать необходимую выборку заказов
- PersonalProductLists – заменили на GetProductList(“Системное имя списка продуктов”) (включает в себя изменения аналогичные п.1)
- Balances – заменили на GetBonusPointsAccount(“Системное имя балльного счёта”)
- Segmentations – заменили на IsInSegment(“Системное имя сегмента”)
- AbandonCart – заменили на Card.AnyType
Удалённые параметры:
- AbandonCart – устаревший параметр
- BalanceChange – устаревший параметр
- BalanceChangeDecimal – устаревший параметр
- FullAddress – устаревший параметр
- Location – устаревший параметр
- ProductRecommendations – устаревший параметр
- Subscriptions – устаревший параметр
9. CustomerBalanceChange – изменение баланса
- ExpirationDateTimeMoscow – заменили на ExpirationDateTime
10. CustomerAction – действие клиента
- ExpirationDateTimeMoscow – заменили на ExpirationDateTime
Удалённые параметры:
- ExternalIdentifiers – устаревший параметр
- TotalBalanceChanges – устаревший параметр