retailCRM Документация

Интеграция 1С-Битрикс c системой

Интеграцию интернет-магазина на 1С-Битрикс с системой можно произвести с помощью модуля системы в Bitrix.Marketplace.

При установке модуль поможет выгрузить существующие заказы в систему.

После установки модуль будет:

Регистрация интернет-магазина в системе

Перед установкой зарегистрируйте ваш интернет-магазин в вашем экземпляре системы (раздел Администрирование > Магазины, например, в демо-версии):

Далее сгенерируйте API-ключ в разделе Администрирование > Интеграция > Ключи API, для взаимодействия системы и 1C-Битрикс, и привяжите к нему созданный магазин:

Подробнее об управлении ключами читайте в разделе Создание и редактирование ключа.

Установка решения в 1С-Битрикс

Запустится мастер установки.

Мастер установки. Шаг 1.1

На шаге 1.1 Вам необходимо указать адрес вашей системы (например, https://test.retailcrm.ru) и API-ключ, который вы сгенерировали ранее в системе:

Важно! Если в битриксе существует только один магазин, шаг 1.Сайты пропускается.

Мастер установки. Шаг 1.Сайты

На шаге 1.Сайты необходимо задать соответствие между Вашими магазинами в 1С-Битрикс и системе.

Важно! У всех Ваших магазинов в системе должен быть общий API-ключ.

Мастер установки. Шаг 2

На втором шаге необходимо указать соответствие значений справочников интернет-магазина и системы. Модуль сам пытается установить соответствие для типовых статусов. Там, где это не удалось сделать модулю, вам нужно указать соответствие самостоятельно:

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

После этого обновите страницу мастера: новые значения справочников должны подгрузиться.

Мастер установки. Шаг 3

На третьем шаге модуль позволяет задать соответствие между полями 1С-Битрикс и системы.

Важно! Если есть форма «обратной связи» или заказы «в 1 клик», и эти данные не попадают в стандартные заказы битрикс, то в систему они не подтягиваются.

Так же, если ведется работа с юридическими лицами, необходимо заполнить все поля, как указано на скриншоте ниже.

Мастер установки. Шаг 4

На четвертом шаге модуль позволяет вам выгрузить оформленные ранее заказы в систему. Выгрузка может занимать некоторое время (1000 заказов выгружаются около 5 минут). Ход процесса выгрузки будет показывать прогресс-бар.

При необходимости вы можете приостановить выгрузку и возобновить снова через некоторое время.

Выгрузив оформленные ранее заказы, вы сможете увидеть аналитические отчеты в Панели KPI. Мы рекомендуем выполнять этот шаг.

Мастер установки. Шаг 5

На пятом шаге настраивается выгрузка каталога товаров. Для этого необходимо выполнить следующие пункты.

1. Выбор инфоблоков и свойств

Выбраные инфоблоки будут выгружены в систему. На выбор вам будут предложены только те инфоблоки, которые содержат товары или имеют привязанные инфоблоки с торговыми предложениями. Параллельно с выбором инфоблоков можно выбрать следующие свойства: артикул, производитель, цвет, вес, размер — для этого необходимо указать свойство инфоблока, которое отвечает за хранение соответствующего свойства. Выбор свойства не обязателен.


2. Путь к файлу

По указанному пути будет сгенерирован файл в формате ICML, в котором будет находится структура каталога. По-умолчанию установлен путь — "/bitrix/catalog_export/retailcrm.xml". В случае смены пути, потребуется выполнение аналогичной настройки в системе.


3. Выбор периодичности выгрузки

На выбор будут даны три варианта:


1. Нет — при выборе данного пункта автоматически не будет настроена периодическая выгрузка каталога, и вам придется выгружать каталог каждый раз самостоятельно.

Этот вариант может быть полезен, если каталог товаров вашего интернет-магазин изменяется очень редко, или вы хотите настроить параметры выгрузки позднее.

2. Cron — выбор данного пункта приведет к автоматическому созданию специального профиля, который будет привязан к службе Cron сервера, на котором функционирует сайт интернет-магазина.
 Утилита cron работает в фоновом режиме и выполняет указанные задачи в указанное время.

Выбор данного пункта может быть полезен, если каталог содержит очень большую номенклатуру (более 10 000 товаров). Для этого пункта необходимо указать имя специального профиля экспорта.

3. Агент. В данном случае, также будет создан специальный профиль, который подключится к технологии «Агенты» в 1С-Битрикс, и выгрузка будет происходить автоматически раз в сутки.
 Агент - это php-функции, которые запускаются с определенной периодичностью. В начале загрузки каждой страницы система 
 автоматически проверяет, есть ли агент, который нуждается в запуске, и в случае необходимости исполняет его. Не рекомендуется 
 создавать агентов для длительных по времени выгрузок - лучше использовать cron. 

Данный вариант наиболее предпочтителен, если каталог содержит менее 10 000 товаров, то выгрузка происходит довольно быстро, и это никак не скажется на скорости работы сайта интернет-магазина.

В случае большой номенклатуры (более 10 000 товаров), необходима дополнительная настройка Агента на Cron. Для этого пункта также необходимо указать имя специального профиля экспорта.


4. Указание моментальной выгрузки

В результате установки флага «Выгрузить сейчас», произойдет выгрузка структуры каталога в указанный выше файл, сразу после установки модуля.
После выгрузки каталога в файл в системе необходимо зайти в раздел Администрирование -> Магазин -> Название магазина -> Вкладка "Каталог" и поставить галочку в поле «Загрузить каталог из ICML сейчас». В этом случае скачивание файла и его обработка начинаются практически моментально.


5. Указание имя профиля

После корректной настройки выгрузки каталога товаров, в разделе Магазин > Настройки > Экспорт данных, появится новый вид экспорта системы, в случае указания периодической выгрузки при установке, также появится профиль экспорта.



Примечание:
Для самостоятельной настройки выгрузки есть возможность создания собственного профиля экспорта.

Завершение мастера установки

В конце установки будут созданы 2 агента: один агент выгружает историю заказов из Битрикс в систему, второй агент генерирует каталог. Если выгрузка заказов настроена на агент, то заказы выгружаются в систему в момент вызова истории. В остальных случаях заказы выгружаются по событию.

Рекомендуется настраивать выполнение агентов на cron. Подробнее об этом в курсе Bitrix Framework.

Выгрузка службы доставки при обмене 1С-Битрикс – система

Если у вас к 1С-Битрикс подключены автоматизированные службы доставки, такие как eDost, у которых много профилей: Почта России, EMS, DHL и многие другие, то в системе вы можете воспользоваться возможностью выгрузки такого рода службы доставки.

На стороне системы должны быть настроены способы доставки. Если модуль системы был установлен до подключения службы доставки к Битриксу, то недостающие способы доставки нужно будет завести в систему вручную. Если модуль был установлен после подключения службы доставки, то способы доставки установятся автоматически, как и сама выгрузка службы. То есть для каждого заказа будет выгружаться стоимость доставки.

На стороне 1С-Битрикс необходимо сделать следующие настройки, если модуль системы был установлен после подключения службы доставки к системе 1С-Битрикс:

Перейдите в Настройки-Настройки модуля-системы, перейдите на вкладку "Настройки справочников".

Настройте соответствие способов доставки (предварительно настроив на стороне системы). Далее нажмите кнопку "Выгрузка служб доставок".

Настройка периодичности выгрузки 1С-Битрикс – система

При обновлении каталога товаров можно выделить два момента:

- генерация каталога (в формате yml/icml) на стороне клиента и

- загрузка его системой.

Система загружает каталог раз в три часа. Путь к файлу, который который необходимо выгрузить, задается в настройках магазина - нужно зайти в раздел Администрирование > Магазины > Выбрать магазин > Вкладка Каталог.

После установки модуля системы в 1С-Битрикс создается профиль для выгрузки. Чтобы посмотреть, нужно зайти в Рабочий стол > Магазин > Настройки > Экспорт данных. На скриншоте представлено два варианта:

- по умолчанию,

- выгрузка каталога системы.

Если выбрать второй вариант, нажав на него, можно открыть параметры выгрузки.

В случае, если вариантом периодичности выбран Агент, чтобы посмотреть список Агентов, нужно зайти в Рабочий стол > Настройки > Настройки продукта > Агенты.

Если нажать "Изменить" или "Добавить новый", можно назначить или поменять периодичность запуска задания на генерацию.

Периодичность синхронизации данных при обмене 1С-Битрикс – система

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

При своевременной выгрузке данных из каталога менеджеры вашей системы будут иметь актуальную информацию о наличии товара. Ситуация, когда товар заказан, а спустя какое-то время выясняется, что его нет в наличии, не возникнет.

Обмен заказами - это процесс синхронизации данных, когда заказы выгружаются в обе стороны:

- из 1С-Битрикс в систему:

- из системы в 1С-Битрикс:

Изменения в модуле интеграции версии V2.0

Дополнительные возможности

В модуле присутствует дополнительный функционал, позволяющий модифицировать данные приходящие из системы и уходящие в нее. Для этого в файле init.php нужно описать нужную функцию и произвести требуемые изменения данных.

Событие retailCrmBeforeCustomerSend

retailCrmBeforeCustomerSend — модификация данных клиента перед отправкой в систему.

function retailCrmBeforeCustomerSend($customer)
{
    //Ваши изменения
    return $customer;
}

Где $customer — сформированный массив данных клиента для отправки в систему.

Событие retailCrmBeforeOrderSend

retailCrmBeforeOrderSend — модификация данных заказа перед отправкой в систему.

function retailCrmBeforeOrderSend($order, $arFields)
{
    //Ваши изменения
    return $order;
}

Где $order — сформированный массив данных заказа для отправки в систему, а $arFields — массив полей заказа на сайте.

Событие retailCrmBeforeCustomerSave

retailCrmBeforeCustomerSave — модификация данных клиента, пришедших по истории из системы.

function retailCrmBeforeCustomerSave($customer)
{
    //Ваши изменения
    return $customer;
}

Где $customer — массив с измененными данными клиента, пришедший из системы.

Событие retailCrmAfterCustomerSave

retailCrmAfterCustomerSave — функция выполняющаяся сразу после сохранения на сайте изменений данных клиента, пришедших по истории из системы.

function retailCrmAfterCustomerSave($customer)
{
    //Ваши изменения
    return;
}

Где $customer — массив с измененными данными клиента, пришедшими из системы.

Событие retailCrmBeforeOrderSave

retailCrmBeforeOrderSave — модификация данных заказа, пришедших по истории из системы.

function retailCrmBeforeOrderSave($order)
{
    //Ваши изменения
    return $order;
}

Где $order — массив с измененными данными заказа, пришедший из системы.

Событие retailCrmAfterOrderSave

retailCrmAfterOrderSave — функция выполняющаяся сразу после сохранения на сайте изменений данных заказа, пришедших по истории из системы.

function retailCrmAfterOrderSave($order)
{
    //Ваши изменения
    return;
}

Где $order — массив с измененными данными заказа, пришедшими из системы.

Если перечисленных выше инструментов по какой-то причине недостаточно, то можно внести требуемые изменения непосредственно в код модуля без риска потери этих изменений при обновлении модуля. Для этого требуется скопировать файл с нужным классом в дирректорию /bitrix/php_interface/retailcrm/ и уже в нем производить модификацию. Данный механизм поддерживает изменение классов для работы с клиентами, заказами, событиями, экспортом каталога и другими вспомогательными механизмами.


Редакция от 24.01.2017 10:16