CTIPlus实例对象
通过对 cti-js-sdk 库的引入,我们可以获得一个 CTIPlus 构造函数
实例对象属性
CTIPlus 的实例对象包含 6 个属性:
Agent
封装了座席登录,退出,置忙,置闲,外呼等操作。详见:座席操作
Session
封装了座席在通话状态下可以进行的操作,如拒接,挂断,咨询,转移等。详见:座席通话操作
Monitor
封装了班长席监控用到的方法,如监听,三方等,只有班长席可以调用。详见:班长席监控
Info
封装了获取 manager 后台设置的一些信息状态的方法。详见:获取消息操作
Event
提供了一个事件对象,监听 wincall 实时状态。多次注册同一事件会按照注册顺序依次调用。同时注册了具体事件和上级事件类型,会优先执行类型监听的回调再执行事件监听的回调。
config
一个包含初始化参数信息的对象。
事件注册示例
使用 websocket 时,我们通过 Event 对象监听服务端推送过来的 wincall 实时状态
CTI.Event.add( eventName/eventType, cb );
// 例子
CTI.Event.add('agent', function (result) {
console.log("agent监听回调");
console.log(result);
});
eventType
状态类型 | 描述 |
---|---|
all | 所有状态 |
ws | ws 连接状态 |
phone | 电话状态 |
agent | 坐席状态 |
initstate | websocket 重连更新状态 |
ivr | ivr 状态 |
update | 更新状态 |
error | 错误状态 |
方法调用示例
Agent、Session、Monitor、Info 对象上封装的方法都包含两个参数,参数对象 params 和回调函数 callback。
以签入方法为例,这里传入一个主叫电话的参数,并在回调时做了一些页面操作:
CTI.Agent.login({ bindTel }, function (res) {
//在右侧展示api状态
showApiStatus(res);
});
如果不需要传入参数,则可以只传入回调方法。以签出为例:
CTI.Agent.logout(function (res) {
showApiStatus(res);
});
如果不需要传入参数,也不需要回调,则可以不传参数。以签出为例:
CTI.Agent.logout();