Анонс modBitrixCRM - интеграция с Битрикс24
Повышение продаж является основной целью внедрения любой CRM системы. Битрикс24 не исключение.
Что такое Битрикс24?
Битрикс24 — это корпоративный портал, который имеет абсолютно все инструменты для автоматизации работы всей компании.
С помощью него Вы можете планировать рабочее время, назначать и исполнять задачи, создавать и контролировать сделки, вести учет клиентов и продаж.
На текущем этапе у компонента modBitrixCRM имеется следующий функционал:
Компонент добавлен в магазин, доступен здесь.
Что такое Битрикс24?
Битрикс24 — это корпоративный портал, который имеет абсолютно все инструменты для автоматизации работы всей компании.
С помощью него Вы можете планировать рабочее время, назначать и исполнять задачи, создавать и контролировать сделки, вести учет клиентов и продаж.
На текущем этапе у компонента modBitrixCRM имеется следующий функционал:
- Плагин срабатывающий на событие msOnCreateOrder, автоматически создает новую сделку в CRM. Добавляет товары в справочник товаров, создает контакт. Если стоимость доставки не нулевая, то в сделке создает товар с названием «Доставка»
- Плагин срабатывающий на событие msOnUpdateOrder, изменяет заказ в CRM при изменении заказа
- Плагин срабатывающий на событие msOnBeforeRemoveOrder, удаляет заказ из CRM
- Прием данных при изменении сделки в Битрикс24 (с использованием настраиваемого вебхука).
- Сделки — Deal
- Валюты — Currency
- Дела — Activity
- Единицы измерения — Measure
- Каталог — Catalog
- Предложения — Quote
- Компании — Company
- Контакты — Contact
- Лиды — Lead
- Направления сделок — DealCategory
- Разделы товаров — ProductSection
- Счета — Invoice
- Товарные позиции — ProductRow
- Товары — Product
- Справочники — Status
Компонент добавлен в магазин, доступен здесь.
Поблагодарить автора
Отправить деньги
Комментарии: 47
Дополнение не связано с miniShop2.В каком смысле не связано, если использует плагины на его события?
Да, текущие плагины сделаны для minishop. Но для установки modBitrixCRM не обязательно наличие minishop. Используя дополнение, можно сделать свои собственные плагины и сниппеты, работающие например с Shopkeeper. Либо вообще не привязываться к магазинам, а сделать хуки для FormIt.
Возможно неправильно выразился.
Возможно неправильно выразился.
Да, спасибо за разъяснение!
Ох, красота-то какая!
Опередили меня, мой модуль на подходе был, эх =)
Поставил на modx.pro хостинг протестировать, в логах такая беда:
При этом сделка не создается
Поставил на modx.pro хостинг протестировать, в логах такая беда:
[2017-09-19 16:56:47] (ERROR @ /home/*****/www/core/components/modbitrixcrm/model/modbitrixcrm/mbcsimpleresponse.class.php : 424) PHP warning: Declaration of mbcShortResponse::add($fields = Array) should be compatible with mbcResponse::add($fields = Array, $params = Array)
[2017-09-19 16:56:47] (ERROR @ /home/*****/www/core/components/modbitrixcrm/model/modbitrixcrm/mbcsimpleresponse.class.php : 424) PHP warning: Declaration of mbcShortResponse::update($id, $fields = Array) should be compatible with mbcResponse::update($id, $fields = Array, $params = Array)
[2017-09-19 16:56:47] (ERROR @ /home/*****/www/core/components/modbitrixcrm/model/modbitrixcrm/mbcsimpleresponse.class.php : 424) PHP warning: Declaration of mbcShortResponse::getlist($order = Array, $filter = Array) should be compatible with mbcSimpleResponse::getlist($order = Array, $filter = Array, $select = Array)
[2017-09-19 16:56:47] (ERROR @ /home/*****/www/core/components/modbitrixcrm/model/modbitrixcrm/modbitrixcrm.class.php : 104) PHP warning: Illegal string offset 'total'
[2017-09-19 16:56:47] (ERROR @ /home/*****/www/core/components/modbitrixcrm/model/modbitrixcrm/modbitrixcrm.class.php : 110) PHP warning: Illegal string offset 'total'
Вы бы хоть протестировали где еще, кроме как на своем хостингеПри этом сделка не создается
тестировал у себя, плюс при размещении тестировался, буду править)
поправил
Еще подправить бы:
Если хук создавал не юзер под id 1, то запрос не выполнится.
Думаю, лучше сделать админскую настройку с ID админа (автора хука).
В целом, функционально, но для простолюдина будет много проблем. В моем модуле функционала меньше, но само подключение проще, равно как и синхронизация, кстати без исходящего вебхука.
Я пихал в новые сделки свой ID заказа minishop2, при первичном подключении к bx24 вешал событие onCrmDealUpdate, и там уже манипулировал состоянием заказа.
'https://'.$this->config['account'].'.bitrix24.ru/rest/1/'.$this->config['webhook'].'/'
в makeRequest.Если хук создавал не юзер под id 1, то запрос не выполнится.
Думаю, лучше сделать админскую настройку с ID админа (автора хука).
В целом, функционально, но для простолюдина будет много проблем. В моем модуле функционала меньше, но само подключение проще, равно как и синхронизация, кстати без исходящего вебхука.
Я пихал в новые сделки свой ID заказа minishop2, при первичном подключении к bx24 вешал событие onCrmDealUpdate, и там уже манипулировал состоянием заказа.
Да, это поправлю. Пропустил)
Дадите затестить ваш модуль?)
Дадите затестить ваш модуль?)
да, но он в сыром виде. На рабочем проекте работает, но я его рихтую под нужды, смотрю баги, потребности, косяки, скорость. Позже выложу как сильно упрощенную версию Вашего модуля
Держите в курсе. Очень нужен компонент с подобным функционалом.
Выглядит красиво. Осталось переубедить клиента отказаться от Битрикс в пользу Minishop.
было бы неплохо
Не выгодно. Пока из минишопа сделаешь, что-то порхожее он станет дороже и нормально так дороже.
Не путайте битрикс и бирикс24.
битрикс — php фреймворк, значительно сложнее modx, по личному мнению во многом уступает modx. В целом самый популярный фрейм в СНГ благодаря маркетингу. 90% из 100% отзывы от разработчиков отрицательные. Держится благодаря нехилым % по партнерке.
битрикс24 — CRM на базе фреймворка битрикс. Сравнивать битрикс24 с минишоп, равносильно как стул и шкаф. Оба из дерева, но функции выполняют разные.
битрикс — php фреймворк, значительно сложнее modx, по личному мнению во многом уступает modx. В целом самый популярный фрейм в СНГ благодаря маркетингу. 90% из 100% отзывы от разработчиков отрицательные. Держится благодаря нехилым % по партнерке.
битрикс24 — CRM на базе фреймворка битрикс. Сравнивать битрикс24 с минишоп, равносильно как стул и шкаф. Оба из дерева, но функции выполняют разные.
Так он вроде и не путает, битрикс и минишоп два движка магазина.
от Вас то такое слышать…
битрикс — фреймворк, минишоп — дополнение. Разницу чувствуете?
битрикс — фреймворк, минишоп — дополнение. Разницу чувствуете?
И это ни чего не меняет, оба движка магазина))) И дополнение, дополнению рознь) Ну и битрикс я бы не стал так огульно называть фреймворком. Они и сами позиционируют себя как CMS. В общем это по сути просто софистика, я к этому все веду.
от Вас то такое слышать…В смысле от меня такое слышать, я как думаю так и говорю?
это равносильно, если сравнивать minishop и modx.
Интернет-магазин на битриксе — одно из решений их продуктов.
Есть «Управление сайтом», там несколько редакций, функции ИМ появляются только от «Малый бизнес».
есть «Корпоративный портал», там вообще социальная сеть.
Opencart, Magento, insales, osCommerce — движки магазинов. У них цель на старте одна, продавать товары. Из коробки.
Umi, Bitrix, Netcat, Drupal, modx — CMS/CMF
Minishop2, woocommerce, Drupal Commerce — дополнения. Если cms перестанут поддерживать, дополнение умрет.
Неужели разница так не очевидна?
Интернет-магазин на битриксе — одно из решений их продуктов.
Есть «Управление сайтом», там несколько редакций, функции ИМ появляются только от «Малый бизнес».
есть «Корпоративный портал», там вообще социальная сеть.
Opencart, Magento, insales, osCommerce — движки магазинов. У них цель на старте одна, продавать товары. Из коробки.
Umi, Bitrix, Netcat, Drupal, modx — CMS/CMF
Minishop2, woocommerce, Drupal Commerce — дополнения. Если cms перестанут поддерживать, дополнение умрет.
Неужели разница так не очевидна?
Такое чувство что тебе поговорить не с кем, все вроде очевидно. Я просто хотел пошутить, за сим откланяюсь.
странный у вас юмор
Прошу подсказать а где запускать код для определения статуса сделки? В консоли браузера?
Установите дополнение Console
И еще — в статусах заказа в Minishop2 стоят подставленные фразы Won, Lose, New — их меняем на цифровое значение ID в Битрикс24?
Это стандартные ID статусов из Битрикс24
Подскажите как грамотно увязать привязку с AjaxForm? Примером, а то не совсем понятно.
В описании написано:
В описании написано:
Для отправки лидов в Битрикс24 сделан hook modBitrixLead для FormIt.Как при вызове через AjaxForm прописать параметр? Если как параметр пропишу боюсь из AjaxForm он сам не передастся — надо будет сниппет править?
Нужно добавить в FormIt параметр btxFieldnames, в котором указать в формате JSON соответствие полей. По-умолчанию:
{«name»:«NAME»,«message»:«COMMENTS»,«email»:«EMAIL»,«phone»:«PHONE»}
напишите в техподдержку
Подскажите, а как в форме файлы передавать в лиды? Как прописать JSON соответствие если грузим 1 файл, несколько файлов?
«files»:«WEBDAV_ELEMENTS»?
Не хватает хорошей техдокументации что и как настраивать. Уважаемый Артем, можно ли сделать демосайт?
С описанием примеров:
Я например настроил интеграцию, указал в настройках компонента ID пользователя (1), но почему-то упорно лид создается на другого пользователя (4). Лид создается с названием WEB 2018-08-25 10:17:12 — как настроить свое название? Понятно что можно обратиться в техподдержку, но хотелось бы самому научиться и разбираться во всем, не отвлекая каждый раз Автора компонента (к тому же нет желания ждать ответа, а хочется сразу самому все сделать пока код в голове «держишь»).
С описанием примеров:
- создаем, лид/сделку/контакт/компанию,
- интегрируем с FormIt/AjaxForm, с описанием оформления параметров; С добавлением файлов! — у меня из-за этого не работает форма и теряются лиды (а очень очень надо);
- получаем лид/сделку/контакт/компанию, меняем значение этих сущностей и сохраняем изменения в CRM;
- работа с разными аккаунтами CRM (в одной компании два разных отдела работают в разных аккаунтах), при едином движке двух сайтов (работа через контексты);
- создание записи в карточке Лида/Сделки/Контакта/Компании.
- Например, хотелось бы при возвращении клиента на сайт сделать запись в карточку клиента/сделки?
- И как задачи создавать? с привязкой к сущностям CRM (лид/сделка/контакт/компания)?
Я например настроил интеграцию, указал в настройках компонента ID пользователя (1), но почему-то упорно лид создается на другого пользователя (4). Лид создается с названием WEB 2018-08-25 10:17:12 — как настроить свое название? Понятно что можно обратиться в техподдержку, но хотелось бы самому научиться и разбираться во всем, не отвлекая каждый раз Автора компонента (к тому же нет желания ждать ответа, а хочется сразу самому все сделать пока код в голове «держишь»).
Артем, уверен что если добавите больше описания, популярность и продажи вашего компонента вырастут раз 10.Вы соц.опрос проводили по интернетам, чтобы знать, во сколько вырастут продажи? Очень смелое заявление, учитывая, что это единственный публичный компонент для интеграции Bitrix24 и MODX Revo. Те, кому это надо — купят в любом случае.
Да, документации маловато, я сам с ним просидел часок, пытаясь настроить форму, но если вы его действительно купили, то есть поддержка, где вам помогут. Я, честно, сам выступаю за увеличение информативной базы, но когда ты и компонент написал, еще и подробно по шагам документацию расписал, в MarkDown оформил, на гитхаб выложил — ты великий человек, у тебя очень много времени.
Прошу прощения, я что-то лишнего попросил? Я автору по проблеме работы формы с файлами (не работает интеграция с FormIT с формой где есть files) написал еще 05 мая, но он ответил что не работал с файлами, но обещал доработать компонент. Времени прошло много, реакции нет. Решил написать сюда публично, чтобы подтолкнуть автора что-то сделать (в техподдержку тоже написал). Надеялся что я не один такой, кому нужно больше информации. И при наличии большого отклика надеялся что дело сдвинется с мертвой точки.
Но чего Вы, Дмитрий, хотели добиться своим комментарием? Защитить Артема? От меня? Я что на него нападаю? Я всего лишь прошу. Это же можно? Я написал пост искренне желая развития столь замечательного компонента и я искренне благодарен Артему за его труд и не имею к нему претензий. Давайте по делу и без холивара.
Позиция что это «единственный» компонент не означает что надо к пользователям относится с позиции «те кому это надо». Мы таким отношением нисколько не популяризируем MODx сообщество. Это печалька. Вы Дмитрий видимо программист в первую очередь и продавец в последнюю очередь (извините хотя я Вас не знаю, не хочу оскорбить как-то). Почему так думаю — потому что часто программисты плохие продавцы ( и рассуждают с позиции «ох как рано встает охрана»). А хороший продавец думает о том как решить проблему покупателя.
Но чего Вы, Дмитрий, хотели добиться своим комментарием? Защитить Артема? От меня? Я что на него нападаю? Я всего лишь прошу. Это же можно? Я написал пост искренне желая развития столь замечательного компонента и я искренне благодарен Артему за его труд и не имею к нему претензий. Давайте по делу и без холивара.
Позиция что это «единственный» компонент не означает что надо к пользователям относится с позиции «те кому это надо». Мы таким отношением нисколько не популяризируем MODx сообщество. Это печалька. Вы Дмитрий видимо программист в первую очередь и продавец в последнюю очередь (извините хотя я Вас не знаю, не хочу оскорбить как-то). Почему так думаю — потому что часто программисты плохие продавцы ( и рассуждают с позиции «ох как рано встает охрана»). А хороший продавец думает о том как решить проблему покупателя.
Я абсолютно согласен, что документация нужна, но если она не появилась с самого начала, то появится, скорее всего, тогда, когда у человека будет время. Я придираюсь именно к вашим словам
продажи вашего компонента вырастут раз 10ибо это абсурдные, взятые с потолка цифры, и таких заявлений в этом сообществе можно найти десятки, где каждый «продавец» убеждает автора в том, что если он сделает так, как хочет этот самый «продавец», то всем будет счастье и миллионы долларов.
Ну тут есть некая попытка замотивировать Артема. Именно из-за того что это пока единственное решение — оно имеет все шансы вырасти в количестве инсталляций в 10 раз. Т.к. пользователей Битрикс24 — несколько миллионов. Я по себе сужу: Я не могу нормально продавать решения с использованием этого компонента — только потому что я сам внедрил это решение буквально на пару сайтов, и уже спотыкаюсь, из-за множества непоняток что как делать. А так бы уже давно поставил этот компонент еще на 10-20 сайтов (всем своим клиентам которые сидят на Битрикс24). Вот мне сейчас надо будет предлагать решение для автоворонок, туннелирования. С этим компонентом это можно хорошо сделать. Но не хватает гайда. Это крайне крутой инструмент. Но как с ним работать пока не понятно. Придется вкуривать и сидеть изучать документацию. А хотелось инструкции.
Хочу купить модуль, но не могу понять как привязать к Formit, вроде логично что хук просто должен ловить значения с определенным именем полей и отправлять, но не понятно что за btxFieldnames.
То есть в параметрах вызова обработчика нужно ставить этот параметр со значением json?
Можно хотя бы просто пример вызова сделать, что бы наглядно было понятно?
То есть в параметрах вызова обработчика нужно ставить этот параметр со значением json?
Можно хотя бы просто пример вызова сделать, что бы наглядно было понятно?
[[!AjaxForm?
&form=`tpl.AjaxForm.nku.biz_form2_zayvka_na_raschet_stoim`
&snippet=`FormIt`
&hooks=`FormItSaveForm,modBitrixLead,email`
&btxFieldnames=`{"name":"NAME","message":"COMMENTS","email":"EMAIL","phone":"PHONE","files":"UF_CRM_1535460191386","file":"UF_CRM_1535484302510"}`
&emailTpl=`tpl.email`
&validate=`name:minLength=^2^,email:email:required,message:minLength=^10^,phone:phone:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
Артем, а как быть с вопросом привязки заявки к конкретному пользователю?
Как изменить название заявки по умолчанию?
Выше я вопрос задавал.
Как изменить название заявки по умолчанию?
Выше я вопрос задавал.
заявка не привязывается
также в ТП я вам задавал вопрос по поводу нужных примеров, но вы так и не ответили
&btxTITLE=`'@INLINE заявка`
можете написать чего не хватает — поправлютакже в ТП я вам задавал вопрос по поводу нужных примеров, но вы так и не ответили
Супер, название лидов теперь могу задавать как надо.
&btxTITLE=`Заявка c сайта [[*pagetitle]]`
А как заявку можно к конкретному пользователю привязать? Страниц может быть много, за разные страницы будут отвечать разные пользователи. Как вариант вижу создать пользовательское поле, в него забивать id пользователя, затем с помощью роботов исправлять пользователя по заявке. Но это можно делать только на платной версии Битрикс24. Как быть тем кто будет сидеть на бесплатной. Лучше бы добавить возможность указывать id пользователя. Может есть такая настройка? аля &btxASSIGNED_BY_ID?
добавил событие «OnBtxBeforeSendLead»
можете на него сделать плагин добавлять в передаваемые параметры id контакта
можете на него сделать плагин добавлять в передаваемые параметры id контакта
Спасибо! А можно пример для особо (ленивых разбираться и не понимающих) как я :))
Я пытался разобраться с API Битркис24, чувствую что без сто грамм не разберуся
Я пытался разобраться с API Битркис24, чувствую что без сто грамм не разберуся
примерно так, сам не тестил
<?php
switch ($modx->event->name){
case 'OnBtxBeforeSendLead':
if (isset($params['CONTACT_ID']) && !empty($params['CONTACT_ID'])) return;
$contact = $mbc->loadService('Contact');
//поиск существующего контакта по email
$response = $contact->getlist(['DATE_CREATE'=>'DESC'], ['TYPE_ID'=> 'CLIENT', 'EMAIL' => $params['EMAIL'][0]['VALUE']], ['ID', 'EMAIL']);
if (!isset($response['error']) && !empty($response['result'])){
$params['CONTACT_ID'] = $response['result'][0]['ID'];
}
else{
//создание нового
$response = $contact->add([
'NAME' => $params['NAME'],
'OPENED' =>'Y',
'ASSIGNED_BY_ID' => $mbc->config['assigned_by_id'],
'TYPE_ID' => 'CLIENT',
'SOURCE_ID' => 'WEB',
'EMAIL' => [[
'VALUE' => $params['EMAIL'][0]['VALUE'],
'VALUE_TYPE' => 'HOME',
]]
], [
'REGISTER_SONET_EVENT' => 'N'
]);
if (!isset($response['error']) && !empty($response['result'])){
$params['CONTACT_ID'] = $response['result'];
}
}
$values = & $modx->event->returnedValues;
$values['params'] = $params;
break;
}
Добрый день. Возможна установка и настройками вашими силами и сколько это будет стоить? Спасибо.
напишите список задач на почту nizart91@mail.ru
Удалил все товары и категории, которые созданы компонентом в б24. Зашёл в эти товары в админке сайта, сохранил и они больше не появляются в б24. Видимо, пытается крепить на айдишники, которые уже удалены. Как с этим быть?
После переключения настроек на другой портал б24, товары не создаются. Возможно так же виноваты айдишники.
Разберитесь, пожалуйста.
После переключения настроек на другой портал б24, товары не создаются. Возможно так же виноваты айдишники.
Разберитесь, пожалуйста.
Господа, уберегите себя от покупки. Компонент НЕ РАБОТАЕТ! Цитата из переписки с технической поддержкой данного компонента: «… плагин, который можно использовать в качестве примера для написания собственного кода...».
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.