Получение всех связанных контактов для сущности Account в веб-интерфейсе Dynamics 365 CRM v9.0 - PullRequest
0 голосов
/ 04 февраля 2019

Обычно я запрашиваю веб-API D365 и пытаюсь получить все связанные контакты для учетной записи.

Перешел по этой ссылке:

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/webapi/query-data-web-api#retrieve-related-entities-by-expanding-navigation-properties

Попытка использовать $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=.

Итак:

  1. Как я могу запросить учетную запись и все связанные с контактами дляАккаунт?
  2. Если нет возможности, можно ли использовать $filter= on и $expand= value?

Попытка свести количество запросов к минимуму.Эту проблему можно решить, выполнив несколько итеративных запросов, но это просто сделает его невероятно медленным.Или просто запросите все и соберите все вместе, но это тоже будет медленно.

1 Ответ

0 голосов
/ 04 февраля 2019

Хорошо, наткнулся на ответ: contact_customer_accounts.

Запрос в конечном итоге выглядит следующим образом: /api/data/v9.0/accounts&?select=name&$expand=contact_customer_accounts($select=fullname).

Насколько я могу судить, можно использовать пользовательские отношениятакже, хотя я тестировал только с типами 1: N.

Генерация все еще занимает немного времени, но работает.

...