跟踪事件
您可以使用事件API在Zendesk中存储事件数据。亚博事件可以是应用程序或系统中的任何编程式事件。您必须能够直接或通过API监听和处理事件,以及识别与每个事件相关的人员。
事件是同步创建的。如果成功创建事件,您将得到一个状态为“202”的响应。
本文包括curl和Python示例。Python示例使用Python 3.6或更高版本请求图书馆。
事件如何与概要文件一起工作
每个事件都与配置文件而后者又与Zendesk用户相关联。亚博
事件↔配置文件↔亚博Zendesk用户
因为每个配置文件都与Zendesk用户相关联,所以每个事件都与Zendesk用户相关亚博联。
概要文件标识应用程序或系统中负责事件的人员。
因此,创建事件需要事件
对象和配置文件
对象:
{
“事件”:{...},
“配置文件”:{...}
}
事件对象示例:
“事件”:{
“源”:“极致”,
“类型”:“2 fa_enabled”,
“描述”:“客户支持的两因素身份验证”,
“属性”:{
“passcode_preference”:“短信”
}
}
看到事件剖析获取更多信息。
配置文件必须至少包含以下属性:
- 的
源
应用或系统 - 配置文件的用户定义名称
类型
,例如“客户”或“骑手” - 至少一个唯一标识应用程序或系统中的人员的标识符
您可以包含其他配置文件属性,但它们不是必需的。看到剖面图的解剖获取更多信息。
配置文件对象示例:
“配置文件”:{
“源”:“coolbikes”,
“类型”:“骑士”,
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
}
每个配置文件都与一个Zendesk用户相关联。亚博看到配置文件如何与Zendesk用户关联亚博.您不需要在配置文件中指定此人的Zendesk用户id。亚博系统根据配置文件标识符自动将配置文件及其关联事件与现有Zendesk用户匹配。亚博如果系统找不到匹配,它会创建一个概要文件和一个名为“sunshine_user”的匿名Zendesk用户,并将该概要文件及其关联事件与新用户关联起来。亚博
如果发现一个配置文件具有相同的源、类型和标识符组合,系统不会用新的配置文件替换现有的配置文件。然而,它可能会向配置文件和Zendesk用户记录添加额外的信息。亚博看到概要文件如何影响现有数据.
跟踪事件
使用以下端点跟踪事件:
POST / api / v2 / user_profiles /事件
请求体接受和事件
对象和配置文件
对象。看到事件如何与概要文件一起工作.
如果概要文件和事件源起源于同一个系统,那么它们通常是相同的。
有关参考文档,请参见根据用户概要跟踪事件.
例子
数据
请求正文event.json文件:
{
“事件”:{
“源”:“coolbikes”,
“类型”:“bike_rental_booked”,
“描述”:" CoolBike已被预订",
“属性”:{
“booking_date”:“2020-02-01”,
“return_date”:“2020-02-05”
}
},
“配置文件”:{
“源”:“coolbikes”,
“类型”:“骑士”,
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
}
}
curl请求
旋度https://coolbikes.亚博.com/api/v2/user_profiles/事件\
-d @event.json \
-H“application / json内容类型:\
-v-u(电子邮件保护).com:t1retube5-X帖子
Python的请求
进口json
进口请求
与开放(“event.json”,模式=“r”)作为f:
事件=json.负载(f)
url=“https://coolbikes.亚博zendesk.com/api/v2/user_profiles/events”
头={“内容类型”:“application / json”}
凭证='(电子邮件保护)',“t1retube5”
响应=请求.帖子(url,json=事件,身份验证=凭证,头=头)
如果响应.status_code! =202:
打印(f”{响应。status_code}:{响应.text}')
其他的:
打印(响应.json())
响应
状态202接受
{
“状态”:“收到”,
“user_id”:“81123613”,
“profile_id”:“01 e1g0njsqpnpzrv096jxkxfaa”
}
通过概要跟踪事件
如果您知道与事件关联的人员的概要id,则可以使用以下请求将新事件直接与概要关联:
POST / api / v2 / user_profiles / {profile_id} /事件
因为概要文件是在路径中指定的,所以请求体只接受事件
对象。
有关参考文档,请参见使用profile_id根据用户概要跟踪事件.
例子
数据
概要文件id:
“01 e1g0njsqpnpzrv096jxkxfaa”
请求正文event.json文件:
{
“事件”:{
“源”:“coolbikes”,
“类型”:“bike_rental_booked”,
“描述”:" CoolBike已被预订",
“属性”:{
“booking_date”:“2020-02-01”,
“return_date”:“2020-02-05”
}
}
}
curl请求
旋度https://coolplanes.亚博.com/api/v2/user_profiles/01 e1G0NJSQPNPZRV096JXKXFAA/事件\
-d @event.json \
-H“application / json内容类型:\
-v-u(电子邮件保护).com:t1retube5-X帖子
Python的请求
进口json
进口请求
profile_id=“01 e1g0njsqpnpzrv096jxkxfaa”
与开放(“event.json”,模式=“r”)作为f:
事件=json.负载(f)
url=f“https://coolbikes.亚博zendesk.com/api/v2/user_profiles/ {profile_id} /事件”
头={“内容类型”:“application / json”}
凭证='(电子邮件保护)',“t1retube5”
响应=请求.帖子(url,json=事件,身份验证=凭证,头=头)
如果响应.status_code! =202:
打印(f”{响应。status_code}:{响应.text}')
其他的:
打印(响应.json())
响应
状态202接受
{
“状态”:“收到”,
“user_id”:“85211553”,
“profile_id”:“01 e24ek9488jwpf55z6cydecj2”
}
Zendesk用户跟踪事件亚博
如果您知道与该事件关联的人员的Z亚博endesk用户id,则可以通过以下请求将新事件直接与该用户关联:
POST / api / v2 /用户/ {user_id} /事件
请求体接受和事件
对象和配置文件
对象。看到事件如何与概要文件一起工作.
此请求可能与现有Zendesk用户发生冲突。亚博如果发生,请求将返回一个错误。看到使用Zendesk用户id进行请求亚博在“配置文件如何影响现有数据”中。
有关参考文档,请参见跟踪Zendesk用户和给定配置文件的事亚博件.
例子
数据
用户标识:
“85211553”
请求正文event.json文件:
{
“事件”:{
“源”:“coolbikes”,
“类型”:“bike_rental_booked”,
“描述”:" CoolBike已被预订",
“属性”:{
“booking_date”:“2020-02-01”,
“return_date”:“2020-02-05”
}
},
“配置文件”:{
“源”:“coolbikes”,
“类型”:“骑士”,
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
}
}
curl请求
旋度https://coolbikes.亚博.com/api/v2/用户/85211553/事件\
-d @event.json \
-H“application / json内容类型:\
-v-u(电子邮件保护).com:t1retube5-X帖子
Python的请求
进口json
进口请求
user_id=“85211553”
与开放(“event.json”,模式=“r”)作为f:
事件=json.负载(f)
url=f“https://coolbikes.亚博zendesk.com/api/v2/users/ {user_id} /事件”
头={“内容类型”:“application / json”}
凭证='(电子邮件保护)',“t1retube5”
响应=请求.帖子(url,json=事件,身份验证=凭证,头=头)
如果响应.status_code! =202:
打印(f”{响应。status_code}:{响应.text}')
其他的:
打印(响应.json())
响应
状态202接受
{
“状态”:“收到”,
“user_id”:“81123613”,
“profile_id”:“01 e1g0njsqpnpzrv096jxkxfaa”
}