Itgrix База знаний
Asterisk-коннекторСтоимостьЛицензионное соглашениеКонтакты
  • Что такое Itgrix?
  • Наша история
  • Наши контакты
  • Блог
    • БД Itgrix
    • AsterPhone в Битрикс24
    • AsterPhone в AmoCRM
    • Настройка WebRTC в Asterisk (FreePBX)
    • Привязка звонка к сделке в Call Card в Bitrix24
  • Установка модуля
    • Требования к системе
    • Установка модуля интеграции Битрикс24 и Asterisk
      • Особенности настройки ограниченного режима
      • Настройка модуля для работы в закрытой сети
        • Особенности настройки click-to-call в коробочной версии 1С-Битрикс24 в закрытой сети
        • Как выполнить авторизацию оффлайн
        • Как получить лицензию оффлайн
    • Установка модуля интеграции AmoCRM и Asterisk
      • Особенности настройки ограниченного режима
      • Карточка звонка в amoCRM
  • Настройка функций модуля
    • Автораспределение звонка на ответственного менеджера
      • Передача номера транка и названия сущности при входящем звонке в CallerID
      • Как найти нужный дефолтный контекст
      • Автораспределение с учетом рабочего времени
      • Автораспределение в версии до 3.0.0
    • Настройка функций click-to-call
      • Особенности настройки после обновления Битрикс24 23.300.0
    • Тест-кейсы для проверки работы интеграции
      • Битрикс24
      • amoCRM
    • Доп функции
      • Сквозная аналитика Битрикс24 через Itgrix
      • Автоматическое поднятие трубки при звонках кликом из CRM
      • Распознавание FMC номеров
      • Выбор ответственного за пропущенный и за транк
      • Настройка задачи по пропущенному через админку
      • Автоматическое управление задачами по пропущенному звонку
  • Полезные кастомизации (любая CRM)
    • Обновление настроек кастомизатора в Itgrix_bx-3.9.0 и Itgrix_amo-2.12.0
    • Обновление кастомизатора в Itgrix_bx-3.4.0 и Itgrix_amo-2.6.0
    • Включение кастомизатора
    • Черные и белые списки. Как настроить?
    • Изменение номера клиента перед отправкой в CRM
    • Изменение параметров при click-to-call
    • PJSIP вместо chan_sip у избранных пользователей
    • Кастомизация имени файла аудиозаписи
    • Конвертация записей в формат MP3
    • Склеивание названия транка и имени контакта для показа в карточке звонка
    • Данные о звонке (call_full) в кастомизациях
    • Параметры звонка (call) и разговора (conversation) в кастомизациях
  • Полезные кастомизации itgrix_bx (Битрикс24)
    • Полезные кастомизации itgrix_bx (Битрикс24) [С историей]
    • Время ожидания ответа на звонок
    • Несколько внутренних номеров у сотрудника
    • Первый ответственный за новый лид/контакт
    • Добавление кода города в зависимости от города оператора
    • Убираем номера телефонов из названий сущностей
    • Разные ответственные по умолчанию за разные транки
    • Распределение ответственных по пропущенным звонкам
    • Кастомизация задач по пропущенным звонкам
    • Обновление полей сущности
    • Обновление полей дела
    • Длительность ожидания клиента на линии
    • Запросы в Битрикс из кастомизации
    • Кастомизации (для версий до 3.0)
    • Кастомизации (для версий до 2.15.0)
      • Более недоступный функционал
      • Кастомизация поиска
      • Обновление полей лида
      • Черно/белые списки для версии до 2.15.0
      • Изменения черных/белых списков в версии до 2.15.0
      • Новые возможности
    • Создавать лид для каждого входящего звонка
  • Полезные кастомизации itgrix_amo (amoCRM)
    • Обновление кастомизатора в версии Itgrix_amo 3.0.0
    • Добавление названия транка в тэг сделки
    • Добавление данных о звонке в тег новой сделки
    • Добавление тега при создании контакта/сделки
    • Запись номера транка через который пришел звонок в информацию о разговоре
    • Запросы в amoCRM из кастомизации
    • Добавление звонка в несколько сущностей
  • Как починить...
    • Прослушивание записи звонка в коробочной версии Битрикс24
    • Изменение статуса звонка, назначение ответственного за звонок, работа ч/б списков
    • Как починить click-to-call
    • Чиним прослушивание звонков
    • Amo. Ошибки о которых сообщает CRM
    • Свои SSL сертификаты для https запросов
    • Failed to fetch. ошибка на странице веб интерфейса модуля
    • Модуль опережает таблицу CEL на X записей
    • Авторизация модуля в Б24
    • Проблема с сертификатами Sectigo
    • Как включить загрузку смешанного контента в Firefox и Google Chrome 80
    • Если не регистрируется звонок переведенный на сотовый сотрудника (follow me)
    • Бесплатная лицензия или ограниченный режим.
    • Не всплывают уведомления о звонках в AMO
    • Не регистрируются звонки у определенного пользователя Битрикс24
    • Перестали регистрироваться события в CEL, перезагрузка модулей в Asterisk
    • Не работает CallTransfer
    • Не появляется карточка звонка в Б24 во время разговора
  • Для админов
    • Примеры структуры зарегистрированных звонков из CEL
    • Разворачивание бэкапа модуля
    • Полезные команды
    • Скрипт для проверки работы службы модуля
    • Изменение логина и пароля для входа в админку
    • Файлы модуля
    • Описание файла конфигурации (версия 3)
      • Описание файла конфигурации (до версии 3.0)
      • Изменения в конфиге до версии 2.15.0
    • Автозамена номеров телефонов
    • Мониторинг состояния
      • Пример мониторинга через Zabbix
    • В таблице CEL в столбце cid_num нет внутреннего номера сотрудника
    • Неверное время в созданных делах в Битрикс24
    • Настройка записи разговоров на стороне Asterisk
    • Установка и настройка CEL
    • Запуск дополнительной копии модуля
    • Решение для нескольких Астерисков
    • Примеры настройки WSS соединений
    • Задержка при показе окна
    • Реализация обратного звонка в Битрикс24
    • Использование стороннего хранилища записей
    • Размещение модуля на стороннем сервере
    • Обработка звонков за период
    • Ускорение работы модуля за счет параллельной обработки звонков
    • Настройка прав на просмотр детализации звонков
  • FAQ
    • Как оплатить решение
    • Предоставление доступа к серверам
    • Битрикс24.Маркет Плюс и Itgrix
    • Обновление приложения
    • Офлайн установка (только для Битрикс24)
    • Офлайн обновление
    • Сравнения версий Itgrix для Битрикс24
    • Возможности Itgrix в сравнение с SIP-коннектором для Битрикс24
    • Надежные софтфоны для Asterisk
    • Как посмотреть статистику по звонкам сотрудников
    • Как отключить отображение звонков в календаре
    • Политика оператора в отношении обработки персональных данных
    • Политика интеграции Asterisk
    • Детальные статусы звонка
    • Как оставить отзыв о приложении Itgrix в Битрикс24?
    • Как оставить отзыв о приложении Itgrix в amoCRM?
  • Change log (новые версии) itgrix_bx
  • Change log (новые версии) itgrix_amo
  • Бонусы
Powered by GitBook
On this page

Was this helpful?

  1. Полезные кастомизации itgrix_amo (amoCRM)

Добавление звонка в несколько сущностей

PreviousЗапросы в amoCRM из кастомизацииNextКак починить...

Last updated 2 years ago

Was this helpful?

По умолчанию при регистрации звонка, amoCRM записывает его только в одну сущность (контакте/компании/сделке), которую определяет .

Задача от клиента: в базе CRM на один номер телефона было сохранено несколько контактов с разными ответственными. Нужно сохранить звонок во все сущности с таким номером.

Звонок в сущности отображается как "примечание о звонке" в списке событий:

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

Для этого в текущей версии модуля нужно "сломать" регистрацию, вернув из кастомизации пустые параметры (см. пример).

Пример

Пример кода для добавления примечания о звонке во все контакты с данным телефоном (файл /opt/itgrix_amo/customizer/actions/process_call_params.php):

//
// Подготовка данных примечания о звонке
//
$callInfo = array(
    'responsible_user_id' => $params['responsible_user_id'],
    'created_by'          => $params['created_by'],
    'params' => array(
        'UNIQ' => $params['call']['id'],
        'LINK' => Utils::makeRecordingUrl(
            $params['call']['id'],
            $params['call']['from'],
            $params['call']['to']),
        'DURATION' => $params['duration'],
        'SRC' => 'Itgrix',
        'call_status' => $params['call_status'],
        'call_result' => $params['call_result'],
    ),
    'created_at' => date_create($params['call']['end_time'])->getTimestamp(),
);
if ($params['direction'] === 'inbound') {
    $callInfo['note_type'] = 10; // входящий
    $callInfo['params']['PHONE'] = $params['call']['from'];
} else if ($params['direction'] === 'outbound') {
    $callInfo['note_type'] = 11; // исходящий
    $callInfo['params']['PHONE'] = $params['call']['to'];
}
$this->logDebug("call info: ".json_encode($callInfo));

//
// Добавляем примечания о звонках в контакты с данным телефоном
//
$phone = $callInfo['params']['PHONE'];
$contacts = Amo::getContactsList(array(
    'query' => $phone,
    'limit' => 250,
));
if ($contacts === false) {
    return array(
        'state' => 'error',
        'data'  => "Failed to get contacts with phone '$phone'",
    );
} else if (empty($contacts)) {
    $this->logDebug('No contacts. Do nothing, return original params');
    return array(
        'state' => 'success',
        'data'  => $params,
    );
}

$contactIds = array();
foreach ($contacts['_embedded']['items'] as $contact) {
    array_push($contactIds, $contact['id']);
}
$this->logDebug(sprintf("Found contacts with phone '%s': %s", $phone, json_encode($contactIds)));
$res = Amo::addNoteToEntities($callInfo, 'contact', $contactIds);
if ($res === false) {
    return array(
        'state' => 'error',
        'data'  => "Failed to add notes to contacts",
    );
}

//
// Ломаем регистрацию звонка во избежание дублирования примечаний о звонке в сущностях
//
$this->logDebug('Return EMPTY params to avoid duplicate call notes (breaks AddCall)');
$params = array();
return array(
    'state' => 'success',
    'data'  => $params,
);

На данный момент в amoCRM звонок фигурирует только в виде "примечания о звонке" в карточке сущности (контакта/компании/сделки). Поэтому можно вместо регистрации звонка через добавить примечание о звонке с помощью . Таким образом, чтобы добавить звонок в несколько сущностей, нужно добавить одинаковые примечания о звонке.

Для этого нужно в кастомизации воспользоваться функцией Amo::addNoteToEntities, которая уже присутствует в поставке модуля (файл /opt/itgrix_amo/customizer/lib/crm.php).

API-метод calls
API-метода notes
по своему алгоритму
process_call_params