Интеграция с облачным API Ростелеком


Реализованы три метода взаимодействия с API: входящие уведомления о статусах звонка, исходящий звонок, запрос записи звонка.
Конфигурация написана начиная с 8.3.10.*

В конфигурации реализован HTTP-сервис, который получает и разбирает запросы от облачной АТС. Для работы конфигурацию нужно опубликовать.

В обработке реализованы два простых HTTP-запроса на совершение звонка, и получении ссылки на запись звонка.

Подробности: https://cloudpbx.rt.ru/help/integratsionnyj_api.htm

Если возникают сложности с интеграцией, спрашивайте, с радостью поделюсь опытом.

7 Comments

  1. serg7965

    А в отладке взаимодействия пробовали запись по ссылке загрузить? Что-то не могу побороть. Браузер пишет Не удается отобразить эту страницу. С IP разными попробовал, не выходит.

    Reply
  2. dark_wolf

    (1) в режиме отладки запись не грузится… только пример ссылки выдается… я делал на реальных данных. На сервере делал запрос и тут же скачивание файла, IP не передавал, на клиенте передавал IP, и так и так работает. В src ответа возвращается ссылка на mp3 файл, если его открывать в системе — просто скачивается файл, но я делал через HTML вызов windows media для воспроизведения и регулировки скорости прослушки. Если нужно могу поделиться кодом вывода файла в HTML, если просто файл записать надо, можно методом КопироватьФайл(src, куда)

    Reply
  3. xabigv

    Добрый день, возникла проблема с подключением ответ приходит «Не найден клиент».

    {

    «result»: «-1»,

    «resultMessage»: «Не найден клиент»

    }

    шифрую так:

    Хэш=Новый ХешированиеДанных(ХешФункция.SHA256);
    Хэш.Добавить(«уникальный код идентификации»+ТекстЗапроса+»уникальный ключ для подписи»);

    подключение такое:

    Запрос = Новый HTTPЗапрос(«/call_back»,Заголовки);
    Запрос.УстановитьТелоИзСтроки(ТекстЗапроса,КодировкаТекста.UTF8);
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),Новый СертификатыУдостоверяющихЦентровWindows());
    Соединение = Новый HTTPСоединение(«api.cloudpbx.rt.ru»,,,,,,ЗащищенноеСоединение,);
    ответ = Соединение.ОтправитьДляОбработки(Запрос,ФайлОтвета);
    
    Reply
  4. dark_wolf

    (3) С момента публикации у них что-то поменялось, уже не помню, а руки все не доходят обновить, попробуйте вот такой код, если не ошибаюсь загвоздка в кодировке

    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Неопределено);
    Соединение = Новый HTTPСоединение(Сервер, Порт,,,,,ЗащищенноеСоединение);
    
    Хеш = Новый ХешированиеДанных(ХешФункция.SHA256);
    Хеш.Добавить(КодИдентификации);
    Хеш.Добавить(Тело);
    Хеш.Добавить(КлючДляПодписи);
    
    Запрос = Новый HTTPЗапрос(«/call_back»);
    
    Запрос.Заголовки.Вставить(«Content-type», «application/json»);
    Запрос.Заголовки.Вставить(«X-Client-ID», КодИдентификации);
    Запрос.Заголовки.Вставить(«X-Client-Sign», НРег(СтрЗаменить(Хеш.ХешСумма, » «, «»)));
    
    Запрос.УстановитьТелоИзСтроки(Тело, КодировкаТекста.ANSI);
    

    Показать

    Reply
  5. xabigv

    (4)

    Спасибо помогло. Кодировку менял на UTF8 тоже все прошло. Проблема была в заголовках, я помещал их в структуру, а структуру в запрос. Шифрование тоже оба варианта проходят.

    Reply
  6. xabigv

    (4)какой интерфейс(метод) вы использовали при получении записи?

    Reply
  7. dark_wolf

    (6)Если правильно понял вопрос — get_record

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *