Skip to content

vedisoft/js-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API

Prostiezvonki

Конфигурация

При подключении скрипта создаётся глобальная переменная 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.onError(
    callback // функция, которая будет вызвана при получении ошибки
);

Коды ошибок в onDisconnect могут быть как стандартные, так и специальные для Простых звонков.

Список специальных кодов и их описание:

  • 4001: "Ошибка проверки лицензионного ключа (4001)",
  • 4002: "Лицензионный ключ недействителен (4002)",
  • 4003: "Истек срок использования лицензионного ключа (4003)",
  • 4004: "Лицензионный ключ не подходит для этого типа АТС-коннектора (4004)",
  • 4005: "Лицензионный ключ не подходит для этой версии АТС-коннектора (4005)",
  • 4006: "Нет лицензии на подключение этой CRM системы (4006)",
  • 4007: "Превышено максимальное допустимое количество пользователей (4007)",
  • 4008: "Ошибка авторизации (4008)",
  • 4009: "Соединение прервано из-за подключения пользователя с таким же добавочным номером (4009)

В объекте pz есть массив со специальными кодами и их описанием: pz.APPLICATION_ERRORS

Исходящий звонок

pz.call(
    phone // номер телефона, на который будет совершён звонок
);

Перевод звонка

pz.transfer(
    call_id, // идентификатор звонка, полученный от сервера
    phone    // номер телефона, на который нужно перевести звонок
);

Отправка SMS (только для интеграции с Android)

При интеграции с Android есть возможность послать SMS с телефона пользователя.

pz.sms(
    phone, // номер телефона получателя SMS
    text   // текст SMS
);

Получение событий

pz.onEvent(
    callback // функция, которая будет вызвана при получении события от сервера
);

Первым аргументом функция принимает объект event:

function (event) {
	alert('Индентификатор звонка — ' + event.callID)
}

Event

Методы

Для определения типа события можно использовать вспомогательные методы:

event.isTransfer()         // входящий запрос на переадресацию?
event.isIncoming()         // входящий вызов на менеджера?
event.isHistory()          // завершенный вызов?
event.isOutcoming()        // исходящий вызов?
event.isOutcomingAnswer()  // клиент поднял трубку при исходящем звонке?
event.isIncomingAnswer()   // менеджер поднял трубку при входящем звонке?
event.isSmsSent()          // SMS отправлена на телефон пользователя?
event.isSmsStatus()        // событие статуса отправки SMS?

Свойства

Для всех типов:

  • event.type - тип события
1  - входящий запрос на переадресацию
2  - входящий вызов на менеджера
4  - завершенный вызов
8  - исходящий вызов
16 - клиент поднял трубку при исходящем звонке
32 - менеджер поднял трубку при входящем звонке
128 - СМС отослана на телефон пользователя
256 - статус отправки СМС с телефона пользователя
  • event.callID - идентификатор звонка
  • event.from - номер звонящего абонента

Для всех типов, кроме запроса на переадресацию:

  • event.to - номер вызываемого абонента

Для завершённого вызова

  • event.start - время начала вызова, в формате Timestamp
  • event.end - время окончания вызов, в формате Timestamp
  • event.duration - длина разговора, в секундах
  • event.direction - направление вызова: 0 – входящий, 1 – исходящий
  • event.record - ссылка на файл записи
  • event.missed - пропущенное ли это событие: 1 - пропущенное, 0 - не пропущенное (событие считается пропущенным, если при генерации его и на АТС-коннекторе клиент не был подключен к последнему)

Для событий статуса отправки SMS

  • event.result - результат отправки: 0 - СМС отправляется на номер, 1 - СМС успешно отправлена, в ином случае - Не удалось отправить СМС на номер

About

Библиотека для интеграции js-приложения с сервисом Простые Звонки

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors