Автор дополнения
Артем Низовских
Пакетов
5
Закачек
97
Автор дополнения
Пакетов
5
Закачек
97
Версия 1.0.4-beta
Дата выпуска 20.09.2017
Загрузки 11
Просмотры 1 105
Внимание, этот компонент требует версию PHP 5.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
Модуль интеграции сайта на MODX Revolution и Bitrix24

Возможности:
  1. Плагин срабатывающий на событие msOnCreateOrder, автоматически создает новую сделку в CRM. Добавляет товары в справочник товаров, создает контакт. Если стоимость доставки не нулевая, то в сделке создает товар с название «Доставка»
  2. Плагин срабатывающий на событие msOnUpdateOrder, изменяет заказ в CRM при изменении заказа
  3. Плагин срабатывающий на событие msOnBeforeRemoveOrder, удаляет заказ из CRM
  4. Возможно подключение обратной синхронизации

Может работать со следующими сущностями CRM
  • Сделки — Deal
  • Валюты — Currency
  • Дела — Activity
  • Единицы измерения — Measure
  • Каталог — Catalog
  • Предложения — Quote
  • Компании — Company
  • Контакты — Contact
  • Лиды — Lead
  • Направления сделок — DealCategory
  • Разделы товаров — ProductSection
  • Счета — Invoice
  • Товарные позиции — ProductRow
  • Товары — Product
  • Справочники — Status

Гибкость


Вы можете использовать существующий функционал, отправлять в CRM любые данные с сайта, либо получать информацию из CRM. Дополнение не связано с MiniShop2. Существующий плагин можно использовать в качестве примера для написания собственного кода для работы с другими дополнениями.
Для использования функционала нужно открыть сущность и вызвать нужный метод.
if (!$mbc = $modx->getService('modbitrixcrm', 'modBitrixCRM', $modx->getOption('modbitrixcrm_core_path', null,
        $modx->getOption('core_path') . 'components/modbitrixcrm/') . 'model/modbitrixcrm/', $scriptProperties)
) {
    return false;
}

if ($contact= $mbc->loadService('Contact')){
    $contact->add(array(
	'NAME' => 'Иван', 
	'OPENED' =>'Y', 
	'ASSIGNED_BY_ID' => $mbc->config['assigned_by_id'],
	'TYPE_ID' => 'CLIENT',
	'SOURCE_ID' => 'WEB',
	'EMAIL' => array(array(
		'VALUE' => 'ivanov@mail.ru',
		'VALUE_TYPE' => 'HOME',
	))
    ), array(
	'REGISTER_SONET_EVENT' => 'N'
    ));
}


Настройка


В системных настройках (раздел modbitrixcrm) Вам нужно указать аккаунт и webhook. Получить его нужно в Битрикс24 — Приложения — Вебхуки — Входящие вебхуки. В правах доступа выбрать CRM.

В настройках статусов miniShop2 заполнить новое поле — ID cтатуса в Bitrix24



Настройка статусов в Битрикс24 — CRM — Настройки — Справочники — Стадии сделки.
ID статусов можно получить выполнив команду

if ($status= $mbc->loadService('Status')){
    $response = $status->entity->items('DEAL_STAGE');
    echo '<pre>'.print_r($response,1).'</pre>';
}


Для обратной синхронизации в системных настройках нужно указать код исходящего вебхука.
В настройках Исходящего вебхука в CRM указать адрес обработчика
http://sitename.ru/assets/components/modbitrixcrm/trigger.php
Тип события — Обновление сделки (ONCRMDEALUPDATE)

Для остальных событий необходимо написание собственных обработчиков — создавать класс 'modBitrixCRM[название_события_в_нижнем_регистре]'. Располагать в директории /core/components/modbitrixcrm/custom/triggers/
За пример можно взять файл
/core/components/modbitrixcrm/model/modbitrixcrm/triggers/modbitrixcrmoncrmdealupdate.class.php

1.0.4-beta

  • Добавлена настройка "hook_admin_id"
  • Добавлено пользовательское поле "MSORDER" в Битрикс24

Последние обсуждения в сообществе MODX.pro