Автоматизация контроля качества — это важный этап развития любого бизнеса, особенно в сферах с большим потоком заказов, таких как производство мебели или логистика. Вместо содержания дорогостоящего call-центра можно использовать технологию IVR (Interactive Voice Response). В рамках данной статьи мы разберем, как настроить систему, которая по команде из 1С будет звонить клиенту, просить его оценить работу сотрудника и возвращать нажатую цифру обратно в информационную базу.
Рассмотрим ситуацию: нам нужно избежать долгой настройки собственного сервера телефонии (например, Asterisk) и воспользоваться готовым облачным решением с открытым API. Проанализировав рынок и опыт участников обсуждения, выделим несколько вариантов:
Разберем по шагам технологическую цепочку, которая позволяет реализовать этот функционал:
POST или GET запрос к API выбранного сервиса. В запросе передаются номер телефона клиента, ID сценария или текст, который нужно озвучить.Для того чтобы 1С могла принять ответ от сервиса, в конфигурации необходимо создать HTTP-сервис. Выясним причину, почему это лучше, чем просто опрашивать сервис по расписанию: это обеспечивает мгновенную реакцию системы. Если клиент поставил низкую оценку, ответственный менеджер может получить уведомление в ту же секунду.
Рассмотрим пример кода для отправки запроса на обзвон (инициация):
&НаСервере
Процедура ИнициироватьОбзвон(НомерТелефона, ИмяСценария)
Запрос = Новый HTTPЗапрос;
Запрос.АдресРесурса = "/api/v1/make_call"; // Условный адрес API сервиса
Запрос.Заголовки.Вставить("Authorization", "Bearer " + ТокенДоступа);
Запрос.Заголовки.Вставить("Content-Type", "application/json");
ПараметрыЗвонка = Новый Структура;
ПараметрыЗвонка.Вставить("phone", НомерТелефона);
ПараметрыЗвонка.Вставить("scenario", ИмяСценария);
ПараметрыЗвонка.Вставить("callback_url", "https://mybase.ru/hs/QualityControl/v1/result");
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ПараметрыЗвонка);
СтрокаТело = ЗаписьJSON.Закрыть();
Запрос.УстановитьТелоИзСтроки(СтрокаТело);
Соединение = Новый HTTPСоединение("api.callservice.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
КонецПроцедуры
Когда клиент нажимает цифру, сервис обращается к нашему HTTP-сервису. Нам нужно проанализировать входящие данные и записать оценку в документ или справочник 1С.
Функция ОбработатьРезультатОбзвона(Запрос)
// Получаем тело запроса от сервиса
ТелоСтрокой = Запрос.ПолучитьТелоКакСтроку();
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТелоСтрокой);
Данные = ПрочитатьJSON(ЧтениеJSON);
НомерТелефона = Данные.phone;
Оценка = Данные.dtmf_value; // Нажатая клиентом цифра
// Здесь мы ищем заказ по номеру телефона и записываем оценку
// Например: Справочники.ОценкиКачества.СоздатьЗапись(НомерТелефона, Оценка);
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки("OK");
Возврат Ответ;
КонецФункции
При реализации данной схемы следует учитывать несколько критически важных моментов:
Apache или IIS) и иметь "белый" IP-адрес, чтобы внешние сервисы могли до нее "достучаться".Проанализируем ситуацию с точки зрения управления персоналом. Внедрение автоматического обзвона решает сразу две задачи:
Таким образом, использование связки 1С + Облачный IVR сервис позволяет за несколько дней создать полноценную систему контроля качества без капитальных вложений в оборудование и сложную настройку телефонии.