创建概要文件
属性的事件通常创建概要文件事件API.方法也可以分别创建它们概要文件的API.
每个配置文件在创建时都与Zendesk用户相关联。亚博要了解更多信息,请参见配置文件如何与Zendesk用户关联亚博.
配置文件是同步创建的。如果成功创建概要文件,您将得到一个状态为“201”的响应。如果成功创建了具有相应概要文件的事件,则会得到一个“202”。
本文包括curl和Python示例。Python示例使用Python 3.6或更高版本请求图书馆。
如何创建概要文件
当Zend亚博esk接收到创建概要文件的请求时,它首先检查是否有匹配组合的现有概要文件源
,类型
,和标识符。看到剖面图的解剖.如果找到匹配,就用新的配置文件替换现有的配置文件。如果没有找到匹配项,则创建配置文件。
因为替换了现有的概要文件,所以新版本中没有包含的任何数据都会丢失。您可以发出一个初步请求,以搜索相同的源-类型-标识符组合的概要文件。看到访问配置文件.如果发现,您可以中止请求来创建它,或者您可以修补它。看到补丁配置文件.
理解标识符路径参数
在Profiles API中,创建概要文件的请求路径具有一个必需的标识符
参数,接受标识符查询:
把/ api / v2 / user_profiles吗?标识符={identifier_query}
把/ api / v2 /用户/ {user_id} /配置文件?标识符= {identifier_query}
标识查询指定概要文件源
而且类型
以及与配置文件相关联的人员的标识符。例子:
标识符= coolbikes:骑手:电子邮件:(电子邮件保护)
要了解更多信息,请参见使用配置文件中的标识符查询.
在创建概要文件时,标识符查询扮演两个角色。首先,它定义源
而且类型
新档案的。在上面的例子中,概要文件的源
是“酷自行车”和它的类型
“骑士”。
其次,它在创建概要文件之前检查重复的概要文件。标识符查询搜索与您试图创建的概要文件具有相同的源-类型-标识符组合的概要文件。如果找到了匹配的组合,API就用您的配置文件替换现有的配置文件。如果没有找到匹配项,则创建配置文件。
属性中的一个标识符,可以检查重复的配置文件配置文件
对象作为查询中的标识符。在上面的例子中,您应该使用电子邮件:(电子邮件保护)
在查询中。
配置文件如何与Zendesk用户关联亚博
每个配置文件在创建时都会自动与Zendesk用户关联。亚博您不需要在配置文件对象中指定Zendesk用户id(如果亚博您愿意,可以这样做)。在创建概要文件时,API会寻找一个Zendesk用户亚博亚博Zendesk身份例如,与新配置文件中的标识符匹配的电子邮件地址或电话号码。如果API找到Zendesk用户,它就亚博会将该配置文件与该用户关联起来。如果API找不到共享任何标识符的Zendesk用亚博户,它就创建一个与概要名称同名的匿名Zendesk用户,并将概要与该用户关联。
API只在配置文件标识符具有以下标识亚博符类型之一时查找Zendesk用户:
- “电子邮件”
- “external_id”
- “phone_number”
- “facebook”
- “推特”
这些在API中被称为标准标识符类型.
API将尝试将标识符类型的值与对应的值匹配用户身份类型Zen亚博desk。例如,如果标识符具有亚博类型
email的取值:
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
如果概要文件没有任何标准标识符类型,API将不寻找匹配。例子:
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
要检查现有的Zendesk用户,请确保使用标亚博准的标识类型。例如,用“email”代替“e-mail”或“email_address”。否则将创建一个新的匿名用户。
在概要文件中定义的任何标准标识符类型都将作为标识添加到Zendesk用户记录中,如果标识还不存在的话。亚博可以在Zendesk中使用亚博用户身份API:
旋度https://{子域名}.亚博.com/api/v2/用户/{user_id}/身份.json \
-v-u{email_address}:{密码}
使用事件创建概要文件
Events API中的事件跟踪端点期望每个事件都有一个概要对象。您可以使用以下端点来跟踪事件:
POST / api / v2 / user_profiles /事件
请求体接受和事件
对象和配置文件
对象。的配置文件
对象必须指定关于人员的一个或多个标识符以及可选属性。的配置文件
对象还必须指定源和一个类型.
看到跟踪事件在本指南中。
例子
数据
请求正文event.json文件:
{
“配置文件”:{
“源”:“coolbikes”,
“类型”:“骑士”,
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
]
},
“事件”:{
“源”:“coolbikes”,
“类型”:“bike_rental_booked”,
“描述”:" CoolBike已被预订",
“属性”:{
“booking_date”:“2020-02-01”,
“return_date”:“2020-02-05”
}
}
}
curl请求
旋度https://coolbikes.亚博.com/api/v2/user_profiles/事件\
-d @event.json \
-H“接受:application / 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”
}
创建单独的概要文件
你可以用下面的PUT请求创建独立于事件的概要文件:
把/ api / v2 / user_profiles吗?标识符={identifier_query}
请求在请求路径和请求体中发送概要数据。
请求路径
请求路径接受一个required标识符
参数,该参数指定标识符查询。例子:
标识符= coolbikes:骑手:电子邮件:(电子邮件保护)
标识符查询中的前两项,coolbikes
而且骑手
,定义新的配置文件源而且类型属性。最后两项,电子邮件
而且(电子邮件保护)
,应该在请求正文的概要文件中指定一个标识符。有关更多信息,请参见使用配置文件中的标识符查询.
请求体
请求体采用配置文件
对象,该对象指定一个或多个标识符以及有关人员的可选属性:
{
“配置文件”:{
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
},
...
],
“属性”:{
“my_property_name”:“some_value”,
...
}
}
}
这个概要文件的源
而且类型
属性没有在请求体中定义。在请求路径中定义这些值。
例子
数据
请求路径参数:
标识符=coolbikes:骑手:电子邮件:(电子邮件保护).com
请求正文profile.json文件:
{
“配置文件”:{
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
],
“属性”:{
“favorite_color”:“红色”,
“saddle_height”:“85厘米”
}
}
}
curl请求
Python的请求
进口json
进口请求
identifier_query=“coolbikes:骑手:电子邮件:(电子邮件保护)'
与开放(“profile.json”,模式=“r”)作为f:
配置文件=json.负载(f)
url=“https://coolbikes.亚博zendesk.com/api/v2/user_profiles”
参数个数={“标识符”:identifier_query}
头={“内容类型”:“application / json”}
凭证='(电子邮件保护)',“t1retube5”
响应=请求.把(url,参数个数=参数个数,json=配置文件,头=头,身份验证=凭证)
如果响应.status_code! =201:
打印(f”{响应。status_code}:{响应.text}')
其他的:
打印(响应.json())
响应
为Zendesk用户创建单独的配置文件亚博
如果您知道此人的Zendesk用亚博户id,您可以通过以下API请求将新配置文件直接关联到该用户:
把/ api / v2 /用户/ {user_id} /配置文件?标识符= {identifier_query}
请注意:新建配置文件也可以直接与用户关联创建单独的概要文件通过指定个人的Zendesk用户id作为配置文件的值亚博user_id财产。
您可以使用亚博Zendesk用户API查找用户id。
请求在请求路径和请求体中发送概要数据。
此请求可能与现有Zendesk用户发生冲突。亚博请求将返回一个错误。看到使用Zendesk用户id进行请求亚博在“配置文件如何影响现有数据”中。
请求路径
请求路径接受一个required标识符
参数,该参数指定标识符查询。例子:
标识符= coolplanes:飞行员:电子邮件:(电子邮件保护)
标识符查询中的前两项,coolplanes
而且飞行员
,定义新的配置文件源而且类型属性。最后两项,电子邮件
而且(电子邮件保护)
,应该在请求正文的概要文件中指定一个标识符。
看到理解标识符路径参数.
请求体
请求正文profile.json文件:
{
“配置文件”:{
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
},
...
],
“属性”:{
“my_property_name”:“some_value”,
...
}
}
}
这个概要文件的源
而且类型
属性没有在请求体中定义。在请求路径中定义这些值。
例子
数据
亚博Zendesk用户id:
“81123613”
请求路径参数:
标识符=coolplanes:飞行员:电子邮件:(电子邮件保护).com
请求正文profile.json文件:
{
“配置文件”:{
“标识符”:[
{
“类型”:“电子邮件”,
“价值”:"(电子邮件保护)"
}
],
“属性”:{
“认证”:“体育试点”
}
}
}
curl请求
Python的请求
进口json
进口请求
user_id=“81123613”
identifier_query=“coolplanes:飞行员:电子邮件:(电子邮件保护)'
与开放(“profile.json”,模式=“r”)作为f:
配置文件=json.负载(f)
url=f“https://coolplanes.亚博zendesk.com/api/v2/users/ {user_id} /配置文件”
参数个数={“标识符”:identifier_query}
头={“内容类型”:“application / json”}
凭证='(电子邮件保护)',“t1retube5”
响应=请求.把(url,参数个数=参数个数,json=配置文件,身份验证=凭证,头=头)
如果响应.status_code! =201:
打印(f”{响应。status_code}:{响应.text}')
其他的:
打印(响应.json())