坐席控件开发接口使用说明最新..(版)_趋势控件使用说明
坐席控件开发接口使用说明最新..(版)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“趋势控件使用说明”。
呼叫中心坐席端控件(EasyAgc.ocx)使用说
明
为什么需要坐席端控件
在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。
坐席端控件支持的开发语言
北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法
tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA
tlaAnswer tlaOnhook tlaMakecall talTransfer tlaListen tlaStoplisten tlaPlay tlaStopplay tlaRecord tlaStoprecord tlaTransfertoivr tlaGetcallerid talGetcalleeid tlaGetuserdata tlaGettransferresult talGetcalloutresult tlaHold tlaUnhold tlaCut tlaQueryworkid tlaQuerystate tlaQueryinfo tlaGetcall tlaIntrude tlaKill tlaSetpriority tlaMute tlaUnmute tlaStoplog tlaStartlog tlaTransfertoivrEx tlaAnswerqueue tlaGetcrs 属性
无
事件
TLAECallin TLAEACW TLAELogoff
TLAEClosed TLAECalloutresult TLAETransferresult TLAECallreleased TLAEAnswer TLAEHoldcallreleased TLAEInfo TLAEKeepcallreleased TLAEQueue TLAEQuitqueue
方法详细说明
[1] long tlaOpen(BSTR strServerIP);功能:连接服务器。参数:服务器IP地址。返回:0成功,非0失败。
备注:在调用控件的其他任何方法之前,必须先成功调用本方法。[2] long tlaClose();功能:关闭与服务器的连接。参数:无。
返回:0成功 非0失败。
备注:在程序退出前调用的最后一个方法。
[3] long tlaLogin(long nTelLineNo, long nWorkID, long nGroupID);功能:登录。通知北京同力信通软件公司统一CTI平台程序有坐席登录,可以把电话呼叫分配到相应的坐席电话上。
参数:坐席电话线编号,坐席工号,坐席组号。返回:0成功 非0失败。
备注:除tlaOpen和tlaClose方法之外,所有其他方法都必须在本方法成功调用之后才能调用。
[4] long tlaLogoff();功能:注销。通知北京同力信通软件公司统一CTI平台程序坐席注销,不要再向相应的坐席电话上分配电话呼叫。参数:无。
返回:0成功,非0失败。备注:无。
[5] long tlaACW();功能:离席。在坐席人员需要临时离开工位时,调用本方法通知北京同力信通软件公司统一CTI平台程序有坐席临时离开,暂时不要把电话呼叫分配到相应的坐席电话上。参数:无。
返回:0成功,非0失败。备注:无。
[6] long tlaWCA();功能:复席。在坐席人员回到工位时,调用本方法通知北京同力信通软件公司统一CTI平台程序坐席已经回来,可以把电话呼叫分配到相应的坐席电话上。参数:无。
返回:0成功,非0失败。备注:无。
[7] long tlaAnswer();功能:应答分配过来的呼叫。参数:无。
返回:0成功,非0失败。
备注:坐席人员也可以直接拿起坐席电话机手柄来应答,此时坐席控件会触发TLAEAnswer事件。
[8] long tlaOnhook();功能:挂机。
参数:无。
返回:0成功,非0失败。
备注:在坐席通话过程中调用本方法将结束通话。
[9] long tlaMakecall(long nCallMode, BSTR strCallee, BSTR strCaller, long nCOID);功能:呼叫。既可以呼叫外线,也可以呼叫内线(其他坐席)参数:nCallMode:呼叫模式1表示呼叫内线;2表示呼叫外线。
strCallee:被叫号码。如果是呼叫外线,此参数是被叫电话号码;如果是呼叫内线,此参数是被叫坐席工号。
strCaller:主叫号码。呼叫内线时被忽略。
nCOID:局向编号,在呼叫外线时有效,配合easytq.ini配置文件内容。此参数可以用0表示任意局向。
返回:0成功,非0失败。
备注:本方法是异步的,调用返回成功(0)表示已经成功开始外呼,真正的呼出结果要在收到TLAECalloutresult之后调用tlaGetcalloutresult得到。
[10] long tlaTransfer(long nTransMode, BSTR strCallee, BSTR strCaller, long nCOID);功能:转移。
参数:nTransMode:转移模式1表示转移到内线(其他坐席);2表示转移到外线。
strCallee:被叫号码。如果是转移到外线,此参数是被叫电话号码;如果是转移到内线,此参数是被叫坐席工号。
strCaller:主叫号码。转移到内线时被忽略。
nCOID:局向编号,在转移到外线时有效,配合easytq.ini配置文件内容。此参数可以用0表示任意局向。返回:0成功,非0失败。
备注:只有坐席在与外线通话时可以转移,其他状态下调用本方法无效。本方法是异步的,调用返回成功(0)表示已经成功开始转移,真正的转移结果要在收到TLAETransferresult之后调用tlaGettansferresult得到。
[11] long tlaTransfertoivr(BSTR strFileName,BSTR strParameter);功能:转回到IVR。
参数:strFileName:转回IVR后执行的脚本文件名 ;strParameter:传递给脚本的参数,可以为空。
返回:0成功,非0失败。
备注:strParameter的值会被保存在脚本变量@PA中。[12] long tlaListen(long nWorkID);功能:监听。
参数:被监听坐席的工号。返回:0成功,非0失败。
备注:被监听坐席必须处于通话状态,否则监听失败。[13] long tlaStoplisten();功能:停止监听。参数:无。
返回:0成功,非0失败。备注:无。
[14] long tlaPlay(BSTR strFileName);功能:放音。
参数:strFileName:语音文件名。返回:0成功,非0失败。备注:参数strFileName必须带完整路径,此文件应位于运行北京同力信通软件公司统一CTI平台程序的服务器上。[15] long tlaStopplay();功能:停止放音。参数:无。
返回:0成功,非0失败。备注:无。
[16] long tlaRecord(BSTR strFileName, long nDuration);功能:录音。
参数:录音文件名,时长。返回:0成功,非0失败。
备注:录音文件保存在运行北京同力信通软件公司统一CTI平台程序的服务器上。要求完整路径。
[17] long tlaStoprecord();功能:停止录音 参数:无。
返回:0成功,非0失败。备注:无。
[18] BSTR tlaGetcallerid();功能:获取主叫号码 参数:无。
返回:主叫号码。
备注:在收到TLAECallin事件后调用本方法得到主叫号码,在其他状态下调用本方法返回值没有意义。
[19] BSTR tlaGetcalleeid();功能:获取被叫号码 参数:无。
返回:被叫号码。
备注:在收到TLAECallin事件后调用本方法得到被叫号码,在其他状态下调用本方法返回值没有意义。
[20] BSTR tlaGetuserdata();功能:获取从脚本传递过来的数据。参数:无。
返回:用户数据。
备注:在收到TLAECallin事件后调用本方法得到用户数据,在其他状态下调用本方法返回值没有意义。用户数据即脚本的转人工元件中用户数据属性的内容。[21] long tlaGettransferresult();功能:获取转移结果。参数:无。
返回:0成功,非0失败。
备注:在收到TLAETransferresult事件后调用本方法判断转移是否真正成功。[22] long tlaGetcalloutresult();
功能:获取外呼结果。参数:无。
返回:0成功,非0失败。
备注:在收到TALECalloutresult事件后调用本方法判断外呼是否真正成功。[23] long tlaHold();功能:保持。参数:无。
返回:0成功,非0失败。
备注:只有在座席与外线的通话中才可以调用tlaHold函数。调用本函数成功后,座席处于空闲状态,外线播放等待音乐。需要指出:座席不能重复保持,即:座席与外线A通话中先保持,然后再与外线B通话,此时座席再调用tlaHold就会失败。[24] long tlaUnhold();功能:取消保持。参数:无。
返回:0成功,非0失败。
备注:座席与外线通话过程中,座席调用tlaHold函数把当前呼叫保持住。再调用tlaUnhold恢复与外线的通话。如果在保持过程中被保持的外线已经挂机,则取消保持会失败。[25] long tlaCut(long workid);功能:强拆。
参数:一个:被拆座席的工号。返回:0成功,非0失败。
备注:本函数把参数指定工号的座席通话强行拆掉。如果目标座席没有处于通话/呼叫中,则强拆失败。
[26] long tlaQueryworkid(long index);功能:查询座席工号。参数:一个:座席序号。
返回:-1没有找到序号对应的座席,>=0座席工号。
备注:配合tlaQueryinfo函数使用,利用tlaQueryinfo函数可以得到当前登陆的座席数量,调用tlaQueryworkid可以查询各个座席的工号。例如tlaQueryinfo函数得到当前登陆座席的总数为10个,则tlaQuerywokid的参数可以取0-9,查询各个登陆座席的工号。[27] long tlaQuerystate(long index);功能:查询座席状态。参数:一个:座席的序号。
返回:-1:没有找到序号对应的座席,>0座席状态。
备注:配合tlaQueryinfo函数使用,利用tlaQueryinfo函数可以得到当前登陆的座席数量,调用tlaQuerystate可以查询各个座席的状态。例如tlaQueryinfo函数得到当前登陆座席的总数为10个,则tlaQuerystate的参数可以取0-9,查询各个登陆座席的状态。
返回值说明:1空闲,2离席,3振铃,4播报工号,5通话,6呼叫,7转移,8监听,9放音,10三方呼叫,11三方通话。[28] long tlaQueryinfo(long function);功能:查询信息。
参数:一个:查询信息种类。返回:查询结果。
备注:根据参数的不同,可以查询:参数=1登陆座席数量,参数=2空闲座席数量,参数=3
通话座席数量,参数=4离席座席数量,参数=5外线总数,参数=6外线排队数量。[29] long tlaGetcall(long workid);功能:代接电话。
参数:一个:被代接的座席工号。返回:0-代接成功,非0代接失败。
备注:在某个座席正在振铃的时候,其他空闲座席可以调用tlaGetcall代接电话。如果参数为-1,在代接任何一个正在振铃的座席;如果参数不为-1,则代接指定工号的座席。如果指定的座席没有处在振铃状态,则代接失败;如果指定的座席是三方呼叫的被叫,则不能被代接。
[30] long tlaIntrude(long wokrid);功能:强插。
参数:一个:被强插座席的工号。返回:0强插成功 非0强插失败。
备注:在某个座席处于通话状态中时,其他的空闲座席可以调用tlaIntrude函数强行加入该通话,形成三方通话。如果指定的工号没有处于通话状态,则强插失败;如果指定的工号处于三方通话状态,则强插失败。[31] long tlaKill(long mode,long para);功能:强制注销座席。
参数:二个:注销方式,注销参数。
返回:0强制注销成功,非0强制注销失败。
备注:本函数在调用tlaOpen成功之后即可使用,用于强制注销指定的座席。参数mode=1,注销电话线号=para的座席;参数mode=2,注销工号=para的座席。
[32] int tlaSetpriority(int type,int priority);功能:实现座席应答电话的优先级 参数:二个:优先级类别;优先级的值
第一个参数是设置类别 type=1 设置全局优先级,在转任意坐席时有效; type=2设置组内优先级,在转移到组的时候有效。第二个参数是优先级值,值越小,优先级越高,也就是优先把呼叫分配给优先级值小的坐席。
举例:
3个坐席 ABC,都登录到第一组
A的全局优先级设置为1,组内优先级设置为2 B的全局优先级设置为10,组内优先级设置为1 C的全局优先级设置为5,组内优先级为10
如果转任意坐席,在3个坐席都空闲的时候,总是转移到A,如果A不空闲,则总是转移到C。A和C都不空闲才转移到B;
如果转移到第一组,在3个坐席都空闲的时候,总是转移到B,B不空闲则转移到A,AB都不空闲则转移到C
优先级的值有效取值范围是所有正整数(不大于2的31次方)
[33] long tlaMute();功能:通话时启动静音。
参数:无。
返回:0成功,非0失败。
备注:只有在座席与外线的通话中才可以调用tlaMute函数。调用本函数成功后,座席和外线双方互相听不见。
[34] long tlaUnmute();功能:通话时停止静音。参数:无。
返回:0成功,非0失败。
备注:只有在座席与外线的通话中才可以调用tlaUnMute函数。调用本函数成功后, 座席和外线双方互相能听见。
[35] long tlatlaStoplog();功能:停止座席端日志记录。参数:无。
返回:0成功,非0失败。
备注:停止座席端的日志记录。
[36] long tlaStartlog();
功能:启动座席端日志记录。参数:无。
返回:0成功,非0失败。
备注:启动座席端的日志记录。坐席控件与服务端通信的数据包都记录在 坐席程序所在的目录下。
[37] long tlaTransfertoivrEx();功能:座席转到IVR后等待转回座席。参数:无。
返回:0成功,非0失败。
备注:坐席把通话外线转回ivr并等待,当外线执行脚本再次转坐席时会转回这个等待的坐席。如果外线没有转坐席就挂机了,等待的坐席会收到通知(TLAEKeepcallreleased);如果等待的坐席注销了,外线再次转坐席是就转移到其他空闲坐席。
[38] long tlaAnswerqueue(BSTR crs);
功能:坐席指定接听某个排队的外线。参数:外线电话的流水号crs。返回:0成功,非0失败。
备注:有外线排队时坐席可以收到排队事件(TLAEQueue),坐席可以调用tlaGetcrs获取排队外线的流水号,坐席指定接听某个排队外线的时候调用tlaAnswerqueue,参数就是外线的流水号crs。
[39] BSTR tlaGetcrs();
功能:获取外线的呼叫流水号。参数:无。
返回:外线的呼叫流水号。当坐席收到呼入通知或者外线排队事件时,外线的呼叫流水号就会传过来,坐席端可以调用本函数获取外线的呼叫流水号。每一通外线呼叫都有一个不重复的呼叫流水号用来定位这个呼叫。
事件详细说明
[1] void TLAECallin();功能:呼入通知事件。参数:无。
说明:在有电话分配到本坐席时,在坐席电话机振铃的同时,坐席控件会触发本事件。坐席程序可以调用坐席控件的tlaGetcallerid等方法得到进一步的信息。[2] void TLAEACW();功能:坐席被强制离席事件。参数:无。
说明:在某些情况下,北京同力信通软件公司统一CTI平台程序会把某个坐席强行设置为离席状态(例如:坐席电话久不应答),此时坐席控件会触发本事件。[3] void TLAELogoff();功能:坐席被注销事件。参数:无。
说明:在某些情况下,坐席会被强制注销(例如网络中断)。此时坐席控件会触发本事件。[4] void TLAEClosed();功能:网络中断事件。参数:无。
说明:当TCP/IP网络中断时,坐席控件会触发本事件。[5] void TLAECalloutresult();功能:外呼结果事件。参数:无。
说明:tlaMakecall是异步的,成功返回只是表示成功开始外呼,在外呼有结果之后,坐席控件会触发本事件。
[6] void TLAETransferresult();功能:转移结果事件。参数:无。
说明:tlaTransfer是异步的,成功返回至少表示成功开始转移,在转移有结果之后,座席控件会触发本事件。
[7] void TLAECallreleased();功能:呼叫结束事件。参数:无。
说明:在坐席通话过程中对方挂机后,坐席控件会触发本事件。[8] void TLAEAnswer();功能:成功应答事件。参数:无。
说明:在坐席电话振铃时,如果坐席程序没有调用坐席控件的tlaAnswer方法,而是直接拿起坐席电话机的手柄,则坐席控件会触发本事件。[9] void TLAEHoldcallreleased();功能:被保持的外线已经挂机。参数:无。
说明:在坐席与外线通话中,座席可以调用talHold函数把当前呼叫保持住,此时外线播放等待音乐。如果在这种状态下外线挂机,则坐席控件会触发本事件,通知座席程序被保持的外线已经挂机了。
[10] void TLAEInfo();功能:状态变化通知。参数:无。说明:当外线排队数量,坐席登录数量或者坐席登录状态发生变化时,坐席端会收到本事件。收到本事件后,坐席通过调用tlaQueryinfo,tlaQuerystate,tlaQueryworkid,来获取相关信息。具体内容请参考这3个方法的说明
[11] void TLAEKeepcallreleased();功能:坐席把外线转IVR并等待后,如果外线挂机,则等待的坐席收到本通知。参数:无。
说明:当坐席把通话外线转换ivr并等待时,如果外线挂机了,等待的坐席会收到这个事件。
[12] void TLAEQueue();功能:当有外线进入ACD队列时,所有的坐席都收到本事件。参数:无。
说明:当有外线进入acd队列时,所有的坐席都收到这个事件,坐席可以调用tlaGetcallerid,tlaGetcalleeid,tlaGetuserdata,tlaGetcrs来获取排队外线的相关信息。
[13] void TLAEQuitqueue();功能:有外线退出ACD队列时,所有的坐席都收到本通知。参数:无。
说明:当有外线退出acd队列时(得到坐席服务或者挂机,或者超时),所有的坐席都会收到这个事件,坐席可以调用tlaGetcrs获取退出队列的外线的流水号。