Черные и белые списки. Как настроить?
Начиная с версии itgrix_bx (на тот момент bx24asterisk) 2.15.0 и itgrix_amo 1.1.3 все черные/белые списки реализуются через кастомизацию need_registration.
Начиная с версий itgrix_bx 3.0.7 и itgrix_amo 2.2.0 **** настройка черного/белого списка для внутренних номеров доступна сразу из админки (интерфейса настройки) модуля.
Если у вас уже настроена фильтрация по внутреннему номеру в кастомизации, не забудьте отключить их перед настройкой аналогичной функции в админке, иначе нужные звонки могут не зарегистрироваться.

Фильтрация по внутреннему номеру

Черный список внутренних номеров позволяет не регистрировать в CRM звонок, пришедший на указанный в списке внутренний номер.
Белый список внутренних номеров наоборот позволяет регистрировать в CRM только те звонки, в которых участвовал один из заданных внутренних номеров.

Настройка через интерфейс модуля

Админка находится по адресу http://<Asterisk IP>:8077/config/black_white_list ****(где <Asterisk IP> - IP-адрес вашего Asterisk). Раздел в админке Бизнес-логика > Черный/белый списки.
Настройка черных/белых списков
  1. 1.
    Нужно выбрать один из режимов.
  2. 2.
    Добавить внутренние номера.
  3. 3.
    Сохранить.
При работе модуль проверяет сначала этот список, затем выполняет кастомизацию need_registration.

Кастомизация need_registration

Кастомизация настраивается в файле need_registration.php, он находится в каталоге:
itgrix_bx (Битрикс24)
itgrix_amo (amoCRM)
/opt/itgrix_bx/customizer/actions/
/opt/itgrix_amo/customizer/actions/
Для более ранних версий:
itgrix_bx (Битрикс24) ДО версии 3.4.0
itgrix_amo (amoCRM) ДО версии 2.6.0
/opt/itgrix_bx/custom/
/opt/itgrix_amo/custom/

Параметры

Вход:
1
{
2
"params": {<Набор данных о единичном разговоре в звонке.
3
См. раздел “Параметы разговора (conversation)>}
4
}
Copied!
Набор данных о разговоре (conversation) описан в статье Параметры звонка (call) и разговора (conversation) в кастомизациях.
Вернуть:
1
{
2
"data": {
3
"result":<Булева переменная: true - регистрируем, false - игнорируем>
4
},
5
"state": "success"
6
}
Copied!

Примеры для внутренних номеров

Начиная с версий itgrix_bx 3.0.7 и itgrix_amo 2.2.0 **** настройка черного/белого списка для внутренних номеров доступна сразу из админки (интерфейса настройки) модуля.
Пример: Для запрета регистрации звонков на определенные внутренние номера, например 101 и 102, настроим ЧЕРНЫЙ список:
1
$black_list = array('101', '102');
2
3
$key = $params['type'] == 2 ? 'to' : 'from'; // 2 = incoming
4
5
if (in_array($params[$key], $black_list)) {
6
$result = false; //все кто есть в списке не регистрируются
7
}
8
9
return array(
10
'state' => 'success',
11
'data' => array(
12
'result' => $result
13
),
14
);
Copied!
Пример: БЕЛЫЙ список по внутренним номерам 201 и 202:
1
$white_list = array('201', '202');
2
3
$key = $params['type'] == 2 ? 'to' : 'from'; // 2 = incoming
4
5
if (!in_array($params[$key], $white_list)) {
6
$result = false; //все звонки кроме белого списка не будут регистрироваться
7
}
8
9
return array(
10
'state' => 'success',
11
'data' => array(
12
'result' => $result
13
),
14
);
Copied!

Черный/белый список для транков

Реализуется через кастомизацию need_registration (см. выше).
Работает только для входящих звонков, так как только для них известно значение транка.
1
$result = true;
2
3
if ($params['type'] === 2) { // входящий
4
$trunks = array('123456', '555666');
5
6
// Белый список
7
if (!in_array($params['trunk'], $trunks)) {
8
$result = false;
9
}
10
// Черный список
11
//if (in_array($params['trunk'], $trunks)) {
12
// $result = false;
13
//}
14
}
15
16
return array(
17
'state' => 'success',
18
'data' => array(
19
'result' => $result
20
),
21
);
Copied!
Last modified 7h ago