При организации службы доставки еды или интернет-магазина часто возникает ситуация, когда у компании уже есть раскрученные мобильные номера телефонов, а обработку заказов необходимо автоматизировать через 1С. Главная задача — сделать так, чтобы при входящем звонке на мобильный номер в программе 1С автоматический высвечивалась карточка звонящего клиента или сразу открывался новый документ заказа.
Рассмотрим подробно варианты архитектуры такой системы, технические нюансы интеграции с 1С и потенциальные риски при использовании сотового оборудования.
Разберем основные технические схемы, с помощью которых можно связать входящие звонки на мобильные номера с программой 1С.
На локальный сервер или виртуальную машину под управлением Linux устанавливается программная АТС Asterisk (или её графические оболочки FreePBX / Issabel). Для подключения SIM-карт применяются аппаратные VoIP GSM-шлюзы (например, GoIP, Dinstar) или специализированные USB-модемы (Huawei). Интеграция с 1С осуществляется с помощью готовых модулей (MIKO Панель телефонии, Askozia) или собственного софтверного коннектора через AMI/ARI интерфейсы.
Чтобы не использовать физические SIM-карты и GSM-шлюзы, можно обратиться к сотовому оператору (МТС, Билайн, МегаФон) с запросом на перевод ваших мобильных номеров в услугу SIP-транка (многоканальный цифровой номер). В этом случае вызовы поступают по протоколу SIP через интернет напрямую в вашу АТС или Облачную АТС, что гарантирует многоканальность и высокую надежность связи.
Оператор связи предоставляет специальные корпоративные FMC SIM-карты. При вызове на такой номер сотовая сеть передает звонок прямо в АТС предприятия. Операторы могут принимать вызовы через обычные смартфоны с сохранением всех функций АТС (запись разговоров, перевод вызова, сквозная аналитика в 1С).
Бюджетный вариант для небольших служб. На смартфон оператора устанавливается мобильное приложение или Мобильный клиент 1С. При поступлении звонка средства мобильной операционной системы передают событие в 1С, после чего платформа ищет контрагента по номеру и выводит его данные на экран.
Проанализируем технические проблемы, с которыми сталкиваются компании при попытке собрать Call-центр на базе бытовых USB-модемов или дешевых GSM-шлюзов:
При проектировании интеграции с 1С необходимо учитывать клиентское окружение и платформенные механизмы:
ПоказатьОповещениеПользователя.Рассмотрим пример кода на стороне клиента в 1С, который обрабатывает событие входящего вызова, осуществляет поиск контрагента и открывает форму нового заказа:
&НаКлиенте
Процедура ОбработатьВходящийЗвонок(НомерТелефона)
// Очищаем номер от лишних символов
ОчищенныйНомер = ПодготовитьНомерКПоиску(НомерТелефона);
// Выполняем поиск контрагента на сервере
ДанныеКлиента = НайтиКонтрагентаНаСервере(ОчищенныйНомер);
Если ЗначениеЗаполнено(ДанныеКлиента.Контрагент) Тогда
// Оповещаем оператора о звонке известного клиента
ТекстОповещения = СтрШаблон("Звонит: %1 (%2)", ДанныеКлиента.Контрагент, ОчищенныйНомер);
ПоказатьОповещениеПользователя("Входящий вызов", , ТекстОповещения, БиблиотекаКартинок.Информация);
// Открываем форму создания заказа с заполненным клиентом
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("Контрагент", ДанныеКлиента.Контрагент);
ПараметрыЗаполнения.Вставить("Договор", ДанныеКлиента.ДоговорПоУмолчанию);
ПараметрыОткрытия = Новый Структура("ЗначениеЗаполнения", ПараметрыЗаполнения);
ОткрытьФорму("Документ.ЗаказПокупателя.ФормаОбъекта", ПараметрыОткрытия);
Иначе
// Клиент не найден - выводим оповещение и открываем форму для нового клиента
ПоказатьОповещениеПользователя("Новый клиент", , "Звонок с номера: " + ОчищенныйНомер);
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("ТелефонКонтакта", ОчищенныйНомер);
ПараметрыОткрытия = Новый Структура("ЗначениеЗаполнения", ПараметрыЗаполнения);
ОткрытьФорму("Документ.ЗаказПокупателя.ФормаОбъекта", ПараметрыОткрытия);
КонецЕсли;
КонецПроцедуры
ЗаказПокупателя для контроля качества работы операторов.