基本上,我正在查询D365 Web API,并且试图获取帐户的所有相关联系人。
跟随此链接:
尝试使用$expand
,但这只会带来_primarycontactid_value
。因此,只有一个主要联系人,而不是与该帐户相关的所有人。
类似于以下内容:
/api/data/v9.0/accounts&?select=name&$expand=Contacts(fullname, email)
帐户中仅有“联系人”的字段是:
preferredcontactmethodcode
_primarycontactid_value
address2_primarycontactname
address1_primarycontactname
_tcc_primaryinvoicecontactid_value
_tcc_consultingcontact_value
_tcc_contactlist_value //some custom field that doesn't apparently do anything
_new_foundationcontact_value
_tcc_primaryapcontactid_value
所以没有一个可以用来查找我所知道的所有联系人。
另一种方法是先从联系人开始,然后在$expand=
上依次_parentcustomerid_value
。但是我需要筛选“帐户”以指定我想要的某些帐户...这只会覆盖每个帐户,而且速度非常慢。我不确定是否可以通过$filter=
值来$expand=
。
所以:
$filter=
上使用$expand=
和值?尝试将查询量保持在最低水平。这可以通过执行多个迭代查询来解决,但这只会使其变得异常缓慢。或者只是查询所有内容并将其拼凑在一起,但这同样会很慢。
答案 0 :(得分:0)
好吧,偶然发现了答案:contact_customer_accounts
。
查询最终如下所示:/api/data/v9.0/accounts&?select=name&$expand=contact_customer_accounts($select=fullname)
。
据我所知,尽管我只用1:N类型进行了测试,但是也可以使用自定义关系。
仍然需要一段时间才能生成,但是可以正常工作。