Установка
1. Войдите в личный кабинет Calltouch
2. Перейдите в личный кабинет
3. Затем в верхнем меню выберите «Интеграции»
4. Выберите «API и Webhooks»
5. На вкладке API включите ползунок на «Передавать данные по API», затем скопируйте содержимое поле «ID личного кабинета (site_id)» и вставьте его в поле «ID личного кабинета» в CRM.
6. Затем сгенерируйте значение поля «API токен (access_token)» и вставьте его в поле «Токен» в CRM. Нажмите кнопку «Сохранить».
7. Теперь перейдите во вкладку Webhooks и нажмите на кнопку «Добавить webhook».
8. Из CRM скопируйте «Базовый адрес для принятия уведомлений»
9. Вставьте скопированный адрес в поле «Адрес обработчика» в Calltouch, затем прокрутите страницу вниз и нажмите на кнопку «Сохранить».
Использование
Интеграция имеет 3 основных метода:
1. createDealCallTouch — создаёт сделку в Calltouch.
$pluginInstance = Kernel::getPluginsInstance()->getPlugin('plugin_name'); $result = $pluginInstance->getAction(\Kernel\Plugins\PluginManager::PLUGIN_TYPE_PHONE)->createDealCallTouch($deal);
- plugin_name — системное имя интеграции, как правило имеет вид plugin<номер> (пример plugin12)
- $deal — сделка для создания в Calltouch.
2. updateDealCallTouch — обновляет сделку в Calltouch
$pluginInstance = Kernel::getPluginsInstance()->getPlugin('plugin_name'); $result = $pluginInstance->getAction(\Kernel\Plugins\PluginManager::PLUGIN_TYPE_PHONE)->updateDealCallTouch($deal);
3. deleteDealCallTouch — удаляет сделки из Calltouch
$pluginInstance = Kernel::getPluginsInstance()->getPlugin('plugin_name'); $result = $pluginInstance->getAction(\Kernel\Plugins\PluginManager::PLUGIN_TYPE_PHONE)->deleteDealCallTouch($dealsIdsArray);
- $dealsIdsArray — массив ID сделок в CRM (пример [‘RBS-123’, ‘deal_5’])
Для корректной работы представленных методов в сделке необходимо создать следующие поля:
- calltouch_is_deal — 1 — сделка уже создана в calltouch, 0 — ещё не создана. Обязательное поле, без него методы работать не будут! (тип boolen)
- status_date — для фиксирования даты и времени перехода сделки на текущий статус, если поля нет или null, то записывается текущие дата и время (тип date)
- update_date — для фиксирования даты и времени обновления сделки, если поля нет или null, то записывается текущие дата и время (тип date)
- поля utm_source, utm_medium, utm_term, utm_campaign и utm_content (тип varchar, также создать в контактах)