3

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

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

在 CRM 记录中看起来像这样:

在此处输入图像描述

如您所见,电话字段以这种方式格式化(408)-667-1234,并且据我所知,它的格式化方式没有限制。它可以是这样(408) 667 1234或这样408-667-1234的。我无法控制此字段的格式。

我已将电话字段添加到“快速查找”中,并且在 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 找到“随机”格式的电话号码?通配符?过滤器?过滤功能?...

PS这就是文档所说的搜索可能性:https ://msdn.microsoft.com/en-us/library/gg334767.aspx#bkmk_applyqueryOptions

4

1 回答 1

3

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

%4%0%8%6%6%7%1%2%3%4%编码后变成%254%250%258%256%256%257%251%252%253%254%25

我使用 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')
于 2018-06-26T18:50:45.213 回答