Интеграция с 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 Облачные Телекоммуникационные Технологии голосовое оповещение информирование

См. также

Облачная АТС Билайн - интеграция с 1С

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

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

12000 руб.

20.03.2019    22325    52    0    

35

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

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

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

4100 руб.

28.04.2022    13859    11    6    

36

Внешняя компонента для подключения 1С к телефонии Asterisk

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

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

2400 руб.

04.05.2018    44981    117    64    

60

Модуль интеграции с телефонией Новофон для 1С:УНФ 3.0

Телефония, SIP Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Модуль интеграции с виртуальной телефонией Новофон для решения 1С:Управление нашей фирмой, редакция 3.0.

12000 руб.

26.02.2024    308    0    0    

0

Звонок из 1С через сервис сайта zvonok.com

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

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

1 стартмани

18.01.2024    447    0    v3132    0    

3

Как мы проводили автообзвон должников

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

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

18.01.2024    639    slavik27    11    

5

Простые звонки, модификация расширения для УНФ

Телефония, SIP Адаптация типовых решений 8.3.14 1С:Управление нашей фирмой 1.6 Россия Абонемент ($m)

Модифицированное расширение "Простые звонки" для УНФ (1.6.25 и выше).

1 стартмани

20.09.2022    4598    2    Scroudge    3    

3

Интеграция с программой для звонков Softphone.Pro

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

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

1 стартмани

20.07.2022    2988    1    nikolay.surdo    0    

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