Интеграция с UniBell

20.06.22

Интеграция - Телефония, SIP

Описан процесс интеграции с UniBell (https://www.unibell.ru), облачные телекоммуникационные технологии.

Интеграция заключается в два этапа:

1) Отправка голосового сообщения

2) Обработка результата доставки голосового сообщения до абонента.

 

Реализация первого этапа.

На первом этапе происходит отправка POST - запроса с заданными параметрами.

Функция ОтправитьГолосовоеОповещение(Контрагент, ТекстОповещения) 
    
    ОповещениеОтправлено = Ложь;        
    
    Соединение = Новый HTTPСоединение("api.unibell.ru",,,,,3,); 
    
    IDУведомления = Строка(Новый УникальныйИдентификатор);
    
    Структура = Новый Структура;

    Структура.Вставить("reference",  IDУведомления);
    Структура.Вставить("sourceAddr", "78002220480");
    
    МобильныйНомер = ПолучитьКонтактнуюИнформацию(Контрагент, Справочники.ВидыКонтактнойИнформации.ТелефонСотовыйКонтрагенты);
    МобильныйНомер = "7" + Прав(СтроковыеФункцииКлиентСервер.ОставитьТолькоЦифрыВСтроке(МобильныйНомер), 10);
    Структура.Вставить("destAddr", МобильныйНомер);
    Структура.Вставить("attempsNumber", 1);
    Структура.Вставить("attempsInterval", 30);
    Структура.Вставить("scenarioData", "text=" + ТекстОповещения);
    
    // Формируем JSON для запроса
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина)); 
    
    ЗаписатьJSON(ЗаписьJSON, Структура);
    СтрокаJS = ЗаписьJSON.Закрыть();         
    
    Заголовки = Новый Соответствие;    
    Заголовки.Вставить("Content-Type", "application/json");
    Заголовки.Вставить("X-Authorization", "AccessKey (здесь указывается Ваш ключ API)");
    
    Запрос = Новый HTTPЗапрос("/apps/activate", Заголовки);
    Запрос.УстановитьТелоИзСтроки(СтрокаJS);
    
    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    
    Если Ответ.КодСостояния = 200 Тогда
        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
        Данные = ПрочитатьJSON(ЧтениеJSON, Ложь);
        Если Данные.status = "ok" Тогда
            //Записываем в регистр, чтобы в дальнейшем обработать по факту доставки оповещения до абонента
            МенеджерЗаписи = РегистрыСведений.ГолосовыеОповещения.СоздатьМенеджерЗаписи();
            МенеджерЗаписи.Период = ТекущаяДата();
            МенеджерЗаписи.ID = IDУведомления;
            МенеджерЗаписи.Контрагент = Контрагент;
            
            МенеджерЗаписи.ИнформацияЗапроса = СтрокаJS;            
            МенеджерЗаписи.Записать();
            
            ОповещениеОтправлено = Истина;
        КонецЕсли;        
    КонецЕсли;
    
    Возврат ОповещениеОтправлено;
    
КонецФункции

 

Реализация второго этапа.

Юнибелл по факту доставки/недоставки оповещения возвращает коллбэк.

Для этого необходимо реализовать на своей стороне HTTP-сервис, и в личном кабинете указать путь к нему. 

По этому адресу Юнибелл будут возвращать коллбэк по каждому оповещению.

Процесс создания HTTP-сервиса довольно простой и не относится к этой статье. Ниже представлен лишь код данного сервиса.

Функция ОбработатьВходящийЗапрос(Запрос) Экспорт
    
    Тип = Запрос.ПараметрыЗапроса.Получить("type");
    
    Если Тип = "endCallback" Тогда
        
        ИД = Запрос.ПараметрыЗапроса.Получить("reference");
        РезультатВыполнения = Запрос.ПараметрыЗапроса.Получить("state");
        КодОшибки = Запрос.ПараметрыЗапроса.Получить("error");
                
        НаборЗаписей = РегистрыСведений.ГолосовыеОповещения.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.ID.Установить(ИД);
        НаборЗаписей.Прочитать();
        
        Если НаборЗаписей.Количество() > 0 Тогда
            
            Запись = НаборЗаписей[0];
            Если Число(КодОшибки) = 0 Тогда
                Запись.Доставлено = Истина;
            КонецЕсли;
            
            ЗаписьJSON = Новый ЗаписьJSON;
            ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина)); 
            
            ЗаписатьJSON(ЗаписьJSON, Запрос.ПараметрыЗапроса);
            СтрокаJS = ЗаписьJSON.Закрыть();
            
            Запись.ИнформацияОтвета = СтрокаJS;
            НаборЗаписей.Записать();
            
            //Обработали успешно, ответим
            ОтветHTTP = Новый HTTPСервисОтвет(200);        
            Возврат ОтветHTTP;
            
        Иначе
            
            ОтветHTTP = Новый HTTPСервисОтвет(403);        
            Возврат ОтветHTTP;
            
        КонецЕсли;
        
    Иначе
        
        ОтветHTTP = Новый HTTPСервисОтвет(403);        
        Возврат ОтветHTTP;
        
    КонецЕсли;        
    
КонецФункции

 

ЮниБелл ЮниБел UniBell Облачные Телекоммуникационные Технологии голосовое оповещение информирование

См. также

Телефония, SIP Анализ продаж Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Связка 1С и виртуальных АТС (от Мегафон, Zadarma, Новофон ) позволит четко ответить на вопросы: кто звонил, когда звонил, кому звонил, сколько говорил, сколько ждал на линии, что особо актуально при удаленной работе операторов и менеджеров, о чем говорили, результат разговора, обработаны ли пропущенные звонки, прослушать сам разговор, запланировать встречу, звонок, напоминание по результатам разговора. Возможность позвонить клиенту прямо из 1С одной кнопкой, оставить комментарий о звонке, посмотреть по каждому партнеру и клиенту, контакту клиента историю его звонков и взаимоотношений.

9600 руб.

08.05.2020    28588    34    74    

45

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Облачные сервисы, хостинг Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Продукт интеграции возможностей Облачной АТС Билайн в систему 1С Предприятие 8. Звонки прямо из программы 1С, уведомления о текущих звонках, регистрация пропущенных и завершенных вызовов, ведение журнала, анализ данных об использовании мобильной связи.

12000 руб.

20.03.2019    23556    56    0    

39

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    48216    125    66    

68

Телефония, SIP Платформа 1С v8.3 1С:Бухгалтерия 3.0 Платные (руб)

С помощью данного расширения Вы сможете просматривать статистику звонков из информационной базы 1С, прослушать сам разговор, запланировать встречу, звонок, установить напоминание по результатам разговора, позвонить клиенту из 1С, используя одну кнопку, а также оставить комментарий о звонке, по каждому контрагенту сохраняется история звонков.

9600 руб.

30.01.2025    541    1    0    

2

Телефония, SIP Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 Россия Абонемент ($m)

Данная внешняя обработка позволяет делать звонки из программы 1С, используя сервис сайта zvonok.com.

1 стартмани

18.01.2024    1473    1    v3132    0    

3

Телефония, SIP Россия Бесплатно (free)

Делимся опытом разработки системы обзвона абонентов-задолжников.

18.01.2024    1562    slavik27    11    

5

Телефония, SIP Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Отображение информации о клиенте из 1С при входящем звонке — настраиваем интеграцию с Softphone.Pro.

1 стартмани

20.07.2022    3774    1    nikolay.surdo    0    

3
Оставьте свое сообщение