JRTCSDK-iOS v2401.0
视频客服 API 文档
载入中...
搜索中...
未找到
构造函数 | 所有成员列表
<JRTCAgentCallback>协议 参考

座席相关事件回调 更多...

#import <JRTCAgentCallback.h>

构造函数

(void) - onGetAllGroups:result:
 
(void) - onCheckin:pause:reason:
 
(void) - onCheckIn:pause:onlineTime:breakTime:callTimes:reason:
 
(void) - onCheckout:reason:
 
(void) - onCheckStateChanged:oldState:
 
(void) - onCallStateChanged:incomingType:inviter:reason:
 
(void) - onCallQueryWaitCount:
 
(void) - onApplyResult:result:
 
(void) - onTransferCallResult:result:
 
(void) - onCallPropertyChanged:
 
(void) - onMemberJoin:
 
(void) - onMemberLeave:
 
(void) - onMemberUpdate:changeParam:
 
(void) - onUrgentRequest:callerNumber:
 
(void) - onResponseUrgentResult:cookie:
 
(void) - onQueryAvailableAgentList:result:userIds:
 
(void) - onMessageReceived:contentType:messageType:fromUserId:
 
(void) - onHoldStateChanged:
 
(void) - onCallTypeChanged:
 
(void) - onDeliveryAbort:deliveryUserId:reason:
 
(void) - onInviteThirdAgentResult:error:
 
(void) - onInviteThirdGuestResult:userId:error:
 
(void) - onNotifyMessageReceived:fromUserId:
 
(void) - onOnewayVideoChanged:
 
(void) - onSignResultResponse:fromUserId:extraInfo:
 
(void) - onSwitchPartRoleResult:operationId:error:
 
(void) - onKickParticipantResult:operationId:error:
 

详细描述

座席相关事件回调

函数文档

◆ onApplyResult:result:

- (void) onApplyResult: (int)  operationId
result: (bool)  result 

示忙/示闲回调

座席示忙/示闲状态发生改变时,会收到此回调,例如调用 applyStatePause 接口修改忙闲状态。
可以通过 pause 获取当前的忙闲状态。

参数
operationId对应 applyStatePause 接口的返回值
result示忙/示闲操作结果
  • true: 示忙/示闲成功
  • false: 示忙/示闲失败

◆ onCallPropertyChanged:

- (void) onCallPropertyChanged: (JRTCRoomPropChangeParam *)  changeParam

通话属性改变回调

注解
重点关注屏幕共享,即当screenShare 属性为 true 时,去处理屏幕共享相关事件。
可根据 shareStreamIdshareUserId 属性进行屏幕共享画面的渲染和停止渲染。
参数
changeParam通话改变的属性

◆ onCallQueryWaitCount:

- (void) onCallQueryWaitCount: (int)  count

当前排队人数上报回调

参数
count当前排队人数,不包含已经分配座席但是未接听的访客成员

◆ onCallStateChanged:incomingType:inviter:reason:

- (void) onCallStateChanged: (AgentCallStateChangeType type
incomingType: (CallIncomingType incomingType
inviter: (nullable JRTCInviter *)  inviter
reason: (CallTermReason reason 

通话状态改变回调

参数
type通话状态改变类型,即以下情况会收到此回调:
incomingType来电类型,当 type == AgentCallStateChangeTypeIncoming 时有效
inviter邀请成员对象,当 type == AgentCallStateChangeTypeIncoming 时有效
reason挂断原因,只在 type 为 AgentCallStateChangeTypeTermed 时需要关注,详见 CallTermReason

◆ onCallTypeChanged:

- (void) onCallTypeChanged: (CallType callType

音视频通话切换回调

通话中的访客和座席可分别调用 turnCallTypeturnCallType 方法切换音视频通话模式,通话中所有成员都会收到此回调。

参数
callType通话模式

◆ onCheckIn:pause:onlineTime:breakTime:callTimes:reason:

- (void) onCheckIn: (bool)  result
pause: (bool)  pause
onlineTime: (long)  onlineTime
breakTime: (long)  breakTime
callTimes: (long)  callTimes
reason: (int)  reason 

签入回调

座席调用 checkIn 接口成功,会收到此回调。

参数
result签入结果
  • true: 签入成功
  • false: 签入失败
pause签入后的示闲/示忙状态
  • true: 签入后示忙
  • false: 签入后示闲
onlineTime座席累计在线时长
breakTime座席累计示忙时长
callTimes通话次数
reason签入失败原因

◆ onCheckin:pause:reason:

- (void) onCheckin: (bool)  result
pause: (bool)  pause
reason: (NSString *)  reason 

签入回调

座席调用 checkIn 接口成功,会收到此回调。

参数
result签入结果
  • true: 签入成功
  • false: 签入失败
pause签入后的示闲/示忙状态
  • true: 签入后示忙
  • false: 签入后示闲
reason签入失败原因

◆ onCheckout:reason:

- (void) onCheckout: (bool)  result
reason: (AgentCheckoutReason reason 

签出回调

座席调用 checkout 接口签出排队机,会收到此回调。

参数
result签出结果
  • true: 签出成功
  • false: 签出失败
reason签出原因

◆ onCheckStateChanged:oldState:

- (void) onCheckStateChanged: (AgentOperatorState currentState
oldState: (AgentOperatorState oldState 

签入/签出状态改变

座席签入/签出状态发生改变时,会收到此回调,例如,调用签入/签出接口。

参数
currentState当前座席状态
oldState旧的座席状态

◆ onDeliveryAbort:deliveryUserId:reason:

- (void) onDeliveryAbort: (bool)  isShutDown
deliveryUserId: (NSString *)  deliveryUserId
reason: (NSString *)  reason 

录制异常回调

远程录制异常退出时会上报此回调。

参数
isShutDown录制异常时服务器是否自动结束通话
  • true: 自动结束通话
  • false: 不自动结束通话
deliveryUserId录制异常的用户ID
reason录制异常的原因

◆ onGetAllGroups:result:

- (void) onGetAllGroups: (NSArray< JRTCCallCenterGroupItem * > *)  groups
result: (bool)  result 

获取业务号列表结果回调

座席调用 queryAllGroups 接口获取业务号列表,会收到此回调。

参数
groups座席业务实体对象列表,获取失败时为 nil
result获取结果
  • true: 获取成功
  • false: 获取失败

◆ onHoldStateChanged:

- (void) onHoldStateChanged: (bool)  hold

收到通话保持或取回的回调

通话中座席可调用 setHoldState 接口保持通话或取回通话,通话中所有成员都会收到此回调。

参数
holdtrue 表示通话被保持,false 表示通话取回

◆ onInviteThirdAgentResult:error:

- (void) onInviteThirdAgentResult: (bool)  result
error: (NSString *)  error 

邀请座席结果回调

参数
result邀请座席结果
  • true: 邀请成功
  • false: 邀请失败
error邀请座席失败原因

◆ onInviteThirdGuestResult:userId:error:

- (void) onInviteThirdGuestResult: (bool)  result
userId: (NSString *)  userId
error: (NSString *)  error 

邀请第三方访客结果回调

参数
result邀请第三方访客结果
  • true: 邀请成功
  • false: 邀请失败
userId访客用户ID
error邀请第三方访客失败原因,仅在失败时生效

◆ onKickParticipantResult:operationId:error:

- (void) onKickParticipantResult: (bool)  result
operationId: (long)  operationId
error: (NSString *)  error 

踢出通话成员结果回调

参数
operationId操作id,对应 kickParticipant 接口的返回值
result踢出通话成员结果
  • true: 操作成功
  • false: 操作失败
error踢出通话成员操作失败原因

◆ onMemberJoin:

- (void) onMemberJoin: (JRTCRoomParticipant *)  participant

通话中有新成员加入回调

当第三方成员加入通话时,已在通话中的所有成员会收到此回调,而新加入的成员不会收到此回调。

参数
participant新加入的成员对象

◆ onMemberLeave:

- (void) onMemberLeave: (JRTCRoomParticipant *)  participant

通话中有成员离开回调

通话中有成员离开通话时,剩余的成员会收到此回调,而离开的成员不会收到此回调。

参数
participant离开的成员对象

◆ onMemberUpdate:changeParam:

- (void) onMemberUpdate: (JRTCRoomParticipant *)  participant
changeParam: (JRTCRoomParticipantChangeParam *)  changeParam 

通话中成员属性更新回调

常用的有 音量值音频上传状态视频上传状态等。
例如当通话中有成员关闭视频传输,通话中所有成员都会收到此回调。

参数
participant属性更新的成员对象
changeParam更新的属性对象

◆ onMessageReceived:contentType:messageType:fromUserId:

- (void) onMessageReceived: (NSString *)  content
contentType: (NSString *)  contentType
messageType: (MessageType messageType
fromUserId: (NSString *)  fromUserId 

收到消息回调

通话中的访客和座席可分别调用 sendMessagesendMessage 接口给通话中的指定成员或全体成员发送消息,对应的成员会收到此回调,由此获取消息具体信息。

参数
content消息内容
contentType消息内容类型
messageType消息归属类型
fromUserId发送方的用户ID

◆ onNotifyMessageReceived:fromUserId:

- (void) onNotifyMessageReceived: (JRTCNotifyMessage *)  notifyMessage
fromUserId: (NSString *)  fromUserId 

收到事件通知消息回调

通话中的访客和座席可分别调用 sendNotifyMessagesendNotifyMessage 接口给通话中的指定成员或全体成员发送通知消息,接收消息的成员会收到此回调,由此获取消息具体信息。

参数
notifyMessage事件通知实体类
fromUserId发送方的用户ID

◆ onOnewayVideoChanged:

- (void) onOnewayVideoChanged: (bool)  turnOn

收到单向视频变化回调

通话中座席调用 requestOnewayVideo 请求单向视频,所有成员都会收到此回调。
收到此回调后,应用需要自行实现单向视频功能,例如用图片遮挡该座席画面,SDK不会对画面进行单向处理。

参数
turnOn是否单向视频

◆ onQueryAvailableAgentList:result:userIds:

- (void) onQueryAvailableAgentList: (int)  operationId
result: (bool)  result
userIds: (NSArray< NSString * > *)  userIds 

查询空闲座席回调

座席调用 queryAvailableAgentList 接口查询空闲座席成功时,会收到此回调。

参数
operationId操作ID,对应 queryAvailableAgentList 接口的返回值
result查询结果
  • true: 查询成功
  • false: 查询失败
userIds查询到的空闲座席列表

◆ onResponseUrgentResult:cookie:

- (void) onResponseUrgentResult: (bool)  result
cookie: (int)  cookie 

处理加急结果回调

参数
result处理结果
  • true: 处理成功
  • false: 处理失败
cookie操作ID,对应 responseUrgent 接口的返回值

◆ onSignResultResponse:fromUserId:extraInfo:

- (void) onSignResultResponse: (bool)  result
fromUserId: (NSString *)  fromUserId
extraInfo: (NSString *)  extraInfo 

收到访客签名请求结果回调

通话中访客调用 responseSignResult 接口给座席发送签名请求结果,座席会收到此回调。

参数
result签名结果
  • true: 签名成功
  • false: 签名失败
fromUserId响应签名请求结果的访客用户ID
extraInfo随路额外消息

◆ onSwitchPartRoleResult:operationId:error:

- (void) onSwitchPartRoleResult: (bool)  result
operationId: (long)  operationId
error: (NSString *)  error 

切换自己在通话中角色结果回调

参数
operationId操作id,对应 switchPartRole 接口的返回值
result切换自己在通话中角色结果
  • true: 操作成功
  • false: 操作失败
error切换自己在通话中角色操作失败原因

◆ onTransferCallResult:result:

- (void) onTransferCallResult: (int)  operationId
result: (bool)  result 

通话转接回调

调用 transferCall 接口将通话转接给其他座席或业务组时,会收到此回调。

参数
operationId操作ID,对应 transferCall 接口的返回值
result通话转接结果
  • true: 转接成功
  • false: 转接失败

◆ onUrgentRequest:callerNumber:

- (void) onUrgentRequest: (NSString *)  serialNumber
callerNumber: (NSString *)  callerNumber 

收到加急请求回调

访客在排队过程中调用 requestUrgent 接口发起加急请求成功后,管理员权限的座席(业务管理平台配置)会收到此回调。
座席收到回调后可调用 responseUrgent 接口对加急请求进行处理,接口的参数从此回调中获得。

参数
serialNumber服务唯一标识
callerNumber发起加急请求的用户ID