107 lines
3.0 KiB
Markdown
107 lines
3.0 KiB
Markdown
|
|
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** - Ссылка на файл записи
|