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 | 错误状态 |
eventName
事件名过多详见Event API章节
方法调用示例
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();