ServiceM8 - 我可以在多个字段上进行过滤

时间:2016-11-01 16:08:14

标签: rest

我正在研究与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'

1 个答案:

答案 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和单个数字比较的示例。