
Мы рады объявить об общедоступности 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 больше!