Пишем в название номер клиента, направление звонка (исходящий/входящий), если он пропущен – дополнительно напишем это.
И в поле "Дополнительно об источнике" укажем транк, на который звонили.
С версии 3.10.0
// Для версий начиная с 3.10.0 модуль запускает эту кастомизацию на каждый звонок, обновляем поля только у новых сущностей.
// Нужно вернуть массив [обновляемое_поле = значение]
$newFields = array();
if ($params['call_full']['entity']['is_new']) {
// Пример: изменяем имя лида
$type = 'Входящий ';
$number = isset($params['call_full']['channel']['from']['custom'])
? $params['call_full']['channel']['from']['custom']
: $params['call_full']['channel']['from']['original'];
$trunk = isset($params['call_full']['channel']['trunk']['custom'])
? $params['call_full']['channel']['trunk']['custom']
: $params['call_full']['channel']['trunk']['original'];
// 2 - incoming, 3 - outgoing
if ($params['call_full']['channel']['type'] == 'outgoing') {
$type = 'Исходящий ';
$number = isset($params['call_full']['channel']['to']['custom'])
? $params['call_full']['channel']['to']['custom']
: $params['call_full']['channel']['to']['original'];
}
if (! $params['call_full']['channel']['was_answered']) { // пропущенный звонок
$type .= 'пропущенный ';
}
$newFields = array(
'NAME' => $number . ' - ' . $type . 'звонок', //изменяем название
'SOURCE_DESCRIPTION' => $trunk, //изменяем поле Дополнительно об источнике
);
} else {
$this->logDebug(sprintf(
"Entity is not new (type: '%s', ID: '%s'), do nothing",
$params['call_full']['entity']['type'], $params['call_full']['entity']['id']));
}
return array(
'state' => 'success',
'data' => $newFields,
);