Изменение номера перед отправкой в Б24

При необходимости, вы можете изменять номер телефона, полученный из АТС перед отправкой данных в CRM.

Это будет полезным, если вы хотите:

  • Автоматически добавлять код города к коротким номерам, набранным сотрудникам

  • Заменять 7 на 8 в начале номера, если входящие звонки у вас фиксируются с 7

  • Добавлять 8 в начале номера, если входящие звонки приходят без 8

  • ...

Редактируем файл /opt/bx24asterisk/custom/process_phone_number.php.

Если папки /opt/bx24asterisk/custom нет, редактируем файла /opt/bx24asterisk/customizer.php, после строки case 'process_phone_number'. (Предварительно нужно включить кастомизатор)

Пример обрезания номера и подстановки 8 в начале

В следующем примере для всех номеров, состоящих из 10 символов и более, в CRM попадет номер, в начале которого будет 8, а в конце - последние 10 цифр исходного номера телефона:

  • 4991234567 заменится на 84991234567

  • 1234567 останется неизменным

  • 39974991234567 заменится на 84991234567

  • 74991234567 заменится на 84991234567

  • +74991234567 заменится на 84991234567

$phone = $params['phone'];
// Получаем последние 10 цифр номера
if(preg_match('/([0-9]{10})$/', $phone, $match)){
// если в номере нашлось 10 цифр в конце, то прибавляем в начало восьмерку
$phone = '8' . $match[1];
}
return array(
'state' => 'success',
'data' => array(
'phone' => $phone,
),
);

В версиях старше 2.14.3 этот код уже имеется в кастомизации, его достаточно только раскомментировать.