Интеграция с Яндекс Маркет

Интеграция с Яндекс Маркет (guryev.ym) - решение для Битрикс

Интеграция с Яндекс Маркет

0
3 000 руб
Интеграция с Яндекс Маркет (guryev.ym) - решение для Битрикс

Модуль представляет собой интеграцию Вашего Битрикс сайта с Маркетплейсом Яндекс Маркет (Yandex market). Вы сможете автоматизировать экспорт цен и остатков и уже через 5 минут!

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


Возможности:

  1. Выгрузка цен товаров в Яндекс Маркет. Вы можете выгружать цены для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron.

  2. Выгрузка остатков товаров в Яндекс Маркет. Вы можете выгружать остатки для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron.

  3. Многопрофильность. Поддержка неограниченного количества профилей Яндекс Маркет. Поддержка неограниченного количества различных настроек под необходимый профиль Яндекс Маркет. Поддержка работы с неограниченным количеством магазинов Яндекс Маркет.

  4. Журнал обмена. Просматривайте информацию об экспорте/импорте или ошибках в Журнале обмена

  5. Многофункциональный фильтр. Настройте фильтр на экспорт цен и остатков, который соответствует Вашим конкретным условиям

  6. Высокая отказоустойчивость. Модуль будет пытаться автоматически обработать некорректные данные и возникающие ситуации как со стороны Битрикса, так и со стороны Яндекс Маркет. Если автоматически не удастся решить проблему, то она будет зафиксирована в Журнале обмена, а работа модуля продолжится.

  7. Обработчики событий модуля. Вы можете программно переопределить данные при экспорте цен и остатков через обработчики событий модуля (список событий с примерами кода приводится далее в описании)

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


Алгоритм для базовой настройки экспорта цен, остатков:

  1. В Основных настройках задать данные для подключения к API Яндекс Маркет и настроить соответствие основных полей товаров

  2. В Тестировании выгрузки можете проверить корректность выгрузки цен, остатков в Яндекс Маркет

  3. Для массовой выгрузки необходимо активировать нужных агентов выгрузки (цен, остатков), либо поставить нужные скрипты выгрузок на cron (пути на скрипты описаны далее)

  4. Наслаждаться автоматизированным экспортом в Яндекс Маркет


Важно:

1. У ваших свойств в настройках соответствующего инфоблока в Битриксе, должны быть заданы Коды (а не только Название)


Нюансы:

  1. По умолчанию выгрузка цен и остатков доступны на Агентах, но их надо Активировать и при желании изменить периодичность запуска (НЕ рекомендуется ставить слишком часто). Крайне рекомендуется настроить экспорт/импорт не через Агенты, а с использование Cron. Если настроено через Агенты, то данные будут обрабатываться постепенно при каждом запуске агента (так необходимо, чтобы у клиентов не тормозил Ваш сайт), если настроено через Cron, то будет полная обработка необходимых данных.

  2. Если в функции Агента в скобках () указано число, то это ID профиля, под который настраивается Агент. Если в скобках () нет числа, то это Агент под профиль с ID = 1


Крайне рекомендуется поставить все экспорты на Сron. После перевода скриптов на Cron деактивируйте соответствующие Агенты модуля (если ранее их активировали). Пути скриптов (начало пути может отличаться от вашего - уточняйте у штатного программиста или в ТП хостера). Пример настроек для профиля с ID = 1:

  1. Выгрузка цен /public_html/bitrix/tools/guryev.ym/cron/export_prices.php

  2. Выгрузка остатков /public_html/bitrix/tools/guryev.ym/cron/export_stocks.php


Примечание: для настройки Cron под профили с ID не равным 1 необходимо добавлять аргумент с id профиля (profile_id). Например, чтобы поставить на cron Выгрузку цен для профиля с ID = 2, необходимо, чтобы после export_prices.php было написано profile_id:2, т.е путь cron скрипта будет иметь примерно следующий вид: /public_html/bitrix/tools/guryev.ym/cron/export_prices.php profile_id:2


Обработчики событий:

Доступны обработчики событий для программистов. Примеры обработчиков для init.php:

  1. Переопределить значения при выгрузке цен товаров в Яндекс Маркет: AddEventHandler("guryev.ym", "OnExportPrice", ["MyClassGuryevYm", "OnExportPrice"]);

  2. Переопределить значения при выгрузке остатков товаров в Яндекс Маркет: AddEventHandler("guryev.ym", "OnExportStock", ["MyClassGuryevYm", "OnExportStock"]);

Примечание к обработчикам: в OnExportPrice, OnExportStock собственная реализация фильтра/отсева товаров недопустима, и может повлечь отсутствие выгрузки данных. Для успешной выгрузки разрешено только переопределение значений!


Пример класса с обработчиками для init.php

*Не забудьте также подключить их через AddEventHandler

class MyClassGuryevYm

{

/**

* @param array $profileData - текущий профиль

* @param array $preparedData - данные для выгрузки (первый ключ - id Магазина в Яндекс Маркете; если ключ = 0, то выгрузка для всего личного кабинета)

* @return array

*/

public static function OnExportPrice(array $profileData, array $preparedData): array {

foreach ($preparedData as $campaignId => $values) {

foreach ($values as $key => $value) {

$updPrice = $value['price']['value'] + 200;

$preparedData[$campaignId][$key]['price']['value'] = (int)$updPrice;

}

}

return $preparedData;

}


/**

* @param array $profileData - текущий профиль

* @param array $preparedData - данные для выгрузки (первый ключ - id Магазина в Яндекс Маркете; если ключ = 0, то выгрузка для всего личного кабинета)

* @return array

*/

public static function OnExportPrice(array $profileData, array $preparedData): array {

foreach ($preparedData as $campaignId => $values) {

foreach ($values as $key => $value) {

$updPrice = $value["price"]["value"] + 200;

$preparedData[$campaignId][$key]["price"]["value"] = (string)$updPrice;

}

}

return $preparedData;

}

}

ВНИМАНИЕ! Для работы модуля необходим ключ API, который можно получить в личном кабинете партнера на Яндекс Маркет. Наборы и комплекты в выгрузке не участвуют.


При обращении по техническим вопросам обязательно указывайте - адрес сайта, логин и пароль администратора, параметры доступа к FTP.

Наш модуль уже успешно используют на наших проектах