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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

12000 руб.

20.03.2019    25099    57    0    

40

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

Расширение для 1С. Контролируйте реальные переговоры менеджеров прямо в 1С: смотрите статистику звонков, слушайте разговоры и быстрее находите слабые места в продажах.

6100 руб.

08.05.2026    470    0    0    

0

Телефония, SIP Пользователь 1С 8.3 Абонемент ($m)

Расширение для работы с телефонией Билайн. Код открыт и может быть доработан. Тестировалось на УТ 11.5, но должно работать на УТ11 / КА / ЕРП.

10 стартмани

02.04.2026    527    0    4361fmv    0    

0

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

Обработка загружает звонки по API MTS в документ Телефонный звонок.

10 стартмани

28.11.2025    930    5    user2175092    0    

2

Телефония, SIP 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Удобная универсальная обработка для быстрых звонков с мобильного телефона по контактам из 1С. Также поддерживается работа с электронными адресами, адресами сайтов, почтовыми адресами и другими видами контактов. Возможно копирование карточки контакта на мобильный телефон. Просто отсканируйте QR-код камерой телефона!

3 стартмани

26.11.2024    1867    2    bme    0    

3

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

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

1 стартмани

18.01.2024    3400    1    v3132    0    

3

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

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

18.01.2024    3225    slavik27    11    

5
Для отправки сообщения требуется регистрация/авторизация