如果您使用的是旧版自定义对象,您将继续可以访问您的对象、记录和关系。有助于您继续使用旧版自定义对象的所有资源都已标记为“旧版”。 没有“旧版”标签的自定义对象文档仅适用于新的自定义对象体验。
Zendesk 提供了多种类型的原生数据对象用于存储和管理您的客户数据,包括工单、用户、组织等。然而,它无法提供您的组织可能需要的所有数据对象类型。例如,您可能希望将每张新工单与您目录中的一个产品关联起来,以便更好地了解客户在使用不同产品时的体验。旧版自定义对象允许您为 Zendesk 中的新对象类型创建蓝图,然后根据该蓝图创建对象记录。
本文章包含以下部分:
关于旧版自定义对象
旧版自定义对象可以是任何内容,包括产品、服务合同或客户访问。您可以在 Zendesk 管理中心或使用 API创建旧版自定义对象,然后使用旧版自定义对象来定制您的 Zendesk 帐户,以满足您的业务需求。您可以通过指定应用到每个对象的权限来控制对旧版自定义对象的访问。
本指南向您说明如何在管理中心定义旧版自定义对象。它以一家度假租赁业务为例。客户可通过拨打电话或与企业支持团队开始在线交谈来报告租赁物业的问题,企业支持团队将为客户创建工单。企业希望将每张工单与 Support 中的一个出租属性相关联,以帮助专员提供更好的客户服务。企业还希望使用这些信息更好地了解每个地点的客户体验,以便规划酒店的改进。
以下视频概述了管理中心中的旧版自定义对象,但请注意该界面现已焕然一新:
旧版自定义对象增强功能 (6:02)
旧版自定义对象的限制
以下限制适用于旧版自定义对象和记录。
- 每个帐户最多可有 50 个旧版自定义对象。
- Support Enterprise、Suite Team 和 Growth:100,000 条自定义对象记录
- Suite Professional:250,000 条自定义对象记录
- Suite Enterprise:1,000,000 条自定义对象记录
- Suite Enterprise Plus:25,000,000 条自定义对象记录
启用旧版自定义对象
旧版自定义对象仅供 2023 年 9 月之前启用此功能的帐户使用。如果您刚开始在 Zendesk 中使用自定义数据,请查看 新的自定义对象体验。
定义旧版自定义对象类型
对于度假租赁业务,您希望 Zendesk 中的每个租赁属性都由一条旧版自定义对象记录表示。如果公司购买了另一个度假物业,您只需添加一条对象记录来表示它。
租赁属性共享某些属性。例如,每个属性都有一个地址、每周租金、卧室数量等等。属性值因租赁属性而异。一种可能是里斯本的两居室公寓,每周 600 美元,另一种可能是阿斯彭的三居室独立屋,每周 1100 美元。
同样,相同类型(例如“租赁属性”类型)的 Sunshine 自定义对象都共享相同的属性。旧版自定义对象的属性在称为 对象类型的蓝图中定义。
在技术级别上,对象类型由一个 键 和一个描述属性的 架构 组成。键是您要用于识别对象类型的名称。您在创建对象类型时在对象名称字段中输入密钥。例如:“rental_property”。
您可以定义租赁属性的所有类型的属性。为简化此示例,您决定为一个新的自定义对象使用以下属性,该对象的键名为“rental_property”:
名称 | Type | 是否必要 | Comment |
---|---|---|---|
id | 字符串 | 是 | 企业分配给出租物业的唯一标识符 |
卧室 | 号码 | no | 卧室数量 |
地址 | 字符串 | no | 出租物业的街道地址 |
国家 | 字符串 | no | 出租物业所在的国家 |
清洁服务 | 字符串 | no | 本地清洁服务 |
cleaning_service_phone | 字符串 | no | 当地保洁服务电话号码 |
pets_allowed | 布尔值 | 是 | 住宿是否允许携带宠物 |
这是您的架构。请注意,架构不包含关于任何特定出租属性的任何信息。它只是描述了该信息。要了解更多信息,请参阅 为旧版自定义对象创建架构。
创建旧版自定义对象类型
- 在 管理中心中,单击
对象和规则 ,然后选择 “自定义对象 > 旧版对象”。
- 单击 添加对象。
- 对于 Object name,输入对象的密钥“rental_property”。
您的密钥必须满足以下要求:
- 独一无二
- 仅包含字母数字字符(az、0-9)、下划线(_)和短划线(-)
- 最少 2 个字符,最多 32 个字符
- 单击 “添加属性” 以定义新的属性。
- 在右侧面板的“添加属性”表格中输入以下值:
- 名称 - ID
- 类型 - 字符串
- 描述 - 企业分配给出租物业的唯一标识符
- 必填 - 已勾选
- 如果您要继续构建架构,请单击 “添加属性”。
- 在“添加属性”表格中输入第二个属性的值。
- 继续单击 “添加属性” 以在架构表格中添加其它属性。
- 单击保存。
重新打开后,旧版对象类型应如下所示:
保存对象后,您可以设置基于用户角色的访问权限,以定义专员和终端用户对对象或关系记录的权限。请参阅 设置对象的用户角色和权限。
添加旧版对象记录
在管理中心创建租赁属性对象类型后,您组织中的开发者可以使用 Sunshine API 为企业的每个租赁属性 创建旧版自定义对象记录 。他们还可以使用 API 来读取、更新和删除记录。旧版对象记录只不过是具有已定义属性的数据库记录。
开发者在 API 请求中包含的用于创建出租物业记录的数据由您定义的对象类型定义,对于“rental_property”类型,该类型由名为“id”、“bedrooms”、“address”、“country”的属性组成"、"cleaning_service" 和 "cleaning_service_phone"。例如:
{
"data": {
"type": "rental_property",
"attributes": {
"id": "fr-021",
"bedrooms": 2,
"address": "11 rue Laurier, Saint-Tropez",
"country": "France"
"cleaning_service": "tropez-nettoyage"
"cleaning_service_phone": "011.33.06.55.47.54.74 "
}
}
}
如果您想稍后检索记录,开发者可以使用几个不同的端点来检索它们。请参阅 API 文档中的 旧版对象记录 。
如果企业对租赁资产进行了更改,例如租用新的清洁服务,开发者可以使用 更新旧对象记录 端点更新该租赁资产的对象记录。
如果企业出售租赁资产,开发者可以使用 删除旧版对象记录 端点。
如果企业购买了另一个出租属性,开发者可以使用 创建旧版对象记录 端点。
使用旧版自定义对象对数据建模
要以更有意义的方式使用租赁属性数据,您可以在“rental_property”类型和 Zendesk 中其他对象类型之间建立关系。例如,关于特定出租属性的信息对属性管理者来说不是很有用,除非它与客人提交的关于该属性的工单相关联。请注意,工单只是 Zendesk 中的另一种对象类型。
自定义对象支持对象类型之间的多种关系:
-
一对一 - 两种对象类型在关系的任一侧只能有一条记录。例如,一张工单仅与一个出租属性关联,而一张出租属性仅与一张工单关联。在度假租赁示例中,这不是一个可行的选项。一个出租属性可以关联多张工单。
-
一对多 —— 第一个对象类型的每个对象都与第二个对象类型的无、一个或多个对象相关。例如,一个出租属性可以与无、一张或多张工单关联。
-
多对多 - 第一个对象类型的每个对象都与第二个对象类型的没有、一个或多个对象相关,第二个对象类型的每个对象都与第一个对象类型的一个、或多个对象相关。您可以使用两个一对多关系类型定义一个多对多关系类型。
关系可以是:
- 两种旧版自定义对象类型(例如,在“rental_property”和“guest_contract”对象类型之间)
- 一个旧版自定义对象类型和以下任意 Zendesk 对象类型:工单、用户、文章、组织、组或在线交谈
- 两种标准 Zendesk 对象类型
定义旧版关系类型
正如对象类型是创建对象记录的蓝图一样,关系类型是创建两个特定对象类型之间关系记录的蓝图。对于度假租赁的例子,您想在您的自定义“rental_property”对象类型和标准 Zendesk 工单对象类型之间定义一个“租赁属性有许多工单”关系类型。
如果您使用 Zendesk Sell,您还可以在潜在客户、交易或联系人等 Zendesk Sell 对象之间创建关系。
定义关系类型不会在两个特定记录之间创建关联。它只是描述了关系。定义关系类型后,您可以创建一个关系记录,将特定工单与特定的出租属性相关联。随着这些关系记录的积累,每条记录都将一张工单与一个出租物业相关联,您将开始更清楚地了解每个出租物业的问题。Sunshine 可根据您定义的关系类型,按租赁属性对工单进行分组:一个租赁属性有许多工单。
创建旧关系类型
- 在 管理中心中,单击
对象和规则 ,然后选择 “自定义对象 > 关系”。
- 单击 添加关系类型。
- 对于 关系名称,输入“rental_prop_has_many_tickets”。
您的密钥必须满足以下要求:
- 独一无二
- 仅包含字母数字字符(az、0-9)、下划线(_)和短划线(-)
- 最少 2 个字符,最多 32 个字符
- 从菜单中选择以下值:
- 来源 - Rental_property
- 类型 - 1:Many
- 目标 - zen:ticket
页面应如下所示:
- 单击保存。
关联旧版自定义对象的相关记录
定义关系类型后,您可以开始根据关系类型关联相关记录。
您可以通过创建 关系记录将一个对象类型的记录关联到另一个对象类型的记录 (不要与关系类型混淆)。对于您的度假租赁业务,您可以在特定工单和特定租赁属性之间创建关系记录。
关系记录由两个相关对象记录的 ID 及其关系类型组成。关系记录不包含关于承租人问题或出租属性的任何实际信息。它仅包含工单记录的 ID 和出租属性记录的 ID。Sunshine 使用这些 ID 来检索相关记录。
关系记录由您创建的关系类型管理 —— 名为“rental_property_has_many_tickets”的一对多类型,其中每张工单只能与一个出租属性关联,但每张出租属性可以与多张工单关联。
要创建关系记录,您团队中的开发者可以向“ 创建关系记录” 端点发出 POST 请求。开发者在请求中包含的 JSON 对象必须指定关系类型以及“源”和“目标”对象的 ID。例如:
{
"data": {
"relationship_type": "rental_property_has_many_tickets",
"source": "1c771ee0-2c3f-11e7-bf60-e5c3f630b5aa",
"target": "zen:ticket:35437746"
}
}
检索相关记录
您团队中的开发者可以使用 按对象记录列出关系记录 端点来检索关系记录。例如,开发者可以获得记录 ID 为“5d0daa84-aec0-11e7-9a70-416881d66b6d”的出租属性的所有相关工单。
响应范例:
{
"data": [
{
"id": "c5477230-2e98-11e7-acd9-9dbd5d6450d8",
"target": "zen:ticket:35438118",
"ref": "/api/v2/tickets/35438118"
},
{
"id": "5d3484b5-aec6-11e7-9a70-a12d6a7d800c",
"target": "zen:ticket:35437746",
"ref": "/api/v2/tickets/35437746"
}
],
"links": {
"previous":null,
"next":null
}
}
在此示例中,租赁属性有两张与之关联的工单,35438118 和 35437746。您可以使用该信息查看工单。
将所有内容放在一起
您可以使用自定义对象和关系记录来解决实际问题,改进现有流程,或者只是为了更好地了解客户。例如,您团队中的开发者可以使用您的租赁资产自定义对象来构建一个 Zendesk 应用,向处理工单的专员显示关于租赁资产的详情。
当专员将工单状态从“ 新建 ”更改为“已 开启”时,该应用还可以在工单和出租物业之间 创建关系记录 。然后,您可以使用 Sunshine API 生成报告,列出每处出租物业的所有工单,并使用这些信息来规划物业改进。
设置旧版对象的用户角色和权限
创建旧版自定义对象时,您可以在保存对象架构后设置权限。保存对象架构后,您可以在“权限”标签中看到一组默认权限。旧版对象的默认权限向专员提供完全权限(创建、读取、更新或删除),而不向终端用户提供任何权限。
设置旧版自定义对象的用户角色和权限
- 在 管理中心中,单击
对象和规则 ,然后选择 “自定义对象 > 旧版对象”。
- 单击 添加对象类型 或选择一个现有的对象进行编辑。
- 单击“ 权限 ”标签。
- 选择 专员 或 终端用户 角色以定义权限。
- 在 专员 或 终端用户 面板中,选择您要为专员或终端用户启用的权限。
选项包括:创建、读取、更新和删除。
- 单击保存。
您会收到一条消息,告知您旧版对象已保存,并可在表格中看到已更新的权限。
删除自定义对象类型和关系类型
您可以在管理中心删除自定义对象类型或关系类型,但不能删除自定义对象记录或关系记录。本节介绍如何在管理中心删除自定义对象类型或关系类型。如果对象类型/关系有现有的关系或关联记录,则您无法删除该对象类型/关系。要 删除自定义对象记录 或 删除关系记录,请使用 Sunshine API。
删除自定义对象类型
- 在 管理中心中,单击
对象和规则 ,然后选择 “自定义对象 > 对象”。
- 将鼠标悬停在您要删除的自定义对象类型上,然后单击该类型旁边的垃圾桶图标。
- 当出现确认消息时,单击“ 删除 ”以确认删除。
删除关系类型
- 在 管理中心中,单击
对象和规则 ,然后选择 “自定义对象 > 关系”。
- 将鼠标悬停在您要删除的关系类型上,然后单击该类型旁边的垃圾桶图标。
- 当出现确认消息时,单击“ 删除 ”以确认删除。
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。
11 条评论
Dane
0
Paul Moran
Hi, we've just created a new sandbox of our production instance. The production instance has legacy objects and I wanted to duplicate the setup by creating legacy objects in the sandbox, but I'm unable to do so because of the Sept 23 restriction. Is there any way of creating legacy objects, maybe using the api? We will migrate to the new objects, but it's going to take a while to do that!
0
Dane
As it turns out, this feature is not yet supported. Please refer to Object type schema updating rules.
0
Shunei Chou
Hi, is it possible to define an attribute that only allows unqiue values, like a primary key on a retional database table.
0
Steven Aranaga
Is it possible to delete a property from a custom object? If you accidentally name one incorrectly, there is no way to get rid of it without re-creating the entire custom object? I only see these options:
1
Christopher Kennedy
0
Roland Hill
Thanks Christopher Kennedy - I must have overlooked that function. This will save me a lot of time. Appreciate the feedback.
0
Christopher Kennedy
It's possible to create a batch of object records by creating a Custom Objects Job. The successful Jobs API request queues an asynchronous job that creates the object records supplied in the request.
0
Roland Hill
Hi,
Is it possible to use the API to POST records to many objects?
I can successfully use the API to create a record against a single object, but haven't yet been able to "bulk" load records.
Many thanks.
0
Brett Bowser
I chatted with our PM and it looks like they are no longer accepting EAP registrations at this time. They are currently working on revamping Custom Objects as a whole which would remove the need to have an app in place so stay tuned as more information becomes available.
I'd also recommend following our Announcements page to stay up to date on product releases.
Hope this helps!
2
登录以发表评论。