Данный тип выгрузки позволяет выгружать торговые предложения на Kaspi.kz - крупнейший маркетплейс Казахстана.
Для начала работы вам необходимо иметь активированный и настроенный личный кабинет продавца Kaspi.kz.
Kaspi.kz поддерживает автоматическую загрузку торгового каталога - ссылка на настроенную XML-выгрузку указывается в личном кабинете продавца, после чего площадка каждые 30 минут проверяет прайс-лист на наличие обновлений.
Выгрузка создана на основе произвольной YML-выгрузки, что дает возможность гибкой настройки шаблона и блока offer с помощью переменных.
Создайте выгрузку в разделе бэк-офиса Товары → Товарные выгрузки:
Задайте название выгрузки. Оно нужно для вас, чтобы в списке выгрузок можно было найти нужную.
Выберите категории, товары из которых должны быть в выгрузке.
Укажите ID Партнера. Он используется только для внутренних настроек, для клиентов недоступен.
Укажите название вашего магазина, каким его видят покупатели на сайте.
В блоке "Параметры" для выгрузки необходимо выбрать необязательные параметры, которые используются в блоке Offer. Kaspi принимает только один такой необязательный параметр - Бренд, но необходимо подключать и параметры, которые используются для формирования самого перечня предложений.
Следующий блок параметров определяет:
1. В какой валюте будет производиться выгрузка цен. Опцию следует использовать при привязке к курсу ЦБ
2. Включать ли в выгрузку отсутствующие товары. Опцию рекомендуется включать, так как Kaspi.kz не обрабатывает товары не в наличии.
3. Выгружать ли товары с вариантами.
В поле "Шаблон выгрузки" содержится описательная часть выгрузки, включающая данные продавца и ссылку на описание структуры XML документа.
Важно: редактируйте его только в том случае, если точно уверены в том, что делаете.
Данный блок позволяет настроить шаблон и правила, по которым будет производиться настройка торговых предложений (блок Offer)
Технические требования по содержимому блока offer
Kaspi.kz на данный момент не поддерживает передачу необязательных параметров (кроме параметра Бренд), но вы можете использовать подключенные параметры в качестве переменных для гибкой настройки выгрузки.
Важно: Набор переменных в выгрузке несколько отличается от набора переменных, доступных в шаблонах магазина, полный список переменных для выгрузки см. ниже.
Настройки аккаунта. В переменной содержатся параметры из настроек аккаунта:
account.phone - телефон из настроек аккаунта
account.title - название интернет-магазина из настроек аккаунта
account.email - e-mail магазина
account.url - url магазина
marketplace.shop_name - значение поля "" в натройках выгрузки
marketplace.company - значение поля "Название компании" в натройках выгрузки
marketplace.shop_name - основной домен вашего магазина
currency.id - код данной валюты (USD, EUR и т.д.)
currency.rate - курс валюты указанный в Настройки->Валюты для данной валюты
currency.plus - надбавка к курсу указанная в Настройки->Валюты для данной валюты
Товар из каталога на сайте
product.id - идентификатор товара (уникальный числовой номер)
product.handle - пермалинк товара (название товара в URL)
product.title - название товара
product.available - наличие товара
product.price - цена товара (минимальная цена, если несколько модификаций)
product.price2, product.price3, ..., product.price(n) - вторая и последующая цена товара (при использовании типов цен)
product.old_price - старая цена товара (цена до скидки)
product.cost_price - закупочная цена
product.currency_id - код валюты товара
product.short_description - краткое описание товара
product.description - описание товара
product.raw_description - полное описание товара с html-тегами использованием XML-escape символов
product.original_description - полное описание товара с html-тегами для CDATA. Пример применения:
<description><![CDATA[{{ product.original_description }}]]></description>
product.image_urls - массив ссылок на изображения
product.images.last.url - последнее изображение товара
Проверка наличия изображений у товара:
{% if product.images.size %} ... {% endif %}
product.sku - артикул первой модификации
product.dimensions - габариты товара. Кроме того отдельно данные можно вывести по product.dimensions.width product.dimensions.depth и product.dimensions.height
product.vat - налоговая ставка товара
product.properties - массив параметров товара с единственным или одним из значений (product.properties.vendor - возвращает сразу значение параметра с handle vendor)
Вывод всех параметров выгрузки с единственным или одним из значений:
{% for property in product.properties %}
<param name="{{property[0]}}">{{property[1]}}</param>
{% endfor %}
product.full_properties - массив параметров товара со всеми их значениями
Вывод всех параметров выгрузки со всеми значениями:
{% for property in product.full_properties %}
<param name="{{ property.title }}">{% for item in property.characteristics %}{{ item.title }}{% unless forloop.last %}, {% endunless %}{% endfor %}</param>
{% endfor %}
Вывод конкретного параметра:
{% for item in product.full_properties.handle.characteristics %}{{ item.title }}{% unless forloop.last %}, {% endunless %}{% endfor %}
product.supplementaries - массив сопутствующих товаров
В них работают те же переменные, что и у обычных товаров.
Вывод всех сопутствующих товаров:
{% if product.supplementaries.size > 0 %}
<rec>{{product.supplementaries | map: "id" | join: ","}}</rec>
{% endif %}
product.fields - массив доп. полей товара (product.fields.book - возвращает сразу значение поля с handle book)
product.canonical_collection - объект коллекция
product.variants - массив объектов модификаций
product.market_category - категория из спец. параметра "Категория Яндекс Маркета"
Вывод всех категорий Яндекс Маркета:
<categoryId>{% if product.market_category %}{{ product.market_category.id }}{% else %}{{collection.id}}{% endif %}</categoryId>
(market_category - возвращает объект со свойствами id, parent_id и name)
product.properties.kategoriya-tovara-v-google - значение параметра "Категория товара в Google"
product.variants.first - первый вариант товара
product.variants[n] - n-ый вариант товара
Вывод дополнительных полей товара:
<param name="Видео с YouTube">{{ product.fields['youtube'] }}</param>
Модификации товара
variant.id - id модификации
variant.title - название модификации. Например “Красный / 36"
variant.sku - артикул модификации
variant.quantity - остаток модификации
variant.price - цена модификации
variant.price2, variant.price3, ..., variant.price(n) - вторая и последующая цена модификации (при использовании типов цен)
variant.old_price - старая цена модификации
variant.cost_price - закупочная цена модификации
variant['Название свойства'] - Получение значений модификации
Вывод свойства "Размер":
{% if variant['Размер'] %}
<param name="Размер">{{ variant['Размер'] }}</param>
{% endif %}
Вывод всех свойств товара:
{% for option in product.option_name_titles %}
<param name='{{ option }}'>{{ variant[option] }}</param>
{% endfor %}
variant.barcode - штрих-код модификации
variant.image.url - ссылка на изображение модификации
variant.weight - вес модификации
variant.dimensions - габариты модификации
Переменная collection, соответствует категории из каталога товаров
collection.id - id коллекции
collection.handle - пермалинк коллекции
collection.title - название категории
collection.parent_id - id родительской категории
promo.id - идентификатор акции
promo.start_date - дата начала акции
promo.end_date - дата окончания акции
promo.description - описание акции
promo.url - ссылка на описание акции
promo.code - купон акции
promo.percent? - является ли скидка по акции процентной
promo.discount - размер скидки по акции
promo.matching_offers_ids - массив товаров подпадающих под акции.
Вывод массива товаров, попадающих под акции:
{% for offer_id in promo.matching_offers_ids %}
<product offer-id="{{offer_id}}" />
{% endfor %}
Если в произвольную выгрузку необходимо добавить вывод всех вариантов товаров, то нужно все содержимое блока offer "обернуть" в цикл:
{% for variant in product.variants %}
[здесь тег <offer> и его содержимое]
{% endfor %}
Тег <offer> при выгрузке всех вариантов товара:
<offer type='vendor.model' available='{% if variant.quantity != 0 %}true{% else %}false{% endif %}' {% if product.variants.size > 1 %}id='{{ variant.id }}' group_id='{{ product.id }}'{% else %}id='{{ variant.id }}'{% endif %}>
Тег <url> при выгрузке всех вариантов товара:
<url>{{ account.url }}/product/{{ product.handle }}{% if product.variants.size > 1 %}?variant_id={{ variant.id }}{% endif %}</url>
Важно: если нужно дописать utm-метку в тег <url>, то амперсант (&) нужно записывать как "&".