设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3506|回复: 0
打印 上一主题 下一主题

如何在AnyChat智能排队里实现技能分组

[复制链接]

1

主题

19

帖子

179

积分

注册会员

Rank: 2

积分
179
跳转到指定楼层
楼主
发表于 2016-8-26 18:51:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 佰锐科技-陈伟 于 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属性值的代码:
  1. // 队列业务类型
  2. public static final int QUEUE_ABILITY_TYPE_PERSONAL                =        1;                ///< 个人业务
  3. public static final int QUEUE_ABILITY_TYPE_COMPANY                =        2;                ///< 对公业务
复制代码
  1.   // 创建队列对象
  2.   int dwQueueId = 101;
  3.   AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
  4.   AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_NAME, "个人业务队列");
  5.   AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_DESCRIPTION, "开户、挂失、转帐");
  6.   // 设置队列优先级
  7.   int dwPriority = 0;
  8.   AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_PRIORITY, dwPriority);
  9.   // 设置队列业务类型
  10.   int dwQueueAbility = QUEUE_ABILITY_TYPE_PERSONAL;
  11.   AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_ATTRIBUTE, dwQueueAbility);
  12.   // 设置队列整型标签值(上层业务自定义用途)
  13.    int dwQueueIntTag = 2;
  14.    AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_INTTAG, dwQueueIntTag);
  15.    dwQueueId = 102;
  16.    AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
  17.    AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_NAME, "个人业务队列(VIP)");
  18.    AnyChatServerSDK.ObjectSetStringValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_DESCRIPTION, "开户、挂失、转帐");
  19.    // 设置队列优先级
  20.    dwPriority = 10;
  21.    AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_PRIORITY, dwPriority);
  22.    // 设置队列业务类型
  23.    dwQueueAbility = QUEUE_ABILITY_TYPE_PERSONAL;
  24.    AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_ATTRIBUTE, dwQueueAbility);
  25.    // 设置队列整型标签值(上层业务自定义用途)
  26.    dwQueueIntTag = 2;
  27.    AnyChatServerSDK.ObjectSetIntValue(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_INFO_INTTAG, dwQueueIntTag);
  28.    dwQueueId = 103;
  29.    AnyChatServerSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_QUEUE, dwQueueId, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_CREATE, dwAreaId, 0, 0, 0, "");
  30.    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队列,对公队列;那我们客户端只需写上:
  1. BRAC_ObjectSetValue(ANYCHAT_OBJECT_TYPE_CLIENTUSER, mSelfUserId, ANYCHAT_OBJECT_INFO_ATTRIBUTE, 3);
复制代码
现在我们进行坐席呼叫服务即可实现对个人业务队列,个人业务vip队列,对公业务队列进行服务。
PS:客户端这里虽然是坐席角色,但这里属性时,就得是写:ANYCHAT_OBJECT_TYPE_CLIENTUSER

备注:
1.一个队列只能属于一个技能组,但是一个技能组可以有多个队列
2.一个坐席可以服务多个技能组,一个技能组也可以被多个坐席服务
3.技能组编号必须按照2的N次方来递增。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-4-25 11:52 , Processed in 0.125324 second(s), 25 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表