RCCustomerServiceClient Class Reference

Inherits from NSObject
Declared in RCCustomerServiceClient.h

+ sharedCustomerServiceClient

+ (instancetype)sharedCustomerServiceClient

– startCustomerService:info:onSuccess:onError:onModeType:onPullEvaluation:onSelectGroup:onQuit:

发起客服聊天

- (void)startCustomerService:(NSString *)kefuId info:(RCCustomerServiceInfo *)csInfo onSuccess:(void ( ^ ) ( RCCustomerServiceConfig *config ))successBlock onError:(void ( ^ ) ( int errorCode , NSString *errMsg ))errorBlock onModeType:(void ( ^ ) ( RCCSModeType mode ))modeTypeBlock onPullEvaluation:(void ( ^ ) ( NSString *dialogId ))pullEvaluationBlock onSelectGroup:(void ( ^ ) ( NSArray<RCCustomerServiceGroupItem*> *groupList ))selectGroupBlock onQuit:(void ( ^ ) ( NSString *quitMsg ))quitBlock

Parameters

kefuId

客服 ID

csInfo

客服信息

successBlock

发起客服会话成功的回调

errorBlock

发起客服会话失败的回调 [errorCode:失败的错误码 errMsg:错误信息]

modeTypeBlock

客服模式变化

pullEvaluationBlock

客服请求评价

selectGroupBlock

客服分组选择

quitBlock

客服被动结束。如果主动调用 stopCustomerService,则不会调用到该 block

@discussion 有些客服提供商可能会主动邀请评价,有些不会,所以用lib开发客服需要注意对 pullEvaluationBlock 的处理。在 pullEvaluationBlock 里应该弹出评价。如果 pullEvaluationBlock 没有被调用到,需要在结束客服时(之前之后都可以)弹出评价框并评价。如果客服有分组,selectGroupBlock 会被回调,此时必须让用户选择分组然后调用 selectCustomerServiceGroup:withGroupId:。

Discussion

发起客服聊天

Warning: 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– getHumanEvaluateCustomerServiceConfig:

客服后台关于评价相关的客服参数配置

- (void)getHumanEvaluateCustomerServiceConfig:(void ( ^ ) ( NSDictionary *evaConfig ))evaConfigBlock

Parameters

evaConfigBlock

客服配置回调

Discussion

客服后台关于评价相关的客服参数配置

此方法依赖 startCustomerService 方法,只有调用成功以后才有效。

Warning: 如果你使用的 IMLib,或者使用kit但想要自定义评价弹窗,可以参考相关配置绘制评价 UI

@remarks 客服

Declared In

RCCustomerServiceClient.h

– stopCustomerService:

结束客服聊天

- (void)stopCustomerService:(NSString *)kefuId

Parameters

kefuId

客服 ID

Discussion

结束客服聊天

此方法依赖 startCustomerService 方法,只有调用成功以后才有效。 @warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– selectCustomerServiceGroup:withGroupId:

选择客服分组模式

- (void)selectCustomerServiceGroup:(NSString *)kefuId withGroupId:(NSString *)groupId

Parameters

kefuId

客服 ID

groupId

选择的客服分组 id

Discussion

选择客服分组模式

此方法依赖 startCustomerService 方法,只有调用成功以后才有效。 @warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– switchToHumanMode:

切换客服模式

- (void)switchToHumanMode:(NSString *)kefuId

Parameters

kefuId

客服 ID

@discussion 此方法依赖 startCustomerService 方法,而且只有当前客服模式为机器人优先才可调用。 @warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Discussion

切换客服模式

Declared In

RCCustomerServiceClient.h

– evaluateCustomerService:knownledgeId:robotValue:suggest:

评价机器人客服,用于对单条机器人应答的评价。

- (void)evaluateCustomerService:(NSString *)kefuId knownledgeId:(NSString *)knownledgeId robotValue:(BOOL)isRobotResolved suggest:(NSString *)suggest

Parameters

kefuId

客服 ID

knownledgeId

知识点 ID

isRobotResolved

是否解决问题

suggest

客户建议

Discussion

评价机器人客服,用于对单条机器人应答的评价。

此方法依赖 startCustomerService 方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商需要对机器人回答的词条进行评价,机器人回答的文本消息的 extra 带有{“robotEva”:”1”, “sid”:”xxx”}字段,当用户对这一条消息评价后调用本函数同步到服务器,knownledgedID为extra 中的 sid。若是离开会话触发的评价或者在加号扩展中主动触发的评价,knownledgedID 填 nil

@warning 如果你使用IMKit,请不要使用此方法。RCConversationViewController默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– evaluateCustomerService:dialogId:starValue:suggest:resolveStatus:tagText:extra:

评价人工客服。

- (void)evaluateCustomerService:(NSString *)kefuId dialogId:(NSString *)dialogId starValue:(int)value suggest:(NSString *)suggest resolveStatus:(RCCSResolveStatus)resolveStatus tagText:(NSString *)tagText extra:(NSDictionary *)extra

Parameters

kefuId

客服 ID

dialogId

对话 ID,客服请求评价的对话 ID

value

分数,取值范围 1-5

suggest

客户建议

resolveStatus

解决状态,如果没有解决状态,这里可以随意赋值,SDK 不会处理

tagText

客户评价的标签

extra

扩展内容

Discussion

评价人工客服。

此方法依赖 startCustomerService 方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商会主动邀请评价,pullEvaluationBlock 会被调用到,当评价完成后调用本函数同步到服务器,dialogId 填 pullEvaluationBlock 返回的 dialogId。若是离开会话触发的评价或者在加号扩展中主动触发的评价,dialogID 为 nil

@warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– evaluateCustomerService:dialogId:starValue:suggest:resolveStatus:

通用客服评价,不区分机器人人工

- (void)evaluateCustomerService:(NSString *)kefuId dialogId:(NSString *)dialogId starValue:(int)value suggest:(NSString *)suggest resolveStatus:(RCCSResolveStatus)resolveStatus

Parameters

kefuId

客服 ID

dialogId

对话 ID,客服请求评价的对话 ID

value

分数,取值范围 1-5

suggest

客户建议

resolveStatus

解决状态,如果没有解决状态,这里可以随意赋值,SDK不 会处理

Discussion

通用客服评价,不区分机器人人工

此方法依赖 startCustomerService 方法。可在客服结束之前或之后调用。 @discussion 有些客服服务商会主动邀请评价,pullEvaluationBlock 会被调用到,当评价完成后调用本函数同步到服务器,dialogId 填 pullEvaluationBlock 返回的 dialogId。若是离开会话触发的评价或者在加号扩展中主动触发的评价,dialogID 为 nil @warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h

– leaveMessageCustomerService:leaveMessageDic:success:failure:

客服留言

- (void)leaveMessageCustomerService:(NSString *)kefuId leaveMessageDic:(NSDictionary *)leaveMessageDic success:(void ( ^ ) ( void ))successBlock failure:(void ( ^ ) ( void ))failureBlock

Parameters

kefuId

客服 ID

leaveMessageDic

客服留言信息字典,根据 RCCSLeaveMessageItem 中关于留言的配置存储对应的 key-value

successBlock

成功回调

failureBlock

失败回调

Discussion

客服留言

此方法依赖 startCustomerService 方法。可在客服结束之前或之后调用。

如果一些值没有,可以传 nil @warning 如果你使用 IMKit,请不要使用此方法。RCConversationViewController 默认已经做了处理。

@remarks 客服

Declared In

RCCustomerServiceClient.h