您可以使用Zendesk RES亚博T API来读取、更新和创建Zendesk产品中的数据。本教程向您展示如何开始使用API。它提供了使用API完成以下常见任务的示例:

确保在Admin Center下启用对API的密码或令牌访问应用程序和集成>api>亚博Zendesk api.有关更多信息,请参见使用API仪表板

本文使用Python是因为它的语法相对清晰易读。如果你用另一种语言工作,或者你刚刚开始学习,你应该仍然能够跟上。

如果您只是想跟随教程,而不想自己尝试这些请求,您可以跳过。

如果您想自己尝试这些请求,则需要使用Python版本3。要在系统上安装它,请参见http://www.python.org/download/

同时下载并安装请求图书馆如果你还没有的话。Requests库极大地简化了Python中的HTTP请求。安装方法:在Mac的终端或Windows的命令提示符中执行如下命令:

             
$ pip3安装请求

注意:美元符号($)表示命令提示符。不要进去。

如果您使用Python 3.3或更早版本,请参见这些指令安装库。然后使用皮普而不是pip3在命令行上。

最后,在复制本教程中的示例时,请确保按照所示的方式缩进行。缩进在Python中很重要。

免责声明:亚博Zendesk提供本文仅用于指导目的。亚博Zendesk不支持或保证代码。亚博Zendesk也不能为Python等第三方技术提供支持。

从Zendesk产品获取数据亚博

方法获取Zendesk Support实例中的所有组亚博组API

在试用该脚本之前,请确保在Zendesk Support实例中定义了几个组。亚博看到创建、管理和使用组.将脚本中的以下占位符替换为您的信息:your_subdomainyour_email_address,your_password.要了解脚本的工作原理,请参阅内联注释(在Python中以#开头)以及后面的解释。

             
进口请求请求参数url=“https://your_subdomain.亚博zendesk.com/api/v2/groups.json”用户=“your_email_address”松材线虫病=“your_password”HTTP得到请求响应=请求得到url身份验证=用户松材线虫病检查HTTP其他代码200如果响应status_code! =200打印的状态:响应status_code“请求有问题。退出。”退出解码JSON响应到字典并使用数据数据=响应json例子1打印这个名字第一组列表打印'第一组= '数据“组织”]0]“名字”]例子2打印这个名字每组列表group_list=数据“组织”]集团group_list打印集团“名字”]

你可以使用API的令牌而不是使用密码来发出API请求。从Zendesk Admin Center界面获取一个亚博API令牌应用程序和集成>api>亚博Zendesk api.要在脚本中使用标记,请附加字符串“/令牌”(不是实际的令牌值)到您的电子邮件地址用户变量,并将令牌值赋给松材线虫病变量,如下:

             
用户=“your_email_address”+“/令牌”松材线虫病=“your_api_token”

将脚本保存在一个文件夹中,使用命令行导航到该文件夹,然后从命令行运行脚本。例子:

             
python3 get_groupspy

例子:

它是如何工作的

脚本使用以下URL进行API调用:

             
url=“https://your_subdomain.亚博zendesk.com/api/v2/groups.json”

看到清单组获取有关API的详细信息。

脚本使用请求库进行身份验证并发出HTTP get请求:

             
响应=请求得到url身份验证=用户松材线虫病

接下来,脚本解码API返回的JSON并将数据打包到Python字典中:

             
数据=响应json

一个字典只是键/值对的集合。将JSON解码为字典,可以使用常规Python操作符和表达式处理数据。

查阅Zendesk RE亚博ST API文档,了解字典中有什么。例如,根据组列表文档中,调用API返回的JSON具有以下结构:

解码这个JSON会生成一个Python字典,其中包含一个名为“groups”的键。doc中的方括号告诉您的值是一个列表。列表中的每一项都是组属性的字典。有了这些信息,就可以访问字典中的数据了。例如,下面的语句访问并打印字典中第一个组的名称:

             
打印'第一组= '数据“组织”]0]“名字”]

下面的语句遍历字典中的所有组并输出每个组的名称:

             
group_list=数据“组织”]集团group_list打印集团“名字”]

还可以将数据写入文件。用下面的代码片段替换脚本中前面的示例:

             
group_list=数据“组织”]输出=''集团group_list输出+ =集团“名字”]+' \ n '#将每个名称添加到输出变量中开放“groups.txt”模式=' w '编码=“utf - 8”作为ff输出打印“完成”。

该代码片段在与脚本相同的文件夹中创建了一个名为groups.txt的文件,并在文件的一列中写入组名。

本节中描述的脚本可以很好地从Zendesk获取多达24条左右的记录。亚博但是,为了检索几百条或几千条记录,必须修改脚本以执行更多的任务。想知道怎么做,请看使用Zendesk API和Python获取大型数据集亚博

要探索如何从Zendesk产品获取其他类型的数据,请参阅亚博亚博Zendesk REST API文档

更新Zendesk产品中的数据亚博

下面的示例在Zendesk Support中使用亚博票API

在尝试脚本之前,更改id变量的值并替换以下占位符:your_subdomainyour_email_address,your_password.要了解脚本的工作原理,请参阅内联注释以及后面的解释。

             
进口json进口请求更新id=“103”身体=感谢您选择Acme喷气发动机公司的数据匹配期望的字典JSON数据={“票”{“评论”{“身体”身体}}}编码要创建的数据JSON有效载荷有效载荷=json转储数据请求参数url=“https://your_subdomain.亚博zendesk.com/api/v2/tickets/”+id+. json的用户=“your_email_address”松材线虫病=“your_password”={“内容类型”“application / json”}HTTPput请求响应=请求url数据=有效载荷身份验证=用户松材线虫病=检查HTTP其他代码200如果响应status_code! =200打印的状态:响应status_code“请求有问题。退出。”退出报告成功打印“成功向票证#{}添加注释”格式id

将脚本保存在一个文件夹中,使用命令行导航到该文件夹,然后从命令行运行脚本。例子:

             
python3 put_commentpy

在Zendesk Support中打开亚博票证以查看新评论。

它是如何工作的

除了导入请求库,脚本还导入了一个名为json的库:

             
进口json

您将使用该库将脚本中的数据转换为用于put请求的JSON。json库是标准的Python库。您不需要下载并安装它。

接下来,脚本将数据打包到与API期望的JSON结构相匹配的Python字典中。参考REST API文档获取预期的JSON。例如,如果你想给票据添加注释,API需要以下JSON:

             
{“票”{“评论”{“身体”“新发表评论。”}}}

因此,在Python中,将数据打包为与JSON匹配的嵌套字典:

             
数据={“票”{“评论”{“身体”身体}}}

对数据进行编码以创建JSON有效负载:

             
有效载荷=json转储数据

如果打印负载变量,将得到以下结果:

             
{“票”{“评论”{“身体”“感谢您选择Acme喷气发动机公司。”}}}

您应该始终对数据进行编码,以防止引号等字符破坏JSON。例如,下面语句体中的引号会提前结束字符串并导致错误:

             
“身体”"学习常见问题解答" > < / >。”

对数据进行编码,转义引号。例如:"Learn more."

接下来,设置请求参数。下面的URL是用来调用API的:

             
url=“https://your_subdomain.亚博zendesk.com/api/v2/tickets/”+id+. json的

看到更新票获取有关API的详细信息。

将JSON有效负载传递给put请求,以及其他请求参数:

             
响应=请求url数据=有效载荷身份验证=用户松材线虫病=

提示如果您希望在脚本中重复调用API——例如,更新票证集合——您可以创建请求会话并在请求之间持久化某些参数。例如,用下面的代码片段替换上面的put请求,它会创建并配置一个会话:

             
会话=请求会话会话身份验证=用户松材线虫病会话=重复请求会话不是请求...响应=会话url数据=有效载荷

要探索在Zendesk产品中更新其他类型的数据,请参阅亚博亚博Zendesk REST API文档

创建数据

的方法创建一个票据票API

在试用脚本之前,用您的信息替换以下占位符:your_subdomainyour_email_address,your_password.使用API创建内容与更新内容几乎相同,不同之处在于使用post请求而不是put请求。

             
进口json进口请求机票信息主题=“我的打印机着火了!”身体=“烟的颜色很鲜艳。”的数据匹配期望的字典JSON数据={“票”{“主题”主题“评论”{“身体”身体}}}编码要创建的数据JSON有效载荷有效载荷=json转储数据请求参数url=“https://your_subdomain.亚博zendesk.com/api/v2/tickets.json”用户=“your_email_address”松材线虫病=“your_password”={“内容类型”“application / json”}HTTPpost请求响应=请求帖子url数据=有效载荷身份验证=用户松材线虫病=检查HTTP其他代码201创建如果响应status_code! =201打印的状态:响应status_code“请求有问题。退出。”退出报告成功打印“成功创建门票。”

将脚本保存在一个文件夹中,使用命令行导航到该文件夹,然后从命令行运行脚本。例子:

             
python3 post_ticketpy

转到Zendesk支持的未分配票证视图查看新票证。亚博

它是如何工作的

脚本使用以下URL进行API调用:

             
url=“https://your_subdomain.亚博zendesk.com/api/v2/tickets.json”

看到创建门票获取有关API的详细信息。

要了解脚本的工作原理,请参阅中的解释更新Zendesk产品中的数据亚博.它们基本上是一样的,除了post request。

要探索在Zendesk产品中添加其他类型的数据,请参阅亚博亚博Zendesk REST API文档