iOS

# 智能排队

Juphoon提供的智能排队服务是纯软件解决方案,相较于传统的排队机,智能排队服务轻量化的纯软件灵活部署模式、完美兼容行方现有的集中作业平台、呼叫中心等系统。 智能排队服务是在座席管理后台里通过对业务组、技能组和座席进行灵活配置,将座席资源按照实际的业务所需进行分组,再通过智能调度中心按照不同调度策略结合当前座席资源使用情况,合理的将来自访客终端的呼叫请求分配至相应的座席。实现大流量访客的合理分流,降低排队流失,优化顾客体验。

# 1. 排队人数

排队人数通过实现 JRTCAgentCallback (opens new window) 中的 onCallQueryWaitCount (opens new window) 接口上报,每5s自动回调一次。

/**
 * 排队人数回调
 * @param count 当前排队人数
 */
- (void)onCallQueryWaitCount:(int)count;

# 2. 处理加急

加急流程:

  1. 访客通过调用 JRTCGuest (opens new window)requestUrgent (opens new window) 方法发起加急请求;
  2. 座席通过实现 JRTCAgentCallback (opens new window)onUrgentRequest (opens new window) 接口接收访客的加急请求;
  3. 座席处理加急的结果通过实现 JRTCAgentCallback (opens new window)onResponseUrgentResult (opens new window)获取;
  4. 座席通过调用 JRTCAgent (opens new window)responseUrgent (opens new window) 方法处理是否同意加急请求;
  5. 访客通过实现 JRTCGuestCallback (opens new window)onUrgentResultResponse (opens new window) 获取作息处理加急结果;
  6. 座席同意加急请求后,访客可以优先被分配座席进行通话;

注:只有管理员权限的座席才能收到加急请求,可以在业务管理平台上配置座席权限。

/**
 * 收到加急请求回调
 *
 * 访客在排队过程中调用 {@link JRTCGuest.requestUrgent requestUrgent} 接口发起加急请求成功后,管理员权限的座席(业务管理平台配置)会收到此回调。<br>
 * 座席收到回调后可调用 {@link JRTCAgent.responseUrgent:callerNumber:agree: responseUrgent} 接口对加急请求进行处理,接口的参数从此回调中获得。
 * @param serialNumber 业务唯一标识
 * @param callerNumber 发起加急请求的用户ID
 */
- (void)onUrgentRequest:(NSString *)serialNumber callerNumber:(NSString *)callerNumber;
/**
 * 处理加急请求
 *
 * 请求加急流程: <br>
 * 1. 访客在排队过程中调用 {@link JRTCGuest.requestUrgent requestUrgent} 接口发起加急请求 <br>
 * 2. 管理员权限的座席(业务管理平台配置)收到 {@link JRTCAgentCallback.onUrgentRequest:callerNumber: onUrgentRequest} 回调 <br>
 * 3. 座席收到回调后调用此接口对加急请求进行处理 <br>
 * 4. 座席处理后,访客会收到 {@link JRTCGuestCallback.onUrgentResultResponse: onUrgentResultResponse} 加急请求处理结果回调,如果座席同意加急请求,则将会插队到队列最前
 * @param serialNumber 业务唯一标识,通过 {@link JRTCAgentCallback.onUrgentRequest:callerNumber: onUrgentRequest} 回调获得
 * @param callerNumber 发起加急请求的用户ID,通过 {@link JRTCAgentCallback.onUrgentRequest:callerNumber: onUrgentRequest} 回调获得
 * @param agree 同意或拒绝加急请求
 * - true: 同意加急请求
 * - false: 拒绝加急请求
 * @return 操作ID,对应 {@link JRTCAgentCallback.onResponseUrgentResult:cookie: onResponseUrgentResult} 回调的 cookie 参数
 */
- (int)responseUrgent:(NSString *)serialNumber callerNumber:(NSString *)callerNumber agree:(BOOL)agree;
/**
 * 座席处理加急的结果回调
 *
 * 访客调用 {@link JRTCGuest.requestUrgent requestUrgent} 接口请求加急后,座席可调用 {@link JRTCAgent.responseUrgent:callerNumber:agree: responseUrgent} 接口同意或拒绝加急请求,然后访客会收到此回调获得加急请求应答结果。
 * @param agree 加急是否通过,true 表示座席同意了访客的加急请求,false 表示不同意
 */
- (void)onUrgentResultResponse:(bool)agree;

示例代码:

// 访客发起加急请求
[_guest requestUrgent];

// 坐席收到加急请求回调
- (void)onUrgentRequest:(NSString *)serialNumber callerNumber:(NSString *)callerNumber {
    // 同意加急请求
    [_agent responseUrgent:serialNumber callerNumber:callerNumber agree:true];
    // 不同意加急请求
    [_agent responseUrgent:serialNumber callerNumber:callerNumber agree:false];
}

//访客接收到座席处理加急结果
- (void)onUrgentResultResponse:(bool)agree {
    if (agree) {
      	//座席同意加急请求
     } else {
      	//座席不同意加急请求
     }
}