配置相关设置

KFConfig.h

注:用于基本属性的配置,UI和网络请求接口都依托于本类

属性说明

属性名称类型说明
userKFUser查看用户信息

方法说明

1、 初始化方法
+ (instancetype)shareConfig;

返回值:返回唯一KFConfig实例对象

2、 初始化信息(block用于检测信息填写是否正确)
- (void)initializeWithUser:(KFUser *)user successBlock:(void (^) (KFUser *user,NSString *message))successBlock failureBlock:(KFAPIError)failureBlock;
参数名称类型说明
userKFUser用户信息
successBlockBlock成功的回调
failureBlockKFAPIError失败的回调

注:用于与您的KF5系统相连接,当系统已经存在一个用户时,会先注销原来的用户,在初始化新的用户(异步方法)建议在用户退出登录时,调用logoutOfUser接口注销用户。

3、 获取普通用户可以编辑的自定义字段
- (void)getCustomFiledsWithSuccess:(KFAPISuccess)success failure:(KFAPIError)error;
参数名类型说明
successKFAPISuccess网络请求成功的处理
failureKFAPIError网络请求错误的处理

注:用于在创建工单时使用自定义字段,与客服端的工单自定义字段对应

获取到的JSON数据如下:

{
  "ticket_fields": [
    {
      "enduser_required": 1,
      "enduser_title": "自定义字段",
      "id": 601,
      "name": "field_601",
      "type": "int"
    },
    {
      "enduser_required": 0,
      "enduser_title": "end_user",
      "id": 654,
      "name": "field_654",
      "type": "dropdownlist"
    }
  ]
}
4、 注销用户
- (void)logoutOfUser;

注:会删除该用户的deviceToken,清除初始化的用户信息,再次访问KF5接口,需重新初始化,会调用KFPushUtil的disablePush:withSuccess:方法删除该用户的deviceToken,清除手机里初始化的用户信息,再次访问KF5接口,需重新初始化。

5、 当前SDK的版本
- (NSString *)version;

返回字段说明

返回字段名类型说明
enduser_requiredint普通用户是否必填
enduser_titlestring对普通用户显示的标题
idint自定义字段的id
namestring自定义字段的键名(关键)
typestring自定义字段的类型

自定义工单类型 type如下:

text(文本), dropdownlist(下拉字段), textarea(文本框), checkbox(复选框), int(数字型) ,

float(浮点型), cascade(级联), date(日期), time(时间)

用户

KFUser.h

注:用户个人信息属性说明

方法说明

1、以邮箱为验证方式的快速初始化方法
- (instancetype)initWithHostName:(NSString *)hostName appId:(NSString *)appId email:(NSString *)email
appName:(NSString *)appName deviceToken:(NSString *)deviceToken;

注:只传邮箱,verifyUserType 无效

参数名称类型说明
hostNameNSString云客服平台域名,带kf5的二级域名,必填
appIdNSString公司密钥,必填
emailNSString用户邮箱,必填
appNameNSString应用的名称,选填
deviceTokenNSString用户推送token,选填,填写后,不需要主动调用enablePush上传deviceToken
2、以手机号为验证方式的快速初始化方法
- (instancetype)initWithHostName:(NSString *)hostName appId:(NSString *)appId phone:(NSString *)phone
appName:(NSString *)appName deviceToken:(NSString *)deviceToken;

注:只传手机号,verifyUserType 无效

参数名称类型说明
hostNameNSString云客服平台域名,带kf5的二级域名,必填
appIdNSString公司密钥,必填
phoneNSString用户手机号,必填
appNameNSString应用的名称,选填
deviceTokenNSString用户推送token,选填,填写后,不需要主动调用enablePush上传deviceToken
3、以自定义验证方式的快速初始化方法
- (instancetype)initWithHostName:(NSString *)hostName appId:(NSString *)appId email:(NSString *)email
phone:(NSString *)phone verifyUserType:(KFVerifyUserType)verifyUserType appName:(NSString *)appName
deviceToken:(NSString *)deviceToken;

注:如果email和phone都传入时以verifyPriorityType(用户信息验证方式)为主;
1、如果verifyUserType设置为1,则验证kf5系统中有没有该email,有则验证成功,并修改该用户的手机号(如果手机号已在系统中存在,将不会修改,并会在ret.message中提示);
2、如果verifyUserType设置为2,则验证kf5系统中有没有该phone,有则验证成功;
  2.1、如果该用户不存在email则添加该email(如果该email已在系统中存在,将不会添加,并会在ret.message中提示);
  2.2、如果该用户存在email,则email不能修改,并会在ret.message中提示;

参数名称类型说明
hostNameNSString云客服平台域名,带kf5的二级域名,必填
appIdNSString公司密钥,必填
emailNSString用户邮箱(手机和邮箱,必须传其一)
phoneNSString用户手机号(手机和邮箱,必须传其一)
appNameNSString应用的名称,选填
deviceTokenNSString用户推送token,选填,填写后,不需要主动调用enablePush上传deviceToken

属性说明

属性名称类型只读说明
IdNSNumber用户的ID
emailNSString用户邮箱
phoneNSString用户手机号
verifyUserTypeKFVerifyUserType用户信息验证方式,默认以邮箱作为验证方式,只有当手机号和邮箱同时存在时生效
userNameNSString用户昵称
deviceTokenNSString用户推送token
appIdNSString公司秘钥
hostNameNSString公司云客服域名
appNameNSString用于标示应用的名称
isCreatedBOOL该用户是否已经被创建