我正在研究與ServiceM8的集成,並希望使用$ filter REST API進行多個過濾。像company_uuid和狀態。 ServiceM8文檔爲他們提供了以下示例,但不包括'OR'/'AND'類型邏輯的任何用法。ServiceM8 - 我可以過濾多個字段嗎
"https://api.servicem8.com/api_1.0/job.json?%24filter=company_uuid%20eq%20'10420f98-7626-4405-bf43-043f1036623b'
我正在研究與ServiceM8的集成,並希望使用$ filter REST API進行多個過濾。像company_uuid和狀態。 ServiceM8文檔爲他們提供了以下示例,但不包括'OR'/'AND'類型邏輯的任何用法。ServiceM8 - 我可以過濾多個字段嗎
"https://api.servicem8.com/api_1.0/job.json?%24filter=company_uuid%20eq%20'10420f98-7626-4405-bf43-043f1036623b'
更新
您仍然可以通過大多數字段的過濾器,但只有一個。
排除完成作業:
"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
和單個數字比較的示例。
hmedia1,感謝您的回覆和建議。我們會考慮這一點。對於一家公司來說,我們可能對所有喬布斯都可以,但考慮未來,排除「已完成」工作將會很好。我們當然可以拉出整個終點,然後在客戶端進行過濾。 – kheiberg
一切都很好,你至少可以使用更新後的答案排除已完成的問題。 – hmedia1
hmedia1,哇的thx更新的答案做得好。但是你知道我必須測試活動狀態是否正常工作...... yep根本不起作用。 – kheiberg