API --- Prostiezvonki ============= ### Конифгураця При подключении скрипта создаётся глобальная переменная `prostiezvonki`. Для удобства к ней можно обращаться через псевдоним `pz`. Для начала работы следует задать внутренний номер сотрудника: ```js pz.setUserPhone( phone // внутренний номер телефона сотрудника ); ``` ### Подключение к серверу ```js pz.connect({ host: 'ws://localhost:10150', // Адрес сервера client_id: 'password', // Пароль client_type: 'tinycrm' // Тип приложения }); ``` ### Разрыв подключения ```js pz.disconnect(); ``` ### Исходящий звонок ```js pz.call( phone // номер телефона, на который будет совершён звонок ); ``` ### Перевод звонка ```js pz.transfer( call_id, // идентификатор звонка, полученный от сервера phone // номер телефона, на который нужно перевести звонок ); ``` ### Получение событий ```js pz.onEvent( callback // функция, которая будет вызвана при получении события от сервера ); ``` Первым аргументом функция принимает объект event: ```js function (event) { alert('Индентификатор звонка — ' + event.callID) } ``` Event ===== ### Методы Для определения типа события можно использовать вспомогательные методы: ```js event.isTransfer() // входящий запрос на переадресацию? event.isIncoming() // входящий вызов на менеджера? event.isHistory() // завершенный вызов? ``` ### Свойства Для всех типов: * **event.type** - тип события. ``` 1 - входящий запрос на переадресацию 2 - входящий вызов на менеджера 3 - завершенный вызов ``` * **event.callID** - идентификатор звонка * **event.from** - Номер звонящего абонента Для входящего запроса на менеджера и завершённого вызова * **event.to** - Номер вызываемого абонента Для завершённого вызова * **event.start** - Время начала вызова, в формате Timestamp * **event.end** - Время окончания вызов, в формате Timestamp * **event.duration** - Длина разговора, в секундах * **event.direction** - Направление вызова: 0 – входящий, 1 – исходящий * **event.record** - Ссылка на файл записи