使用ZIS操作发出经过身份验证的API请求
在本教程中,您将创建一个发出经过身份验证的API请求的ZIS集成。作为本教程的一部分,您将创建一个OAuth连接。然后,您将使用该连接对集成的ZIS流中的请求进行身份验证。
OAuth连接是ZIS连接服务中的一种连接。有关其他连接类型的详细信息,请参见理解连接。
你需要什么?
要完成本教程,您需要以下内容:
熟悉ZIS。在开始之前,完成构建您的第一个ZIS集成教程。
已注册的ZIS集成。您可以使用在中创建的集成构建您的第一个ZIS集成或者注册一个新的。要注册新的集成,请参见注册集成名称。
用于集成的ZIS OAuth令牌。看到获取ZIS OAuth令牌。
创建集成
您创建的集成将监听附件链接到评论事件在Zendesk亚博。当它检测到事件时,集成向Zendesk Support API发出一个经过身份验证的请求亚博添加标签端点。请求将“has_attachment”标签添加到来自事件的票据。
创建一个名为“zendesk”的OAuth连接。亚博
在典型的设置中,管理员使用私有Zendesk应用程序创建OAuth连接。亚博在本教程中,您将创建没有应用程序的“zendesk”连接。亚博
要创建“zendesk”连接,亚博请按照下面的步骤操作为Zendesk创建OAuth连接亚博。然后回到这里。
创建一个JSON文件my_zis_bundle.json。
将以下包骨架添加到my_zis_bundle.json:
{
“名称”:“与经过身份验证的API请求集成的ZIS”,
“描述”:"给带有附件的票添加标签",
“zis_template_version”:“2019-10-14”,
“亚博电脑端资源”:{
“AddTagAction”:{
“_placeholder_”:"ZIS自定义动作定义在这里"
},
“AddTagFlow”:{
“_placeholder_”:“ZIS流到这里”
},
“AddTagJobSpec”:{
“_placeholder_”:“ZIS的工作说明书在这里”
}
}
}
在接下来的步骤中,您将定义自定义操作、ZIS流和作业规范。
在my_zis_bundle.json,替换
AddTagAction
具有以下自定义操作定义的占位符。“AddTagAction”:{
“类型”:“子::行动::Http”,
“属性”:{
“名称”:“AddTagAction”,
“定义”:{
“方法”:“把”,
美元”的道路。”:“/ api / v2 /票/ {{$ .ticket_id}} /标签”,
“connectionName”:“亚博zendesk”,
“头”:[
{
“关键”:“内容类型”,
“价值”:“application / json”
}
],
“requestBody”:{
“标签”:[“has_attachment”]
}
}
}
},
当被调用时,自定义操作向Add Tags端点发送一个PUT请求。为了验证请求,操作使用“zendesk”连接。亚博
取代
AddTagFlow
占位符,具有以下ZIS流定义。在定义中,将“INTEGRATION”替换为您的集成键。流包含一个突出显示的Action状态。
“AddTagFlow”:{
“类型”:“子:流”,
“属性”:{
“名称”:“AddTagFlow”,
“定义”:{
“StartAt”:“AddTagState”,
“州”:{
“AddTagState”:{
“类型”:“行动”,
“ActionName”:“子:集成:行动:AddTagAction”,
“参数”:{
“ticket_id美元。”:“.input.ticket_event.ticket.id美元”
},
“结束”:真正的
}
}
}
}
},
该状态调用您在前一步中定义的自定义操作。状态使用“zendesk”连接的访问令牌亚博来验证操作的API请求。
取代
TicketStatusChangedJobSpec
具有以下职位说明定义的占位符。在定义中,将“INTEGRATION”替换为您的集成键。“AddTagJobSpec”:{
“类型”:“子::JobSpec”,
“属性”:{
“名称”:“AddTagJobSpec”,
“event_source”:“支持”,
“event_type”:”票。AttachmentLinkedToComment”,
“flow_name”:“子:集成:流:AddTagFlow”
}
}
作业规范告诉ZIS在检测到附件链接到评论事件时运行ZIS流。
保存my_zis_bundle.json。文件现在看起来应该是这样的:
{
“名称”:“与经过身份验证的API请求集成的ZIS”,
“描述”:"给带有附件的票添加标签",
“zis_template_version”:“2019-10-14”,
“亚博电脑端资源”:{
“AddTagAction”:{
“类型”:“子::行动::Http”,
“属性”:{
“名称”:“AddTagAction”,
“定义”:{
“方法”:“把”,
美元”的道路。”:“/ api / v2 /票/ {{$ .ticket_id}} /标签”,
“connectionName”:“亚博zendesk”,
“头”:[
{
“关键”:“内容类型”,
“价值”:“application / json”
}
],
“requestBody”:{
“标签”:[“has_attachment”]
}
}
}
},
“AddTagFlow”:{
“类型”:“子:流”,
“属性”:{
“名称”:“AddTagFlow”,
“定义”:{
“StartAt”:“AddTagState”,
“州”:{
“AddTagState”:{
“类型”:“行动”,
“ActionName”:“子:集成:行动:AddTagAction”,
“参数”:{
“ticket_id美元。”:“.input.ticket_event.ticket.id美元”
},
“结束”:真正的
}
}
}
}
},
“AddTagJobSpec”:{
“类型”:“子::JobSpec”,
“属性”:{
“名称”:“AddTagJobSpec”,
“event_source”:“支持”,
“event_type”:”票。AttachmentLinkedToComment”,
“flow_name”:“子:集成:流:AddTagFlow”
}
}
}
}
将包上传到ZIS。
curl -X POST https://{subdomain}.亚博zendesk.com/api/services/zis/registry/{integration}/bundles \
-u {email}:{password} \
-H "Content-Type: application/json" \
- d @my_zis_bundle.json
安装作业规范以启用集成。
curl -X POST "https://{subdomain}.亚博zendesk.com/api/services/zis/registry/job_specs/install?job_spec_name=zis:{integration}:job_spec:AddTagJobSpec" \
密码- u {email}: {}
测试集成
要测试集成,请创建带有附件的票据。然后验证集成是否将“has_attachment”标签添加到票据中。
右键单击下面的图像链接,并将其保存到计算机中camera-pieces.png:
在shell中,导航到保存图像的文件夹。例如:
$ cd ~/下载
使用以下请求将图像作为附件上传。
curl -X POST https://{subdomain}.亚博zendesk.com/api/v2/uploads?filename=camera-pieces.png \
-u {email}:{password} \
-H "Content-Type: application/binary" \
——data-binary @camera-pieces.png
保存
upload.token
值。您将在下一步中使用令牌。{
“上传”:{
“令牌”:“abcxyz”,
“expires_at”:“2099 - 05 - 06 - t00:00:00z”,
…
}
}
使用以下请求创建带有附件的票据。将“TOKEN”替换为上一步中保存的令牌。
curl -X POST https://{subdomain}.亚博zendesk.com/api/v2/tickets \
-u {email}:{password} \
-H "Content-Type: application/json" \
- d”{
“票”:{
“主题”:“我自制的相机坏了!”
"评论":{
"body": "See attached.",
“上传”(“令牌”):
}
}
} '
保存
ticket.id
值。您将在下一步中使用该id。{
“票”:{
“url”:“https://SUBDOMAIN.亚博zendesk.com/api/v2/tickets/24.json”,
“id”:24,
“external_id”:零,
…
},
…
}
使用下面的请求来获取您创建的票据。将“{ticket_id}”替换为上一步中保存的id。
curl -X GET https://{subdomain}.亚博zendesk.com/api/v2/tickets/{ticket_id}.json \
密码- u {email}: {}
属性中应该包含“has_attachment”
ticket.tags
财产。{
“票”:{
“url”:“https://SUBDOMAIN.亚博zendesk.com/api/v2/tickets/24.json”,
“id”:24,
…
“标签”:[
“has_attachment”
],
…
}
}
您还可以在Zendesk Support代理界面中验证票证的标签。亚博
恭喜你!您已经创建了一个ZIS集成,它使用OAuth连接发出经过身份验证的API请求。有关更复杂的示例,请参见亚博Zendesk应用程序作为管理界面教程系列。