对象类型
对象类型是创建的蓝图对象记录同类型的。您可以为创建人员、契约、产品或其他任何东西设计对象类型。有关更多信息,请参见对象类型在自定义对象手册.
可以通过调整对象类型定义和类型的对象记录来控制对对象类型定义和对象记录的访问政策.
JSON格式
对象类型表示为具有以下属性的JSON对象:
名字 | 类型 | 只读 | 强制性的 | 描述 |
---|---|---|---|---|
created_at | 字符串 | 真正的 | 假 | 创建对象类型的时间 |
关键 | 字符串 | 真正的 | 真正的 | 用户定义的唯一标识符。仅在创建时可写。看到键属性 |
模式 | 对象 | 假 | 真正的 | 对象记录的描述,最大32 KB。看到模式属性 |
updated_at | 字符串 | 真正的 | 假 | 对象类型最后一次更新的时间 |
版本 | 整数 | 假 | 假 | 此模式的版本 |
键属性
的关键
属性是您自己定义的对象类型的唯一标识符。密钥长度必须在2到32个字符之间。例如“product”、“cell_phone”和“2019-car”。
模式属性
的模式
属性描述从类型创建的对象记录的属性。它还可以验证属性值。模式遵循JSON模式规范。要了解更多信息,请参见为自定义对象创建模式在开发帮助中心。
亚博Zendesk应用以下模式验证规则:
空模式- - -
模式
和属性
属性不能为空。属性命名规则—schema中的所有属性必须遵循以下命名规则:
属性名不能以
“_”
的性格。“*”不能作为模式属性名。
属性名称不能包含以下字符:“\b”、“\f”、“\n”、“\r”、“\t”、“\u0007”、“\u0013”
要求
additionalProperties
是错误的- - -additionalProperties
property是一个不可变的属性,添加到所有新的JSON schema中,并设置为false。任何包含additionalProperties
设置为true会遇到400错误请求
错误。验证规则限制了创建的能力对象记录包含非模式属性的。支持的类型- - -
类型
属性支持以下类型:“boolean”、“integer”、“number”、“string”和“array”。的值类型
属性不能设置为受支持类型的数组。例如,["字符串"]
无效的类型值。定义数组时,使用项目
属性必须与定义类型
数组的属性。的类型
属性可以是以下值之一"boolean", "integer", "number", "string"
.支持关键字-自定义对象支持以下JSON Schema关键字:“title”、“description”、“properties”、“type”、“items”、“required”和“additionalProperties”。受支持的属性放置不当也会导致
400错误请求
错误。
您可以使用验证对象类型端点来验证对象类型的模式。端点返回的错误消息概述在对象类型的模式验证引用.
例子
{
“created_at”:“2020 - 04 - 24 - t23:47:19.000z”,
“关键”:“产品”,
“模式”:{
“属性”:{
“id”:{
“描述”:“产品的唯一标识符”,
“类型”:“字符串”
},
“名称”:{
“描述”:“产品名称”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2020 - 04 - 24 - t23:47:19.000z”
}
列表对象类型
GET / api /阳光/对象/类型
返回帐户的对象类型。亚博Zendesk对象类型如“zen:user”不包括在内。
允许
- 每一个人
旋度
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types\
- v - u{email_address}:{密码}
示例响应(年代)
200好了
// Status 200 OK
{
“数据”:[
{
“created_at”:“2018 - 01 - 01 t10:20:30z”,
“关键”:“产品”,
“模式”:{
“属性”:{
“id”:{
“描述”:“产品编号”,
“类型”:“字符串”
},
“名称”:{
“描述”:“产品名称”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2018 - 01 - 01 t10:20:30z”,
“版本”:1
},
{
“created_at”:“2018 - 01 - 01 t10:20:30z”,
“关键”:“用户”,
“模式”:{
“属性”:{
“id”:{
“描述”:“用户id”,
“类型”:“字符串”
},
“名称”:{
“描述”:“用户名”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2018 - 01 - 01 t10:20:30z”,
“版本”:2
}
]
}
验证对象类型
GET / api /阳光/对象/类型/模式/报告
验证并生成帐户中所有对象类型的报告。该报告基于已实现的最新验证规则。
允许
- 管理员
旋度
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types/schema/report/\
- x得到\
- v - u{email_address}:{密码}
示例响应(年代)
200好了
// Status 200 OK
{
“数据”:[
{
“消息”:[
模式的属性元素不能为空。
],
“object_type_key”:“empty_schema_type”
},
{
“消息”:[
“数据。模式实例值(\"object\")不在enum中(可能值:[\"boolean\",\"integer\",\"number\",\"string\",\"array\"])",
无效的属性名“_nested”:属性名不能以“_”开头。
],
“object_type_key”:“nested_schema”
}
]
}
显示对象类型
GET / api /阳光/对象/类型/ {object_type_key}
返回指定的对象类型关键.
允许
- 每一个人
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
object_type_key | 字符串 | 路径 | 真正的 | key属性是您自己定义的对象类型的唯一标识符 |
旋度
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types/{关键}\
- v - u{email_address}:{密码}
示例响应(年代)
200好了
// Status 200 OK
{
“数据”:{
“created_at”:“2018 - 01 - 01 t10:20:30z”,
“关键”:“产品”,
“模式”:{
“属性”:{
“id”:{
“描述”:“产品编号”,
“类型”:“字符串”
},
“名称”:{
“描述”:“产品名称”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2018 - 01 - 01 t10:20:30z”
}
}
创建对象类型
POST / api /阳光/对象/类型
属性的属性创建对象类型对象记录被创建为那种类型。
允许
- 管理员
旋度
为了清晰起见,该示例将JSON放在一个单独的文件中,并将其导入cURL语句。
resource_type.json
{
“数据”:{
“关键”:“产品”,
“模式”:{
“属性”:{
“id”:{
“类型”:“字符串”,
“描述”:“产品编号”
},
“名称”:{
“类型”:“字符串”,
“描述”:“产品名称”
}
},
“要求”:[
“id”,
“名称”
]
}
}
}
旋度片段
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types\
- d @resource_type.json\
- h“application / json内容类型:- x的帖子\
- v - u{email_address}:{密码}
示例响应(年代)
201年创建
//状态201已创建
{
“数据”:{
“created_at”:“2018 - 01 - 01 t10:20:30z”,
“关键”:“产品”,
“模式”:{
“属性”:{
“id”:{
“描述”:“产品编号”,
“类型”:“字符串”
},
“名称”:{
“描述”:“产品名称”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2018 - 01 - 01 t10:20:30z”
}
}
更新对象类型
把阳光/ api / /对象/类型/ {object_type_key}
对象类型更新规则:
更新
模式
对象类型的属性。不更新关键
.在请求中包含完整的、更新后的对象类型。
尽管您只能更新一个属性,但这是PUT端点,而不是PATCH端点。
您不能更新Zendesk对象类型。亚博例如,请求路径中的键不能是“zen:user:123”。
对象类型模式更新规则:
更新
类型
不支持任何模式属性的属性。不支持删除模式属性。
允许
- 管理员
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
object_type_key | 字符串 | 路径 | 真正的 | key属性是您自己定义的对象类型的唯一标识符 |
旋度
为了清晰起见,该示例将JSON放在一个单独的文件中,并将其导入cURL语句。
updated_resource_type.json
{
“数据”:{
“模式”:{
“属性”:{
“id”:{
“类型”:“字符串”,
“描述”:“产品编号”
},
“名称”:{
“类型”:“字符串”,
“描述”:“产品名称”
},
“特征”:{
“类型”:“字符串”,
“描述”:“产品功能”
}
},
“要求”:[
“id”,
“名称”
]
}
}
}
旋度片段
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types/{关键}\
- d @updated_resource_type.json\
- h“application / json内容类型:- x将\
- v - u{email_address}:{密码}
示例响应(年代)
200好了
// Status 200 OK
{
“数据”:{
“created_at”:“2019 - 01 - 01 t10:20:30z”,
“关键”:“产品”,
“模式”:{
“属性”:{
“特征”:{
“描述”:“产品功能”,
“类型”:“字符串”
},
“id”:{
“描述”:“产品编号”,
“类型”:“字符串”
},
“名称”:{
“描述”:“产品名称”,
“类型”:“字符串”
}
},
“要求”:[
“id”,
“名称”
]
},
“updated_at”:“2019 - 01 - 02 t06:45:00z”
}
}
删除对象类型
删除/ api /阳光/对象/类型/ {object_type_key}
删除指定的对象类型关键.
只有删除了由该类型创建的所有对象记录后,才能删除该对象类型。看到删除对象记录.
允许
- 管理员
参数
名字 | 类型 | 在 | 要求 | 描述 |
---|---|---|---|---|
object_type_key | 字符串 | 路径 | 真正的 | key属性是您自己定义的对象类型的唯一标识符 |
旋度
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/types/{关键}\
- x删除\
- v - u{email_address}:{密码}
示例响应(年代)
204无内容
//状态204无内容
零