自定义对象搜索

您可以使用Search Object Records端点根据属性、对象类型、创建时间和更新时间筛选自定义对象记录。

有关快速入门指南,请参见搜索Sunshine对象记录

JSON格式

搜索被表示为具有以下属性的JSON对象:

名字 类型 只读 强制性的 描述
数据 数组 匹配查询参数的对象记录
链接 对象 结果的下一页和上一页的url。看到分页

例子

             
{“数据”{“属性”{“作者”“西德尼·谢尔顿”“book_available”真正的“book_price”542“名称”“世界末日阴谋”“出版社”“布卢姆斯伯里出版”}“created_at”“2019 - 09 - 04 - t22:00:10.191z”“external_id”“id”“5 d13764c-cf5f-11e9-aa86-2f9bb45ad15c”“类型”“书”“updated_at”“2019 - 09 - 04 - t22:00:10.191z”}“链接”{“下一个”“阳光/ api / /对象/查询?per_page=10&cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFa"“以前”}}

搜索对象记录

  • POST / api /阳光/对象/查询

返回与查询参数匹配的对象记录。

搜索由具有以下属性的JSON对象表示。

名字 类型 要求 描述
查询 对象 是的 查询的主体。看到查询
_created_at 对象 没有 指定日期范围的对象,必须在该日期范围内创建记录才能进行匹配。看到日期范围对象
_updated_at 对象 没有 指定日期范围的对象,必须在该日期范围内更新记录以进行匹配。看到日期范围对象
sort_by 字符串 没有 指定对返回记录排序的顺序的字符串。看到排序结果。默认为"_created_at desc"

查询

一个查询是一个JSON对象,具有以下属性:

名字 类型 要求 描述
<属性> 对象 没有 一个比较对象指定要匹配的记录要满足的属性值条件
_type 对象 没有 一个比较对象指定要匹配记录所要满足的对象类型条件
美元和 数组 没有 连接数组查询对象(逻辑与)
美元或 数组 没有 析取的数组查询对象(逻辑或)

例子:

             
{“查询”{“美元和“{“作者”{“$ eq”“西德尼·谢尔顿”}}{“出版社”{“美元包含”“布卢姆茨伯里派”}}}}

日期范围对象

日期范围对象是JSON对象,它至少表示一个开始结束日期。包含这些对象的请求将被过滤,仅包括在该范围内创建或更新的记录,具体取决于使用的请求参数。如果两个创建更新如果在请求中指定,则只返回满足两个日期范围的记录。

日期范围对象具有以下属性:

名字 类型 要求 格式 描述
开始 字符串 没有 yyyy-MM-dd HH: mm: ss。瑞士 包括日期范围的开头
结束 字符串 没有 yyyy-MM-dd HH: mm: ss。瑞士 日期范围的唯一结束

日期范围可以同时包含、其中之一或不包含开始结束参数。请注意,不包含参数的日期范围不会影响请求返回的记录。

例子:

             
{“查询”{“颜色”{“$ eq”“红色”}}“_created_at”{“开始”“2020-01-01 14:54:17.019”“结束”“2020-03-05 09:23:08.063”}}

比较对象

比较对象定义了要匹配记录所要满足的条件。该条件基于属性值或对象类型。

比较对象是一个JSON对象,具有以下属性:

名字 类型 要求 描述
美元包含 数组、布尔值、整数、数字、字符串 没有 匹配相应属性值包含所提供值的记录
美元的情商 布尔值,整数,数字,字符串 没有 匹配相应属性值等于所提供值的记录
neq美元 布尔值,整数,数字,字符串 没有 的快捷方式{"$not": {"$eq": }}。匹配对应属性值不等于所提供值的记录
不是美元 对象 没有 比较对象。匹配对应属性值不满足比较对象的记录

查询所有属性

比较对象可以应用于特定属性。例如,{"color": {"$eq": "red"}}将匹配记录有颜色属性,其值等于"red"。

通过使用“*”通配符,比较对象也可以应用于所有属性。例如,{"*": {"$eq": "red"}}将匹配属性值等于“red”的记录,无论属性的名称如何。这可以显著提高查询表达式的经济性。与任何通配符表达式一样,可能会收到一些意想不到的结果。

查询嵌套属性

当一条记录有一个或多个嵌套属性时,您可以使用点表示法在查询中指定它们的完全限定名称。想想这个记录:

             
{“类型”“书”“id”“5 d13764c-cf5f-11e9-aa86-2f9bb45ad15c”“external_id”“created_at”“2019 - 09 - 04 - t22:00:10.191z”“updated_at”“2019 - 09 - 04 - t22:00:10.191z”“属性”{“作者”{“第一”“悉尼”“最后一次”“谢耳朵”}“库存”{“book_price”542“book_available”真正的“stores_available”“938475”“872648”“234324”}“名称”“世界末日阴谋”“出版社”“布卢姆斯伯里出版”}}

上面的记录将通过以下查询进行匹配:

             
{“查询”{“美元和“{“author.first”{“$ eq”“悉尼”}}{“author.last”{“$ eq”“谢耳朵”}}{“inventory.book_available”{“$ eq”真正的}}{“inventory.stores_available”{“美元包含”“872648”}}}}

排序结果

sort_by参数必须为字符串格式< _created_at | _updated_at > < asc | desc >。目前只有_created_at_updated_at元数据字段可以以这种方式使用。

分页

默认情况下,搜索端点每个页面返回10条记录。可以通过传递属性来更改每个请求的记录数量per_page参数在请求的URL参数中。例子:per_page = 50。但是,对于Search端点,每页不能超过1000条记录。当响应超过每页的最大值时,您可以使用光标参数,如响应中给出的。

例子:光标= MjAyMC0wNi0wNVQwMToxNTo1MC42NjZafDIwMjAtMDYtMDVUMDE6MTU6MzUuMjE4Wg = =

列表结果包括下一个以前的响应体中的url以便于导航:

             
{“数据”“链接”{“以前”“阳光/ api / /对象/查询?per_page = 10 "“下一个”“阳光/ api / /对象/查询?per_page=10&cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg=="}}

当您在搜索的第一页时,到前页的链接被设置为空。同样,当您在最后一页时,到下一页的链接被设置为空。

搜索结果第一页的例子:

             
{“数据”“链接”{“以前”“下一个”“阳光/ api / /对象/查询?per_page=10&cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFa"}}

最后一页的结果示例:

             
{“数据”“链接”{“以前”“阳光/ api / /对象/查询?per_page=10&cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFa"“下一个”}}

允许

  • 代理

参数

名字 类型 要求 描述
光标 字符串 查询 分页光标
per_page 字符串 查询 每页返回的项数从1到1000

代码示例

旋度
              
旋度https://{子域名}.亚博zendesk.com/api/sunshine/objects/query- d”{"查询":{美元和: [{"author": {"美元的情商": "Sidney Sheldon"}}, {"publisher": {"美元包含”:“布卢姆茨伯里派“}}]}}- h“application / json内容类型:- x的帖子- v - u{email_address}{密码}
              
进口“fmt”“输入输出”“net/http”函数主要{url:=“https://support.亚博zendesk.com/api/sunshine/objects/query?cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg%3D%3D&per_page=1”方法:=“职位”要求的事情犯错:=httpNewRequest方法url如果犯错! ={fmtPrintln犯错返回}要求的事情添加“内容类型”“application / json”客户端:=http客户端{}res犯错:=客户端要求的事情如果犯错! ={fmtPrintln犯错返回}推迟res身体关闭身体犯错:=ioReadAllres身体如果犯错! ={fmtPrintln犯错返回}fmtPrintln字符串身体}
Java
              
进口comsquareupokhttp*OkHttpClient客户端=OkHttpClientHttpUrl构建器urlBuilder=HttpUrl解析“https://support.亚博zendesk.com/api/sunshine/objects/query”newBuilderaddQueryParameter“光标”“MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg = = "addQueryParameter“per_page”“1”RequestBody身体=RequestBody创建MediaType解析“application / json”""""请求请求=请求构建器urlurlBuilder构建方法“职位”身体addHeader“内容类型”“application / json”构建响应响应=客户端newCall请求执行
Nodejs
              
varaxios=需要“axios”var配置={方法“职位”url“https://support.亚博zendesk.com/api/sunshine/objects/query”{“内容类型”“application / json”}参数个数{“光标”“MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg % 3 d % 3 d”“per_page”' 1 '}}axios配置然后函数响应{控制台日志JSONstringify响应数据}函数错误{控制台日志错误}
Python
              
进口请求url=“https://support.亚博zendesk.com/api/sunshine/objects/query?cursor=MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg%3D%3D&per_page=1”={“内容类型”“application / json”}响应=请求请求“职位”url=打印响应文本
鲁比(人名)
              
需要“net/http”uri=URI“https://support.亚博zendesk.com/api/sunshine/objects/query”uri查询=URIencode_www_form“光标”“MjAyMC0wNi0wOVQyMjowMjoyNC45MjFafDIwMjAtMDYtMDlUMjI6MDE6NTAuNTExWg = = "“per_page”“1”请求=HTTP帖子uri“内容类型”“application / json”响应=HTTP开始uri主机名uri港口use_ssl真正的|http|http请求请求结束

示例响应(年代)

200好了
              
//状态200 OK{“数据”{“属性”{“作者”“西德尼·谢尔顿”“book_available”真正的“book_price”542“名称”“世界末日阴谋”“出版社”“布卢姆斯伯里出版”}“created_at”“2019 - 09 - 04 - t22:00:10.191z”“external_id”“id”“5 d13764c-cf5f-11e9-aa86-2f9bb45ad15c”“类型”“书”“updated_at”“2019 - 09 - 04 - t22:00:10.191z”}{“属性”{“作者”“西德尼·谢尔顿”“book_available”真正的“book_price”542“名称”《如果明天来临》“出版社”“布卢姆斯伯里出版”}“created_at”“2019 - 08 - 29 - t18:47:23.556z”“external_id”“id”“70588682 - ca8d - 11 - e9 - 893 a - 63225 c9f1206”“类型”“书”“updated_at”“2019 - 08 - 29 - t18:47:23.556z”}}