Создание публикации с помощью веб-API Dynamics CRM
Объект Post (https://msdn.microsoft.com/en-us/library/mt607553.aspx) нельзя создать с помощью Dynamics CRM 2016 Online Web API.
Эта полезная нагрузка должна создать пост наPOST /api/data/v8.1/posts
{
"text": "Test Single Post",
"source": 1,
"type": 7
}
(источник 1 - автоматическое сообщение, тип 7 - статусное сообщение)
Но это возвращает:
{
"error":
{
"code":"",
"message":"An unexpected error occurred.",
"innererror"
{
"message":"An unexpected error occurred..."
}
}
}
Отправка той же полезной нагрузки только с «текстом» тоже не удалась.
Обратите внимание, что сущность Post не имеет однозначных свойств навигации (https://msdn.microsoft.com/en-us/library/mt607553.aspx#bkmk_SingleValuedNavigationProperties), что позволит мне установить связанный объект (контакт, учетная запись и т. д.).
Например, создание объекта задачи (https://msdn.microsoft.com/en-us/library/mt607619.aspx) отлично работает наPOST /api/data/v8.1/tasks
{
"subject": "Test Single Task",
"description": "Test One Description of Task",
"regardingobjectid_contact_task@odata.bind": "/contacts(<someguid>)",
"scheduledend": "2016-07-21T12:11:19.4875892Z"
}
Мне кажется, что Пост должен выставить что-то вродеregardingobjectid_contact_post@odata.bind
, но это не так.
Для контекста, это как создать сообщение через конечную точку SOAP и SDK:
var result = Client.getOrganizationService().Create(new Post
{
Text = post.text,
RegardingObjectId = new EntityReference(
entityName,
Guid.Parse(post.regarding_guid)
)
});
У кого-нибудь есть рабочий пример Поста, созданного через Web API? Это упущение в веб-API Dynamics CRM?
Не похоже, что это перечислено в ограничениях:https://msdn.microsoft.com/en-us/library/mt628816.aspx
ОБНОВИТЬ
Похоже, что пострегистрационная сущность - это то место, где должна быть создана ссылка на контакт / аккаунт. Это может быть продемонстрировано путем запроса:
/posts?$filter=postregardingid/regardingobjectid_contact/contactid eq <someguid>
Тем не менее, «глубокая вставка», как это не работает:
{
"text":"sometext",
"postregardingid":
{
"regardingobjectid_contact@odata.bind":"/contacts(someguid)"
}
}
Ответ
Невозможно создать дочерние объекты до родительского объекта.