К списку статей

Обновление полей лида

По умолчанию мы передаем в Битрикс стандартную информацию о звонке:

  • номер телефона клиента,
  • номер ответившего -> определяет того, кто станет ответственным за дело-звонок,
  • направление звонка (входящий/исходящий) - перенесется в название дела,
  • транк, на который пришел звонок, определяет источник в лиде,
  • и в комментарии к вновь созданному лиду будет указано, что он создан автоматически модулем.

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

  • убрать комментарий из лида, т.к. это поле используется операторами для заметок,
  • указать в дполнительно об источнике на какой транк поступил звонок.

По завершению звонка, появилась возможность изменить/обновить поля в лиде CRM Битркис24. Доступно с версии модуля 2.7.119

Как реализовать:

  1. В веб-интерфейсе настройках модуля (ip-asterisk:8077/config) установите галочку на пункте "Включить кастомизацию полей лида".

Image 2. Отредактируйте файл кастомизатора (/opt/bx24asterisk/customizer.php). Логика расположена в блоке 'get_updated_lead_fields'.

Ниже приведен скрипт, который в название лида пишет номер клиента, направление звонка либо, что звонок был пропущен, а в поле "Дополнительно об источнике" будет записан транк, через который прошел звонок:

case 'get_updated_lead_fields':
    // Нужно вернуть массив [обновляемое_поле = значение]

    $leadFields = array();
    $direction = 'Входящий ';
    $number = $params['from'];
    $trunk=$params['trunk'];

    if ($params['type_code'] == "outgoing") {
        $direction = 'Исходящий ';
        $number = $params['to'];
    }

    if ($params['was_answered'] == false) { // пропущенный звонок
        $direction .= 'пропущенный ';
    }

    $leadFields = array(
        'NAME' => $number . ' ' . $direction . 'звонок',
        'SOURCE_DESCRIPTION'=>$trunk,
    );

    return array(
        'state' => 'success',
        'data' => $leadFields
    );

Описание полей в API Битрикса

Описание данных о звонке, которые поступают на вход кастомизатора:

$params = array( //звонок
 "answered_at" => "2018-07-10 12:24:23", // Время начала звонка
 "channel_id" => "151231456.456",
 "conversations" => array(
  "151231456.789" => array( // Дочерний разговор, при переводах больше одного
   "answered_at" => "2018-07-10 12:24:55", // Время начала разговора
   "channel_id" => "151231456.789",
   "ended_at" => "2018-07-10 12:35:55", // Время завершения разговора
   "from" => "123",
   "parent_channel_id" => 151231456.456,
   "started_at" => "2018-07-10 12:24:46",
   "to" => "83432723033",
   "trunk" => 2723033,
   "type" => 3,
   "type_code" => "outgoing",
   "was_answered" => true
   )
  ),
 "ended_at" => "2018-07-10 12:35:55", // Время завершения звонка
 "from" => "123",
 "started_at" => "2018-07-10 12:24:46",
 "to" => "83432723033",
 "trunk"=> 2723033,
 "type" => 3,
 "type_code" => "outgoing",
 "was_answered" => true
);
Параметр Описание
answered_at Время начала звонка/разговора
channel_id ID текущего канала
ended_at Время завершения звонка/разговора
from Номер, с которого идет звонок
parent_channel_id ID родительского канала (звонка)
started_at Время начала звонка
to Номер, кому пришел звонок
trunk Номер (транк), на который пришел звонок
type Направление звонка: 2 - входящий, 3 - исходящий
type_code Название направления звонка: incoming - входящий, outgoing - исходящий
was_answered Был ли звонок отвечен: true - отвечен, false - нет