配置相关设置
KFConfig.h
注:用于基本属性的配置,UI和网络请求接口都依托于本类
属性说明
属性名称 | 类型 | 说明 |
---|---|---|
user | KFUser | 查看用户信息 |
方法说明
1、 初始化方法
+ (instancetype)shareConfig;
返回值:返回唯一KFConfig实例对象
2、 初始化信息(block用于检测信息填写是否正确)
- (void)initializeWithUser:(KFUser *)user successBlock:(void (^) (KFUser *user,NSString *message))successBlock failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
---|---|---|
user | KFUser | 用户信息 |
successBlock | Block | 成功的回调 |
failureBlock | KFAPIError | 失败的回调 |
注:用于与您的KF5系统相连接,当系统已经存在一个用户时,会先注销原来的用户,在初始化新的用户(异步方法)建议在用户退出登录时,调用logoutOfUser接口注销用户。
3、 获取普通用户可以编辑的自定义字段
- (void)getCustomFiledsWithSuccess:(KFAPISuccess)success failure:(KFAPIError)error;
参数名 | 类型 | 说明 |
---|---|---|
success | KFAPISuccess | 网络请求成功的处理 |
failure | KFAPIError | 网络请求错误的处理 |
注:用于在创建工单时使用自定义字段,与客服端的工单自定义字段对应
获取到的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_required | int | 普通用户是否必填 |
enduser_title | string | 对普通用户显示的标题 |
id | int | 自定义字段的id |
name | string | 自定义字段的键名(关键) |
type | string | 自定义字段的类型 |
自定义工单类型 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 无效
参数名称 | 类型 | 说明 |
---|---|---|
hostName | NSString | 云客服平台域名,带kf5的二级域名,必填 |
appId | NSString | 公司密钥,必填 |
NSString | 用户邮箱,必填 | |
appName | NSString | 应用的名称,选填 |
deviceToken | NSString | 用户推送token,选填,填写后,不需要主动调用enablePush上传deviceToken |
2、以手机号为验证方式的快速初始化方法
- (instancetype)initWithHostName:(NSString *)hostName appId:(NSString *)appId phone:(NSString *)phone
appName:(NSString *)appName deviceToken:(NSString *)deviceToken;
注:只传手机号,verifyUserType 无效
参数名称 | 类型 | 说明 |
---|---|---|
hostName | NSString | 云客服平台域名,带kf5的二级域名,必填 |
appId | NSString | 公司密钥,必填 |
phone | NSString | 用户手机号,必填 |
appName | NSString | 应用的名称,选填 |
deviceToken | NSString | 用户推送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中提示;
参数名称 | 类型 | 说明 |
---|---|---|
hostName | NSString | 云客服平台域名,带kf5的二级域名,必填 |
appId | NSString | 公司密钥,必填 |
NSString | 用户邮箱(手机和邮箱,必须传其一) | |
phone | NSString | 用户手机号(手机和邮箱,必须传其一) |
appName | NSString | 应用的名称,选填 |
deviceToken | NSString | 用户推送token,选填,填写后,不需要主动调用enablePush上传deviceToken |
属性说明
属性名称 | 类型 | 只读 | 说明 |
---|---|---|---|
Id | NSNumber | 是 | 用户的ID |
NSString | 是 | 用户邮箱 | |
phone | NSString | 是 | 用户手机号 |
verifyUserType | KFVerifyUserType | 是 | 用户信息验证方式,默认以邮箱作为验证方式,只有当手机号和邮箱同时存在时生效 |
userName | NSString | 否 | 用户昵称 |
deviceToken | NSString | 否 | 用户推送token |
appId | NSString | 是 | 公司秘钥 |
hostName | NSString | 是 | 公司云客服域名 |
appName | NSString | 否 | 用于标示应用的名称 |
isCreated | BOOL | 是 | 该用户是否已经被创建 |