Microsoft Dynamics Rest Api 记录搜索未格式化 Phone 数字

Microsoft Dynamics Rest Api Record Search by not Formatted Phone Number

我正在尝试使用他们的 REST Api 通过 phone 号码在 Dynamics CRM 中查找帐户记录。样品请求:

https://<your_msd_domain>/api/data/v8.2/accounts?$select=accountid,name,telephone1&$filter=contains(telephone1, '4086671234')&$top=10

在 CRM 中的记录如下所示:

如您所见,phone 字段的格式是这样 (408)-667-1234,据我所知,它的格式没有限制。它可以是这样的 (408) 667 1234408-667-1234我无法控制此字段的格式。

我已将 phone 字段添加到 "Quick Find",并且在 CRM 本身中我可以像这样找到它 *4*0*8*6*6*7*1*2*3*4*,例如:

但它不适用于 REST API,因此下面的这个请求(我尝试了很多不同的过滤器)没有找到任何东西:

https://<your_msd_domain>/api/data/v8.2/accounts?$select=accountid,name,telephone1&$filter=contains(telephone1, '*4*0*8*6*6*7*1*2*3*4*')&$top=10

那么,问题来了:是否有某种方法可以使用 Dynamics CRM REST API 查找 "randomly" 格式的 phone 号码? 通配符?过滤器?过滤功能?...

P.S。这就是文档关于搜索可能性的说法:https://msdn.microsoft.com/en-us/library/gg334767.aspx#bkmk_applyqueryOptions

您应该使用通配符 % 进行搜索。编码值为 %25

%4%0%8%6%6%7%1%2%3%4% turns into %254%250%258%256%256%257%251%252%253%254%25 after encoding

我使用 REST builder 构建了这些 url,您可以在浏览器地址栏本身中进行测试。有效。

https://testorg.crm.dynamics.com/api/data/v8.2/accounts?$select=name,telephone1&$filter=contains(telephone1, '4%0%8%6%6%7%1%2%3%4')

https://testorg.crm.dynamics.com/api/data/v8.2/accounts?$select=name,telephone1&$filter=contains(telephone1, '%254%250%258%256%256%257%251%252%253%254%25')