AnyChat技术支持论坛
标题: 如何在AnyChat智能排队里实现技能分组 [打印本页]
作者: 佰锐科技-闫洪亮 时间: 2016-8-26 18:51
标题: 如何在AnyChat智能排队里实现技能分组
本帖最后由 佰锐科技-陈伟 于 2016-8-27 10:58 编辑
1、 什么是技能分组
在现实的业务场景里,经常会遇到一个问题,就是需要对某个坐席能够服务的队列进行设置。比如在银行业,有些坐席只是对贷款业务比较熟悉,而对于其他业务不熟悉,那么就需要对这个坐席服务的队列进行设置,只提供贷款队列,其他队列就不用他服务,这样其他队列里的客户办理相关业务时,系统就不会分配该坐席。或者坐席点击开始服务的时候,也不会对该客户进行服务。
2、技能分组编号规则
需要注意的是这个分组编号,编号值为2的N次方
分组编号
举例:
假如坐席对象A的ANYCHAT_OBJECT_INFO_ATTRIBUTE值设置为7,坐席对象B的ANYCHAT_OBJECT_INFO_ATTRIBUTE值设置为24,那么坐席A就只能服务技能组1,技能组2,技能组3,不能服务其他技能组。坐席B只能服务技能组4和技能组5,不能服务其他组。
技能分组是通过公共属性ANYCHAT_OBJECT_INFO_ATTRIBUTE (对象业务属性)来实现的。
3、开发步骤
3.1 队列对象分组设置
下面是服务器初始化业务队列并且设置队列ANYCHAT_OBJECT_INFO_ATTRIBUTE属性值的代码:
- // 队列业务类型
- public static final int QUEUE_ABILITY_TYPE_PERSONAL = 1; ///< 个人业务
- public static final int QUEUE_ABILITY_TYPE_COMPANY = 2; ///< 对公业务
复制代码- // 创建队列对象
- int dwQueueId = 101;
- AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
- AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_NAME, "个人业务队列");
- AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_DESCRIPTION, "开户、挂失、转帐");
- // 设置队列优先级
- int dwPriority = 0;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_PRIORITY, dwPriority);
- // 设置队列业务类型
- int dwQueueAbility = QUEUE_ABILITY_TYPE_PERSONAL;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_ATTRIBUTE, dwQueueAbility);
- // 设置队列整型标签值(上层业务自定义用途)
- int dwQueueIntTag = 2;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_INTTAG, dwQueueIntTag);
- dwQueueId = 102;
- AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
- AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_NAME, "个人业务队列(VIP)");
- AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_DESCRIPTION, "开户、挂失、转帐");
- // 设置队列优先级
- dwPriority = 10;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_PRIORITY, dwPriority);
- // 设置队列业务类型
- dwQueueAbility = QUEUE_ABILITY_TYPE_PERSONAL;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_ATTRIBUTE, dwQueueAbility);
- // 设置队列整型标签值(上层业务自定义用途)
- dwQueueIntTag = 2;
- AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_INTTAG, dwQueueIntTag);
- dwQueueId = 103;
- AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
- AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_NAME, "对公业务队列");
复制代码在代码中,我们可以看到,在营业厅中创建了3个队列,分别为个人业务,个人业务VIP和对公业务。3个队列的ANYCHAT_OBJECT_INFO_ATTRIBUTE值分别对应为: 1,1,2 。也就是说个人业务和个人业务VIP队列属于同一个分组。对公业务队列属于另一个分组。
3.2 坐席对象分组设置
设置坐席对象的ANYCHAT_OBJECT_INFO_ATTRIBUTE属性值,该值就是该坐席能够服务的所有队列对象的ANYCHAT_OBJECT_INFO_ATTRIBUTE值之和。
当客户端业务身份初始化后,我们就可以对其设置对应的属性值,来控制坐席能够服务的队列。
3.3场景模拟:
如上面所说,3个队列对应的ANYCHAT_OBJECT_TYPE_CLIENTUSER属性值分别为: 1,1,2
现在我们的客户端充当坐席角色,想服务个人业务队列,个人业务vip队列,对公队列;那我们客户端只需写上:
- BRAC_ObjectSetValue(ANYCHAT_OBJECT_TYPE_CLIENTUSER, mSelfUserId, ANYCHAT_OBJECT_INFO_ATTRIBUTE, 3);
复制代码[attach]1399[/attach]
现在我们进行坐席呼叫服务即可实现对个人业务队列,个人业务vip队列,对公业务队列进行服务。
PS:客户端这里虽然是坐席角色,但这里属性时,就得是写:ANYCHAT_OBJECT_TYPE_CLIENTUSER
备注:
1.一个队列只能属于一个技能组,但是一个技能组可以有多个队列
2.一个坐席可以服务多个技能组,一个技能组也可以被多个坐席服务
3.技能组编号必须按照2的N次方来递增。
欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) |
Powered by Discuz! X3 |