При подключении скрипта создаётся глобальная переменная prostiezvonki
. Для удобства к ней можно обращаться через псевдоним pz
.
pz.connect({
user_phone: '100', // внутренний номер телефона сотрудника
host: 'ws://localhost:10150', // адрес сервера
client_id: 'password', // пароль
client_type: 'jsapi' // тип приложения
});
Максимальная длина пароля — 32 символа.
Функция возвращает объект со статусом выполнения и, при наличии ошибки, текстом этой ошибки:
// всё хорошо
{
result: 'ok'
}
// ошибка
{
result: 'error',
text: 'uh oh...'
}
pz.disconnect();
Можно определить, активно ли подключение в данный момент:
pz.isConnected();
либо подписаться на события подключения и отключения:
pz.onConnect(
callback // функция, которая будет вызвана при подключении к серверу
);
pz.onDisconnect(
callback // функция, которая будет вызвана при отключении от сервера
);
pz.call(
phone // номер телефона, на который будет совершён звонок
);
pz.transfer(
call_id, // идентификатор звонка, полученный от сервера
phone // номер телефона, на который нужно перевести звонок
);
pz.onEvent(
callback // функция, которая будет вызвана при получении события от сервера
);
Первым аргументом функция принимает объект event:
function (event) {
alert('Индентификатор звонка — ' + event.callID)
}
Для определения типа события можно использовать вспомогательные методы:
event.isTransfer() // входящий запрос на переадресацию?
event.isIncoming() // входящий вызов на менеджера?
event.isHistory() // завершенный вызов?
event.isOutcoming() // исходящий вызов?
event.isOutcomingAnswer() // клиент поднял трубку при исходящем звонке?
event.isIncomingAnswer() // менеджер поднял трубку при входящем звонке?
Для всех типов:
-
event.type - тип события
1 - входящий запрос на переадресацию 2 - входящий вызов на менеджера 4 - завершенный вызов 8 - исходящий вызов 16 - клиент поднял трубку при исходящем звонке 32 - менеджер поднял трубку при входящем звонке
-
event.callID - идентификатор звонка
-
event.from - номер звонящего абонента
Для всех типов, кроме запроса на переадресацию:
- event.to - номер вызываемого абонента
Для завершённого вызова
- event.start - время начала вызова, в формате Timestamp
- event.end - время окончания вызов, в формате Timestamp
- event.duration - длина разговора, в секундах
- event.direction - направление вызова: 0 – входящий, 1 – исходящий
- event.record - ссылка на файл записи