使用ZIS操作发出经过身份验证的API请求

在本教程中,您将创建一个发出经过身份验证的API请求的ZIS集成。作为本教程的一部分,您将创建一个OAuth连接。然后,您将使用该连接对集成的ZIS流中的请求进行身份验证。

OAuth连接是ZIS连接服务中的一种连接。有关其他连接类型的详细信息,请参见理解连接

你需要什么?

要完成本教程,您需要以下内容:

创建集成

您创建的集成将监听附件链接到评论事件在Zendesk亚博。当它检测到事件时,集成向Zendesk Support API发出一个经过身份验证的请求亚博添加标签端点。请求将“has_attachment”标签添加到来自事件的票据。

  1. 创建一个名为“zendesk”的OAuth连接。亚博

    在典型的设置中,管理员使用私有Zendesk应用程序创建OAuth连接。亚博在本教程中,您将创建没有应用程序的“zendesk”连接。亚博

    要创建“zendesk”连接,亚博请按照下面的步骤操作为Zendesk创建OAuth连接亚博。然后回到这里。

  2. 创建一个JSON文件my_zis_bundle.json

  3. 将以下包骨架添加到my_zis_bundle.json

                   
    {“名称”“与经过身份验证的API请求集成的ZIS”“描述”"给带有附件的票添加标签"“zis_template_version”“2019-10-14”“亚博电脑端资源”{“AddTagAction”{“_placeholder_”"ZIS自定义动作定义在这里"}“AddTagFlow”{“_placeholder_”“ZIS流到这里”}“AddTagJobSpec”{“_placeholder_”“ZIS的工作说明书在这里”}}}

    在接下来的步骤中,您将定义自定义操作、ZIS流和作业规范。

  4. my_zis_bundle.json,替换AddTagAction具有以下自定义操作定义的占位符。

                   
    “AddTagAction”{“类型”“子::行动::Http”“属性”{“名称”“AddTagAction”“定义”{“方法”“把”美元”的道路。”“/ api / v2 /票/ {{$ .ticket_id}} /标签”“connectionName”“亚博zendesk”“头”{“关键”“内容类型”“价值”“application / json”}]“requestBody”{“标签”“has_attachment”]}}}}

    当被调用时,自定义操作向Add Tags端点发送一个PUT请求。为了验证请求,操作使用“zendesk”连接。亚博

  5. 取代AddTagFlow占位符,具有以下ZIS流定义。在定义中,将“INTEGRATION”替换为您的集成键。

    流包含一个突出显示的Action状态。

                   
    “AddTagFlow”{“类型”“子:流”“属性”{“名称”“AddTagFlow”“定义”{“StartAt”“AddTagState”“州”{“AddTagState”{“类型”“行动”“ActionName”“子:集成:行动:AddTagAction”“参数”{“ticket_id美元。”“.input.ticket_event.ticket.id美元”}“结束”真正的}}}}}

    该状态调用您在前一步中定义的自定义操作。状态使用“zendesk”连接的访问令牌亚博来验证操作的API请求。

  6. 取代TicketStatusChangedJobSpec具有以下职位说明定义的占位符。在定义中,将“INTEGRATION”替换为您的集成键。

                   
    “AddTagJobSpec”{“类型”“子::JobSpec”“属性”{“名称”“AddTagJobSpec”“event_source”“支持”“event_type””票。AttachmentLinkedToComment”“flow_name”“子:集成:流:AddTagFlow”}}

    作业规范告诉ZIS在检测到附件链接到评论事件时运行ZIS流。

  7. 保存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”}}}}
  8. 将包上传到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
  9. 安装作业规范以启用集成。

                   
    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”标签添加到票据中。

  1. 右键单击下面的图像链接,并将其保存到计算机中camera-pieces.png

    camera-pieces.png]

  2. 在shell中,导航到保存图像的文件夹。例如:

                   
    $ cd ~/下载
  3. 使用以下请求将图像作为附件上传。

                   
    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”}}
  4. 使用以下请求创建带有附件的票据。将“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”}}
  5. 使用下面的请求来获取您创建的票据。将“{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应用程序作为管理界面教程系列。