Мы рады объявить об общедоступности RingCentral Call Control SDK для Javascript.

В конце 2018 года мы анонсировали Call Control API, который дает вам возможность управлять активными вызовами с помощью API. SDK для управления вызовами - это библиотека, которая помогает разработчикам управлять функциями активного сеанса вызова RingCentral. Мы хотим дать разработчикам возможность поиграть с функцией RingCentral Call Control, даже если они плохо знакомы с платформой RingCentral и API управления вызовами.

Поддерживаемые функции:

Мы добавили следующие ключевые функции, чтобы сделать за вас тяжелую работу.

  • Управление сеансом вызова. Загружать существующие сеансы и управлять жизненным циклом сеансов
  • Событие сеанса вызова. Обработка события сеанса телефонной связи, статуса синхронизации
  • Функциональный API сеанса. Запросить API управления вызовами с функцией
  • Управление устройствами. Загрузить устройства пользователя

Быстрый старт

SDK основан на RingCentral JS SDK. Мы используем его для авторизации и создания серверной подписки - см. Пример кода ниже:

var appClientId = '...'; 
var appClientSecret = '...';
var appName = '...';
var appVersion = '...';
var rcCallControl = null;
var sdk = new RingCentral.SDK({
  appKey: appClientId,
  appSecret: appClientSecret,
  appName: appName,
  appVersion: appVersion,
  server: RingCentral.SDK.server.production // or .sandbox
});
var platform = sdk.platform();
platform
  .login({
    username: '...',
    password: '...'
  })
  .then(function() {
    var subscription = sdk.createSubscription();
    rcCallControl = new RingCentralCallControl({ sdk: sdk });  // New call control instance
subscription.setEventFilters(['/restapi/v1.0/account/~/extension/~/telephony/sessions']);
    subscription.on(subscription.events.notification, function(msg) {
       rcCallControl.onNotificationEvent(msg); // connect call control instance with server-side notification
    });
    subscription.register();
  });

Чтобы прослушать событие сеанса вызова, вы можете использовать этот код:

var session = null;

rcCallControl.on('new', (newSession) => {
  session = newSession;
});
session.on('status', (event) => {
  // on status changed
  var party = event.party;
  var status = party.status;
  // ...
});

Все, что вам нужно сделать, чтобы получить список сеансов вызовов, - это использовать эту единственную строку кода:

var sessions = rcCallControl.sessions;

Для управления сеансом вызова используйте следующий код:

session.hold().then(...);
session.unhold().then(...);

Онлайн-демонстрация

Мы создали онлайн-демонстрацию, которую вы можете проверить на этой странице Github.

Исходные коды демо-версии можно получить здесь.

Резюме

Это все о JS SDK для управления вызовами. Если вы изучаете, как использовать RingCentral Call Control API, обязательно узнайте больше об этом SDK и упростите себе задачу. Не стесняйтесь пробовать и создавать проблемы здесь, если у вас возникнут какие-либо проблемы.

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

Хотите быть в курсе и узнавать о новых API и функциях? Присоединяйтесь к нашей программе Game Changer и получайте отличные награды за развитие своих навыков и изучение RingCentral больше!