2016-11-01 2 views
1

Я изучаю интеграцию с ServiceM8 и хотел бы использовать фильтр $ REST API для фильтрации более чем одним. Что-то вроде company_uuid и статус. Документация ServiceM8 дает следующий пример, но не включает использование логики типа «OR»/«И».ServiceM8 - могу ли я фильтровать более одного поля

"https://api.servicem8.com/api_1.0/job.json?%24filter=company_uuid%20eq%20'10420f98-7626-4405-bf43-043f1036623b' 

ответ

1

Update

Вы все еще можете отфильтровать большинство полей, но только один .

Исключите Выполненные работы:

  • Фильтр (в целом URL для контекста) для исключить выполненные работы является:
  •  
    "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 (последняя редакция 1 июля 2014 г.) - это абсолютная степень ее функциональности. Даже тогда это не работает (например, фильтрация для активных статус вообще не работает).

Извлечение всей конечной точки, так же быстро, но, очевидно, в зависимости от вашего приложения может иметь нежелательные обработки или пропускную способность последствия

Возможно, точка на полпути будет выбрать наиболее дискриминационный фильтр для извлечения своих рабочих данных.

  • I.e. Вы можете получить все рабочие места с 1 июля 2016 года с помощью этого фильтра:

  •  
    %24filter=date%20gt%20%222016-07-01%22

Это конкретный пример на самом деле включает в себя работу на 1 июль (Там нет ge фильтра доступен), но это догадка, а вы на самом деле не знаете, как это применимо gt к вашим данным, так как в документации приведен пример соответствия точного uuid и единственного цифрового сравнения.

+0

hmedia1, спасибо за ответ и посоветуйте. Мы учтем это. Мы могли бы быть в порядке со всеми вакансиями для компании, но, думая заранее, было бы неплохо исключить «Завершенные» вакансии. Мы можем, конечно, вытащить всю конечную точку, а затем фильтровать на клиенте. – kheiberg

+0

Все хорошо, вы можете хотя бы исключить заполненные, используя обновленный ответ. – hmedia1

+0

hmedia1, wow thx для обновленного ответа. Но вы знаете, что я должен был проверить, работает ли активный статус ... yep вообще не работает. – kheiberg

Смежные вопросы