与API提供者合作
与API提供者合作
API提供者允许您在没有UI的情况下使用Support SDK的所有功能。它们让您可以代表终端用户与Zendesk Suppor亚博t进行交互。
在开始之前
在开始之前,了解以下信息是有用的:
- 所有API提供者都假定您已经正确初始化
亚博
而且支持
,包括设置有效身份 - API提供者通过请求中提供的回调异步返回结果
- 每个回调块包含一个NSError参数,对于成功的API请求,该参数为nil
可用提供者
- 获取一个请求列表并创建新的请求
- 获取给定请求的注释列表,并添加其他注释
- 获取类别、节和文章
- 搜索文章
- 文章投票
- 上传附件
- 删除附件
- 添加或删除最终用户标记
- 用户字段设置为最终用户
- 为推送通知注册和注销客户端
- 支持webhook和城市飞艇
查看API提供程序文档
您可以在Xcode或GitHub上查看以下提供者的文档。
- ZDKRequestProvider.h
- ZDKHelpCenterProvider.h
- ZDKUploadProvider.h
- ZDKAttachmentProvider.h
- ZDKPushProvider.h
- ZDKUserProvider.h
在Xcode中查看文档
- 在Xcode中,使用快速打开快捷方式(转变+命令+O),然后输入您感兴趣的API提供者的名称。
在GitHub上查看文档
- 去支持SDK IOS回购在Github上。
- 类型
t
然后输入您感兴趣的API提供者的名称。
请注意:ZDKPushProvider
而且ZDKUserProvider
定义为亚博ZendeskCoreSDK-Swift.h
.
ZDKRequestProvider
创建ZDKRequestProvider,如下所示:
斯威夫特
let provider = ZDKRequestProvider()
objective - c
ZDKRequestProvider*提供者=[ZDKRequestProvider新];
创建一个支持请求
创建ZDKRequestProvider提供程序后,可以使用该提供程序的都会
方法来创建请求。
斯威夫特
var request = ZDKCreateRequest()
请求。主题="My printer is on fire!"
请求。请求Description = "The smoke is very colorful."
请求。标签=["printer", "fire"]
provider.createRequest(请求){结果,错误在
}
objective - c
ZDKCreateRequest*请求=[ZDKCreateRequest新];
请求.主题=“我的打印机着火了!”;
请求.requestDescription=@“烟的颜色很丰富。”;
请求.标签=@[@“打印机”,@“火”];
[提供者都会:请求withCallback:^(id的结果,NSError*错误){
如果(错误){
//处理错误
//记录错误
[ZDKLogger e:@“出问题了”];
}其他的{
//处理成功
}
}];
创建带有附件的请求
您可以使用提供者的都会
方法创建带有附件的请求。
在下面的例子中,替换UploadResponse的ZDKUploadResponse检索uploadAttachment
方法ZDKUploadProvider
]。
斯威夫特
var request = ZDKCreateRequest()
请求。attachments = UploadResponse
请求。主题="My printer is on fire!"
请求。请求Description = "The smoke is very colorful."
provider.createRequest(请求){结果,错误在
}
objective - c
ZDKCreateRequest*请求=[ZDKCreateRequest新];
请求.附件=@[UploadResponse];
请求.主题=@“票据”主题;
请求.requestDescription=@“票据”描述;
[提供者都会:请求withCallback:^(id的结果,NSError*错误){
如果(错误){
//处理错误
//记录错误
[ZDKLogger e:@“出问题了”];
}其他的{
//处理成功
}
}];
在创建请求时设置自定义字段
的ZDKCreateRequest
类有一个customFields
数组属性,可用于在新请求中设置自定义字段的值。尽管最终用户可以在Help Center的web版本的票据表单中看到自定义字段,但这些字段不能在SDK的对话界面中显示。但是,您仍然可以使用SDK直接设置自定义字段的值。
Zendesk Supp亚博ort的管理员可以添加自定义票务字段到默认的票据表单。自定义字段可以只对代理可见,也可以对代理和最终用户都可见。
设置自定义票据字段的前提条件:
在Help Center的web版本中,最终用户既可以看到自定义票据字段,也可以对其进行编辑。如果自定义字段值有多个单词,则将该值传递给
CustomField
应该被蛇壳化。Ze亚博ndesk管理员可以为您确认或设置这些设置。看到为代理和最终用户添加自定义票据字段在支持帮助中心您拥有ticket字段的id。要找到它,可以使用票务字段API或者你可以让Zendesk管理员在亚博Zendesk支持中获得它。管理员可以在字段的设置页面上获取id管理>管理>票字段
下面是一个设置自定义字段的例子:
斯威夫特
let customFieldOne = CustomField(fieldId: 1234567,值:"3")
let customFieldTwo = CustomField(fieldId: 2345678, value: "some_text")
let customFieldThree = CustomField(fieldId: 22334455, value: ["one", "two", "three"])
let customFieldFour = CustomField(fieldId: 11223344,值:true)
let request = ZDKCreateRequest()
请求。customFields = [customFieldOne, customFieldTwo, customFieldThree, customFieldFour]
ZDKRequestProvider()。都会(请求,withCallback: nil)
objective - c
ZDKCustomField*customFieldOne=[[ZDKCustomField alloc]initWithFieldId:@(1234567)价值:@“3”];
ZDKCustomField*customFieldTwo=[[ZDKCustomField alloc]initWithFieldId:@(2345678)价值:@“some_text”];
ZDKCustomField*customFieldThree=[[ZDKCustomField alloc]initWithFieldId:@(22334455)价值:@[@“一”,@“两个”,@“三”]];
ZDKCustomField*customFieldFour=[[ZDKCustomField alloc]initWithFieldId:@(11223344)价值:@(是的)];
ZDKCreateRequest*请求=[ZDKCreateRequest新];
请求.customFields=@[customFieldOne,customFieldTwo,customFieldThree,customFieldFour];
[[ZDKRequestProvider新]都会:请求withCallback:零];
你也可以使用字典初始化自定义字段:
斯威夫特
let customFieldOne = CustomField(dictionary: ["id": 1234567, "value": "3"])
let customFieldTwo = CustomField(dictionary: ["id": 2345678, "value": "some_text"])
let customFieldThree = CustomField(dictionary: ["id": 22334455, "value": ["one", "two", "three"]])
let customFieldFour = CustomField(dictionary: ["id": 11223344, "value": true])
objective - c
ZDKCustomField*customFieldOne=[[ZDKCustomField alloc]initWithDictionary:@{@“id”:@(1234567),@“价值”:@“3”}];
ZDKCustomField*customFieldTwo=[[ZDKCustomField alloc]initWithDictionary:@{@“id”:@(2345678),@“价值”:@“some_text”}];
ZDKCustomField*customFieldThree=[[ZDKCustomField alloc]initWithDictionary:@{@“id”:@(22334455),@“价值”:@[@“一”,@“两个”,@“三”]}];
ZDKCustomField*customFieldFour=[[ZDKCustomField alloc]iinitWithDictionary:@{@“id”:@(11223344),@“价值”:@(是的)}];
创建请求时选择自定义表单
如果您的Zend亚博esk Support实例支持自定义表单,你可以使用ticketFormId
的财产ZDKCreateRequest
类来指定将在代理界面中显示的表单,以显示与应用程序一起提交的门票。下面是一个示例:
斯威夫特
let request = ZDKCreateRequest()
请求。ticketFormId = 1333
objective - c
ZDKCreateRequest*请求=[ZDKCreateRequest新];
请求.ticketFormId=@(1333);
ZDKHelpCenterProvider
使用ZDKHelpCenterProvider
很类似于使用ZDKRequestProvider
.可以从列表中调用以下方法ZDKHelpCenterProvider.
ZDKUploadProvider
使用ZDKUploadProvider
很类似于使用ZDKRequestProvider
.可以从列表中调用以下方法ZDKUploadProvider.
ZDKUserProvider
使用ZDKUserProvider
很类似于使用ZDKRequestProvider
.可以从列表中调用以下方法ZDKUserProvider.
ZDKPushProvider
使用ZDKPushProvider
很类似于使用ZDKRequestProvider
.可以从列表中调用以下方法ZDKPushProvider.