转移即时通信对话的方法及装置
技术领域
本发明涉及网络通信领域,更具体地说,涉及一种转移即时通信对话的方法及装置。
背景技术
目前,电子商务得到较快的发展。在电子商务中,通常通过某种即时通信软件在卖家和买家之间进行沟通。这是由于仅仅靠网页上的描述和图片,并不能将商品的所有信息表现出来;而不同的人对一个商品的关注点可能有不同。所以,电子商务中需要卖家需要设置多个在线的客服人员,使用即时通信的方式解决买家提出的问题或疑问,此时的即时通信就变成一个有效的沟通工具。但是,在现有技术中,所有即时通信业务中,买家和商家客服(或者说一个即时通信的对话双方)都是一对一的关系,也就是说,在现有技术中,一个即时通信对话一旦建立,其对话双方就是不可变的。这样,当一个客服人员解决不了买家的问题时(可能其不熟悉买家问的问题等等),该客服无法将顾客转让给另外一个客服人员(例如,资深的或刚好负责相关领域的)处理;同样地,当该商家的商品满足不了买家的需求时,商家无法将顾客方便地转移到与推荐(当然是在顾客同意的情况下)的其他商家的对话中,以便顾客能够快速找到自己需要的商品。因此,在现有技术中,即时通信对话存在不能转移,从而在某些情况下降低了其使用体验或效率。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述即时通信对话不能转移、使用体验或效率较低的缺陷,提供一种即时通信对话能转移、使用体验或效率较高的转移即时通信对话的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种转移即时通信对话的方法,所述即时通信对话在通过即时通信服务器连接的两个终端之间进行,包括如下步骤:
A)作为即时通信对话一方的转移发起方在对话过程中触发设定的功能按键或区域,发送转移指令到即时通信服务器,该指令中包括被指定的转移接收方识别码和对话识别码;同时所述转移发起方还发送转移通知到转移接收方;
B)所述即时通信服务器接收到所述转移指令后,将其转发到作为对话另一方的被转移方;
C)所述被转移方接收到所述转移指令后,取出其中的对话识别码,并依据所述对话识别码找到其即时通信缓存中的对话信息;
D)判断查找到的对话窗口是否关闭,如是,使用所述转移指令中的转移接收方的即时通信识别码创建一个新的对话窗口,与所述转移接收方进行即时通信;否则,将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码,并继续该对话。
更进一步地,所述步骤A)中进一步包括:
A1)触发设定的按键或区域,创建转移接收者对话框;
A2)查找到转移接收方信息后添加到所述转移接收者对话框;选择需要转移的内容添加到所述转移接收者对话框;
A3)填入被转移方信息,形成第一命令,调用网络接口函数通过所述即时通信服务器将其作为转移通知发送到所述转移接收方;
A4)使用系统提示信息和转移接收方信息形成第二命令,调用网络接口函数将其作为转移指令通过所述即时通信服务器发送到所述被转移方。
更进一步地,所述步骤A)中还进一步包括:所述转移接收方或所述被转移方收到上述第一命令或第二命令后,分别发送返回指令到所述转移发起方,表示其收到相关命令;当所述转移发起方收到上述两个返回指令后,退出该即时通信对话。
更进一步地,所述步骤C)中进一步包括:
C1)被转移方接收所述即时通信服务器发送来的转移指令,取出其中携带的信息,所述转移指令携带的信息包括对话识别码、转移接收方的即时通信识别码;
C2)遍历被转移方的所有即时通信对话框,查找与所述对话识别码适配的对话;
C3)取出与所述对话识别码匹配的对话的所有对话信息;
其中,所述对话识别包括转移发起方的即时通信识别码或服务器赋予每个对话的唯一编码。
更进一步地,所述步骤C1)中还包括如下步骤:向所述即时通信服务器发送请求,要求取得转移接收方的即时通信识别码对应的个人信息并接收所述即时通信服务器返回的信息。
更进一步地,所述步骤D)中,使用所述转移指令中的转移接收方的即时通信识别码创建一个新的对话窗口包括创建一个被触发后创建一个连接所述转移接收方和被转移方的对话的系统提示信息。
更进一步地,所述步骤D)中,将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码包括通过取得所述原先对话窗口中的窗口指针,并通过所述窗口指针将所述对话窗口中的对方个人信息全部修改为被转移方的个人信息。
在本实施例中,还涉及一种实现上述方法的装置,包括:
转移发起单元:用于作为即时通信对话一方的转移发起方在对话过程中触发设定的功能按键或区域,发送转移指令到即时通信服务器,该指令中包括被指定的转移接收方识别码和对话识别码;同时所述转移发起方还发送转移通知到转移接收方;
指令转发单元:用于使所述即时通信服务器接收到所述转移指令后,将其转发到作为对话另一方的被转移方;
指令解析单元:用于使所述被转移方接收到所述转移指令后,取出其中的对话识别码,并依据所述对话识别码找到其即时通信缓存中的对话信息;
对话窗口构建单元:用于判断查找到的对话窗口是否关闭,如是,使用所述转移指令中的转移接收方的即时通信识别码创建一个新的对话窗口,与所述转移接收方进行即时通信;否则,将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码,并继续该对话。
更进一步地,所述转移发起单元进一步包括:
触发模块:用于触发设定的按键或区域,创建转移接收者对话框;
信息选择模块:用于查找到转移接收方信息后添加到所述转移接收者对话框;选择需要转移的内容添加到所述转移接收者对话框;
第一命令形成模块:用于填入被转移方信息,形成第一命令,调用网络接口函数通过所述即时通信服务器将其作为转移通知发送到所述转移接收方;
第二命令形成模块:用于使用系统提示信息和转移接收方信息形成第二命令,调用网络接口函数将其作为转移指令通过所述即时通信服务器发送到所述被转移方。
更进一步地,所述指令解析单元进一步包括:
信息取得模块:用于被转移方接收所述即时通信服务器发送来的转移指令,取出其中携带的信息,所述转移指令携带的信息包括对话识别码、转移接收方的即时通信识别码;
对话查找模块:用于遍历被转移方的所有即时通信对话框,查找与所述对话识别码适配的对话;
对话信息取得模块:用于取出与所述对话识别码匹配的对话的所有对话信息;
其中,所述对话识别包括转移发起方的即时通信识别码或服务器赋予每个对话的唯一编码。
实施本发明的转移即时通信对话的方法及装置,具有以下有益效果:由于将转移内容以及被转移方信息发送到转移接收方,同时将转移接收方信息和对话信息发送到被转移方,使得被转移方和转移接收方之间相互知道对方信息,从而可以在原先与转移发起方对话的基础上直接修改对话对象或自动发起新的、针对转移接收方的对话。从而实现了即时通信中对话的转移,提高了即时通信的使用体验或效率。
附图说明
图1是本发明转移即时通信对话的方法及装置实施例中对话转移的流程图;
图2是本发明所述实施例中发起对话转移的操作流程图;
图3是所述实施例中被转移方接收转移命令的具体流程图;
图4是所述实施例中实现转移的装置结构示意图。
具体实施方式
下面将结合附图对本发明实施例作进一步说明。
如图1所示,在本发明的转移即时通信对话的方法及装置实施例中,转移即时通信对话,实际上就是将该即时通信对话中的一方转移给另外的、原先不在该对话中的一方,即改变即时通信对话中的一方,然后在原先的对话框(对话窗口)或自动形成一个新的对话框(对话窗口),使得原先不在该对话中的一方和未被改变的对话中的一方进行即时通信对话。在本实施例中,该方法包括如下步骤:
步骤S11触发设定按键或区域,发送转移指令到服务器,并通知转移接收方:在本实施例中,以电子商务中常见的应用环境作为例子,说明即时通信对话转移的情况。在电子商务,一个常见的应用场景是客户或顾客可能对某个商家的某个商品产生兴趣,但是,或者该客户可能希望了解得更清楚等原因,需要向商家进行查询或咨询;商家通常有多个客服人员在线,负责回答客户的问题。于是,该客户可能会和这些在线的客服人员中的任意一个建立即时通信对话。在对话过程中,如果能够解决客户的问题,自然不需要对该对话做处理。但是在很多情况下,客服人员可能在对话中发现自己不能解决客户的问题或不了解客户的问题,于是需要将客户转移到自己的上级或相关人员去处理。在现有技术中。通常是客服人员告诉客户相关的信息,让该客户在结束本次对话后另外与相关人员建立对话。这时,对于客户来讲,会产生较多的操作,而且其使用感受会不好。在本实施例中,对上述存在的问题进行改进,使得客服人员可以在已经建立的即时通信对话的基础上,直接将该对话的一方(即客服人员这一方)转换。为此,作为即时通信对话一方的转移发起方在对话过程中触发设定的功能按键或区域,发送转移指令到即时通信服务器,该指令中包括被指定的转移接收方识别码和对话识别码;同时所述转移发起方还发送转移通知到转移接收方;上述按键或设定区域是实现设置在即时通信对话窗口上的,在操作时,使用鼠标点击就能触发特定的功能。
步骤S12服务器转发转移指令到被转移方:在本步骤中,作为连接即时通信对话双方的即时通信服务器接收到上述转移发起方的转移指令和转移通知,分别将其发送到相关的被转移方和转移接收方。其中,被转移方是原先就存在于对话中的,是该即时通信对话的另一方(相对于转移发起方而言),而转移接收方原先并不存在于该对话中,并不是原先存在的即时通信对话中的任何一方。
步骤S13取出转移指令中的信息,查找对应的对话窗口:在本步骤中,被转移方接收到所述转移指令后,取出其中的对话识别码,并依据所述对话识别码找到其即时通信缓存中的对话信息;在本实施例中,当被转移方接收到由服务器发送来的转移指令后,取出其中的信息,该指令中携带的信息包括需要转移的即时通信对话的识别码以及转移接收方的即时通信识别码,该被转移方依据上述取得的信息,在其自己的即时通信缓存中查找该即时通信对话识别码所对应的会话信息,当查找到相关的对话时,则将其信息取出。在本步骤中,还可以通过上述转移指令中携带的转移接收方识别码,查找到其具体的个人信息。具体的方法在稍后描述。
步骤S14对话窗口仍存在否,如仍存在,执行步骤S15;否则,执行步骤S16;
步骤S15修改对话窗口中对话对方的信息,继续进行对话:将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码,并继续该对话;至于在本步骤中具体的修改方法,稍后详述。
步骤S16在被转移方和转移接收方之间创建一个新的对话窗口:使用所述转移指令中的转移接收方的即时通信识别码创建一个新的对话窗口,与所述转移接收方进行即时通信。
在本实施例中,对于上述步骤S15而言,将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码是通过取得所述原先对话窗口中的窗口指针,并通过所述窗口指针将所述对话窗口中的对方个人信息全部修改为被转移方的个人信息。而对于步骤S16而言,使用所述转移指令中的转移接收方的即时通信识别码创建一个新的对话窗口是创建一个被触发后创建一个连接所述转移接收方和被转移方的对话的系统提示信息;这个系统提示信息可以在被转移接收方在符合一定条件之后创建,也可以由转移指令中携带而来,只是在符合一定条件的情况下,在上述转移接收方显示出来;不管上述系统提示信息是由哪种方式得到的,其被触发后的效果或上述转移接收方采取的步骤是一样的。
图2示出了在本实施例中发送转移指令到服务器的具体步骤,其包括如下步骤:
步骤S21创建转移对话框:在本步骤中,触发设定的按键或区域,调用事先设置的函数,创建转移接收者对话框;在本步骤中,调用上述函数创建一个对话框形式的窗口,采用选择或填入的数据的方式,将需要的数据或信息填入其中,这些需要的信息能够构建后面所述的命令。也就是说,在上述窗口中,选择或填入的信息能够通知转移接收方和被转移方,使其得到足够的信息在二者之间建立一个新的对话或在原先对话的基础上实现新的(也就是对话一方已经转移或改变的)对话。
步骤S22选择转移接收方和转移内容:在本步骤中,具体来讲,是在转移发起方的好友或通讯录中选择一个即时通信识别码,该即时通信识别码代表一个人,可以是另外一个客服人员、原先客服人员的上级或其他人员;同时,在该转移发起方和被转移方原先的对话窗口中选择要转移的内容,也就是需要让转移接收方知道的信息,并将其填入到上述窗口中。
步骤S23形成第一命令发送到转移接收方:在本步骤中,由于上述步骤中已经得到需要的相关信息,所以,当转移发起方触发上述创建的窗口中的设定区域,表示开始转移时,该窗口(或形成该窗口的函数)由其中取得转移接收方的即时通信识别码、需要转移的内容以及被转移方的即时通信识别码,形成第一命令,该第一命令中携带上述信息,然后将上述第一命令作为转移通知通过即时通信服务器发送到转移接收方。
步骤S24形成第二命令发送到被转移方:在本步骤中,由于上述步骤中已经得到需要的相关信息,所以,当转移发起方触发上述创建的窗口中的设定区域,表示开始转移时,该窗口(或形成该窗口的函数)由其中取得原先存在的对话的对话识别码、转移接收方的即时通识别码以及被转移方的即时通信识别码,形成第二命令,该第二命令中携带上述信息,然后将上述第二命令作为转移指令通过即时通信服务器发送到被转移方。
值得一提的是,在本实施例中,还存在一个转移发起方的退出问题。由于在现有技术中即时通信通常都是双方的通信,如果转移发起方不退出对话,则不仅技术上存在一定的难度、需要较多的系统开销,同时,还是带来某些较为敏感的信息外露的问题。所以,在转移接收方或所述被转移方收到上述第一命令或第二命令后,将分别发送返回指令到所述转移发起方,表示其收到相关命令;当所述转移发起方收到上述两个返回指令后,即调用退出会话函数,退出该即时通信对话,关闭该对话的对话框,不再接收该对话的信息。
图3示出了被转移方收到来自即时通信服务器发来的转移指令(也就是上述第二命令)后采取的步骤(即被转移方接收转移指令后的流程)。在图3中,其进一步包括:
步骤S31接收转移指令,取出其中信息:在本步骤中,被转移方接收所述即时通信服务器发送来的转移指令,取出其中携带的信息,所述转移指令携带的信息包括对话识别码、转移接收方的即时通信识别码;
步骤S32依据转移接收方的即时通信识别码,要求服务器发送其个人信息并接收:在本步骤中,上述被转移方向所述即时通信服务器发送请求,要求取得转移接收方的即时通信识别码对应的个人信息并接收所述即时通信服务器返回的信息,以便于在后续的步骤中使用或将其显示在当前或新建立的对话窗口中,以便于使用者识别。值得一提的是,本步骤中实现了被转移方对转移接收方的信息取得。同样地,在转移接收方也可以存在这样的步骤,以实现转移接收方对被转移方的信息取得,其中,对于转移接收方而言,被转移方的即时通信识别码来自上述其接收到的转移通知。
步骤S33查找对话识别码对应的对话:在本步骤中,通过遍历被转移方的所有即时通信对话,查找与所述对话识别码适配的对话;在本实施例中,这些对话被存储在被转移方的即时通信缓存中,也就是说,在一定程度上而言,上述遍历的对象是存储在即时通信终端的缓存中的。
步骤S34取出查找到的对话中的所有信息:在本步骤中,取出与所述对话识别码匹配的对话的所有对话信息。
在本实施例中,所述对话识别码可以是转移发起方的即时通信识别码,也可以是即时通信服务器赋予每个对话的唯一编码。
以下使用在电子商务中经常出现的情况对本实施例进行进一步的说明。例如,在电子商务中,当买家在向第一个客服进行咨询时,如果第一个客服解决不了买家提出的问题时,第一个客服可以一键将与买家的会话转让(即转移)给第二个客服进行处理,具体需要转让的会话内容由第一个客服自由选择;如果第二个客服还是解决不了,还可以将其转让给第三个客服,并依此类推;同样地,当商家的商品满足不了买家的需求时,商家可将顾客转让给其它商家,这样如果商家有自己的圈子,大家就能做到互利共赢;此外,如果买家想将商家和商品推荐给自己的朋友,也可以一键将商家和商品转让给自己的朋友;
这样,在具体实现时就能够实现多级转让。例如,买家通过即时通信客户端与卖家客服进行沟通,第一个客服判断能否解决买家的问题,如果不能则第一个客服可以交买家转让给第二个客服----第n个客服来进行处理。
具体来讲,例如,客户C与客服A进行会话,客服A通过主观判断,无法解决客户C的问题,则调用网络接口发送转让通知命令给即时通信服务器,由即时通信服务器将该命令转发给客户C;客户C收到客服A的转让通知命令,该命令中带上了客服B的即时通信号,同时带上了转让系统提示信息;客户C处理转让通知命令,如果与客服A的聊天窗口未关闭,则客户C根据转让通知命令中的即时通信号,修改聊天窗口为客服B的信息,同时界面显示系统提示;如果与客服A的聊天窗口已关闭,则托盘闪动,点击直接打开与客服B的聊天窗口,界面同样显示系统提示:“系统提示>开始与:B(即时通信号)进行对话”。
对于被转让者而言,也就是客户C收到服务器发来的转让通知命令后进行解析,得到客服B的即时通信号码;客户C向即时通信服务器发送获取客服B的个人资料命令,即时通信服务器返回客服B的个人资料(包括昵称、状态、个性签名等);客户C遍历本地聊天窗口,获取到与客服A的聊天窗口指针,通过窗口指针,将聊天窗口中客服A的个人信息全部重新设置为客服B的个人信息;客户C直接与客服B进行一对一的会话。
而对于转让发起者而言,是由于客服A解决不了客户C的问题,则客服A选择好要转让的内容,点击转移按钮,选择客服B为转移接收方,将客户C转让给客服B;客服A发送转让通知命令给客户C,命令中包含客服B的即时通信号码以及转让的系统提示信息;客服A发送转让通知命令给客服B,命令中包含客户C的即时通信号码,以及转让的具体内容。如果客户A发送转让命令成功,则表示转让已完成,客服A调用关闭聊天窗口函数,自动关闭与客户C的聊天窗口。
具体而言,转让发起者(客服A)在界面上通过鼠标选择要转移的内容;调用创建对话框函数,创建转移接收方对话框;遍历好友列表,查找出所有在线的好友,按照昵称首字母顺序进行排序,添加到转移接收方对话框中;转让发起者(客服A)根据主观判断,勾选转移接收方为客服B,点击确认转移按钮;根据聊天窗口中鼠标的选择区域获取到转发内容;根据转让接收框中鼠标的勾选项,获取到转移接收方(客服B)的即时通信号;将转移内容和被转移者(客户C)的即时通信识别码(通常是其即时通信号)填充到转让第一命令中,调用网络传输接口,将该第一命令发送给即时通信服务器,由即时通信服务器将该命令转发给转移接收方(客服B);根据转移接收方的昵称(客服B),构造转移系统提示信息,例如,具体内容可以是:“系统提示>开始与:客服B进行对话”;然后,将转移接收方(客服B)的即时通信号和转移系统提示信息填充到转让第二命令中,调用网络传输接口,将该第二命令发送给即时通信服务器,由即时通信服务器将该命令转发给被转移方(客户C);如果第一命令和第二命令同时发送成功并返回,则表示转让已经成功,转让者(客服A)调用关闭聊天窗口函数,关闭与被转让或转移者(客户C)的聊天窗口。当客服B收到客服A的转让通知命令时,其托盘图标开始闪动;点击托盘图标,解析第一命令,得到客户C的即时通信号码和转让内容;客服B向即时通信服务器发送获取客户C的个人资料命令,即时通信服务器返回客户C的个人资料(包括昵称、状态、个性签名等);客服B(转让或转移接收者)调用创建聊天对话框函数,创建与客户C的聊天对话框,得到对话框指针;通过对话框指针将客户C的个人信息以及转让的具体消息内容显示在聊天窗口中;开始与客户C进行一对一会话。
如图4所示,在本实施例中,还涉及一种实现上述方法的装置,包括转移发起单元1、指令转发单元2、指令解析单元3和对话窗口构建单元4;其中,转移发起单元1用于作为即时通信对话一方的转移发起方在对话过程中触发设定的功能按键或区域,发送转移指令到即时通信服务器,该指令中包括被指定的转移接收方识别码和对话识别码;同时所述转移发起方还发送转移通知到转移接收方;指令转发单元2用于将所述即时通信服务器接收到所述转移指令后,将其转发到作为对话另一方的被转移方;指令解析单元3用于使所述被转移方接收到所述转移指令后,取出其中的对话识别码,并依据所述对话识别码找到其即时通信缓存中的对话信息;对话窗口构建单元4用于判断查找到的对话窗口是否关闭,如是,使用所述转移指令中的转移接收方的即使通信识别码创建一个新的对话窗口,与所述转移接收方进行即时通信;否则,将原先对话窗口中的对话对象修改为所述转移接收方的即时通信识别码,并继续该对话。
转移发起单元1又进一步包括触发模块11、信息选择模块12、第一命令形成模块13和第二命令形成模块14;其中,触发模块11用于触发设定的按键或区域,创建转移接收者对话框;信息选择模块12用于查找到转移接收方信息后添加到所述转移接收者对话框;选择需要转移的内容添加到所述转移接收者对话框;第一命令形成模块13用于填入被转移方信息,形成第一命令,调用网络接口函数通过所述即时通信服务器将其作为转移通知发送到所述转移接收方;第二命令形成模块14用于使用系统提示信息和转移接收方信息形成第二命令,调用网络接口函数将其作为转移指令通过所述即时通信服务器发送到所述被转移方。
此外,指令解析单元3进一步包括信息取得模块31、对话查找模块32和对话信息取得模块33;其中信息取得模块31用于被转移方接收所述即时通信服务器发送来的转移指令,取出其中携带的信息,所述转移指令携带的信息包括对话识别码、转移接收方的即时通信识别码;对话查找模块32用于遍历被转移方的所有即时通信对话框,查找与所述对话识别码适配的对话;对话信息取得模块33用于取出与所述对话识别码匹配的对话的所有对话信息;在本实施例中,所述对话识别包括转移发起方的即时通信识别码或服务器赋予每个对话的唯一编码。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。