Для интеграции с MS CRM необходим дополнительный сервис, который устанавливается к платформе отдельно. Данный сервис не входит в основной установки Sherlock Platform.
Настройки параметров
Для настройки интеграционного сервиса необходимо создать для него отдельное приложение в IIS и указать параметры для авторизации к Microsoft CRM в config файле:
<add key="MsCrm_UserName" value="[email protected]" />
<add key="MsCrm_Password" value="*******" />
<add key="MsCrm_Domain" value="EXAMPLEDOMAIN" />
Примеры вызова методов
Для реализации бизнес задач требуется выбирать записи из MS CRM (например, проверить наличие контакта в MC CRM) или сохранять их (например, сформировать новый лид). Для этого в интеграционном сервисе доступны два метода, описанные ниже.
Создание/обновление записи
Для обновления данных необходимо выполнить POST запрос на адрес http://localhost/MSCRM/CreateUpdateRecord/
В теле запроса передается JSON с параметрами объекта:
{
"LogicalName":"contact",
"Id":"19a36ccf-9c8b-e911-80e9-00155d7fe505",
"Attributes": {
"fullname":"Имя Фамилия Отчество",
"firstname":"Имя",
"lastname":"Фамилия",
"middlename":"Отчество",
"mobilephone":"79876543210",
"ownerid":"C328FB73-F2FA-E811-80DA-00155D7FE505"
}
}
В данном запросе необходимо указывать:
- LogicalName - название объекта в MS CRM
- Id - идентификатор записи в MS CRM
- Attributes - значения реквизитов объекта. Описание доступных реквизитов приведено ниже
Получение записи по ID
Для получение данных необходимо выполнить GET запрос на адрес http://localhost/MSCRM/GetRecordById?logicalname=contact&id=efaabd7e-9e8b-e911-80e9-00155d7fe505&columnset=fullname,firstname,lastname,middlename,gendercode,telephone1,fax,mobilephone,emailaddress1,websiteurl,department,jobtitle
В данном запросе необходимо указывать:
- LogicalName - название объекта в MS CRM
- Id - идентификатор записи в MS CRM
- columnset - имена реквизитов объекта, которые необходимо вернуть. Описание доступных реквизитов приведено ниже
При вызове с пустым columnset возвращается все атрибуты объекта – GET запрос http://localhost/MSCRM/GetRecordById?logicalname=contact&id=efaabd7e-9e8b-e911-80e9-00155d7fe505&columnset=
Получение контакта по телефону
Для получения записей контакта по номеру телефона в интеграционном сервисе реализован специальный метод поиска. Для получения данных необходимо выполнить GET запрос http://localhost/MSCRM/GetRecordByPhone?logicalname=contact&phone=9219434626&columnset=fullname,firstname,lastname,middlename,gendercode,telephone1,fax,mobilephone,emailaddress1,websiteurl,department,jobtitle
Параметры запроса идентичны получению записи по ID, однако вместо ID передается параметр phone со значением телефона для поиска.
Названия и описание атрибутов
Описание стандартных объектов и их атрибутов приведено по ссылке https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/entitytypes?view=dynamics-ce-odata-9
Контакты
Ниже приведена таблица основных атрибутов объекта Контакт
fullname | Полное имя |
firstname | Имя |
lastname | Фамилия |
middlename | Отчество |
gendercode | Пол. 1-мужской, 2-женский |
telephone1 | Телефон 1 |
fax | Факс |
mobilephone | Мобильный |
emailaddress1 | |
websiteurl | Web сайт |
department | Отдел |
jobtitle | Должность |
Полный список атрибутов приведен по ссылке https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/contact?view=dynamics-ce-odata-9