我正在研究与ServiceM8的集成,并希望使用$ filter REST API来过滤多个。像company_uuid和status这样的东西。 ServiceM8文档给出了以下示例,但不包括对“OR”/“AND”类型逻辑的任何用法。
"https://api.servicem8.com/api_1.0/job.json?%24filter=company_uuid%20eq%20'10420f98-7626-4405-bf43-043f1036623b'
答案 0 :(得分:1)
<强>更新强>
您仍然可以按大部分字段进行过滤,但只能一个。
排除已完成的工作:
"https://api.servicem8.com/api_1.0/job.json?%24filter=status%20ne%20%22Completed%22"
结构:
%24 : $ %20 : (space) %22 : " & : & " : "
据我所见,它仍然不能与任何其他过滤器一起使用。添加过滤器会导致500错误,或者一个过滤器将起作用而另一个过滤器将被忽略,或者甚至有时会返回响应,告诉您不要打扰:
{"errorCode":400,"message":"Advanced Record Filter Queries Not Supported"}
现实是,在撰写本文时,这是不可能的。 Filtering页面上的功能(目前是2014年7月1日的最新版本)是其功能的绝对范围。即使这样,它也不完全有效(例如,过滤活动状态根本不起作用。)
检索整个终点同样快,但显然取决于您的应用程序可能会产生不良处理或带宽影响
也许中途点是选择最有辨别力的过滤器来检索您的工作数据。
即。您可以使用此过滤器自2016年7月1日起获得所有工作:
%24filter=date%20gt%20%222016-07-01%22
这个具体的例子实际上包括7月1日的工作(没有 ge
过滤器可用),但这是猜测工作,因为你真的不知道它是如何应用对您的数据gt
,因为文档仅提供了匹配精确uuid
和单个数字比较的示例。