Мы вытягиваем контакты из системы Microsoft Dynamics, используя REST API. Есть ок. 88K контактов, и мы хотели бы уменьшить объем передаваемых данных, используя фильтр, который проверяет поле «на основе». Когда мы добавляем фильтр к запросу, он возвращает ответ 400. Мы пытались фильтровать по нескольким полям, мы пытались фильтровать по значению с помощью одного тика, и мы пытались использовать двойной щелчок для переноса значения.
Запрос без параметра $ filter
Этот запрос не содержит параметр $ filter и вернет 5K из 88K контактов.
URL: https://[HOST].api.crm.dynamics.com/api/data/v9.0/contacts?$select=emailaddress1,fullname,nickname,telephone1,createdon,modifiedon,_parentcustomerid_value
Это вернет результаты 5K со следующей ссылкой, позволяющей перебрать все результаты в базе данных.
Ответ
(
[@odata.etag] => *************
[emailaddress1] => *************
[fullname] => *************
[nickname] =>
[telephone1] =>
[createdon] => 2018-12-18T22:17:23Z
[modifiedon] => 2018-12-18T22:17:26Z
[_parentcustomerid_value] =>
[contactid] => *************
)
Запрос с параметром $ filter
Этот запрос содержит параметр $ filter. Когда это выполняется, динамика возвращает ошибку 400.
URL: https://[HOST].api.crm.dynamics.com/api/data/v9.0/contacts?$select=emailaddress1,fullname,nickname,telephone1,createdon,modifiedon,_parentcustomerid_value&$filter=modifiedon gt 2018-01-01
Ответ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>
Примечание. Мы также попробовали эти запросы и получили ответ 400
ПРИМЕЧАНИЕ. Следующие попытки также возвращают 400 ошибок:
https://[HOST].api.crm.dynamics.com/api/data/v9.0/contacts?$filter=modifiedon gt '2018-01-01'
https://[HOST].api.crm.dynamics.com/api/data/v9.0/contacts?$select=emailaddress1,fullname,nickname,telephone1,createdon,modifiedon,_parentcustomerid_value&$filter=modifiedon GT "2018-01-01"
https://[HOST].api.crm.dynamics.com/api/data/v9.0/contacts?$select=emailaddress1,fullname,nickname,telephone1,createdon,modifiedon,_parentcustomerid_value&$filter=fullname ноль ноль