Creación de publicaciones con la API web de Dynamics CRM
Una entidad de publicación (https://msdn.microsoft.com/en-us/library/mt607553.aspx) no se puede crear con la API web en línea de Dynamics CRM 2016.
Esta carga útil debería crear una publicación enPOST /api/data/v8.1/posts
{
"text": "Test Single Post",
"source": 1,
"type": 7
}
(la fuente 1 es una publicación automática, el tipo 7 es una publicación de estado)
Pero vuelve:
{
"error":
{
"code":"",
"message":"An unexpected error occurred.",
"innererror"
{
"message":"An unexpected error occurred..."
}
}
}
El envío de la misma carga útil con solo "texto" también falla.
Tenga en cuenta que la entidad Post no tiene propiedades de navegación de un solo valor (https://msdn.microsoft.com/en-us/library/mt607553.aspx#bkmk_SingleValuedNavigationProperties) que me permitirá establecer la entidad relacionada (contacto, cuenta, etc.).
Por ejemplo, Crear una entidad de tarea (https://msdn.microsoft.com/en-us/library/mt607619.aspx) funciona bien enPOST /api/data/v8.1/tasks
{
"subject": "Test Single Task",
"description": "Test One Description of Task",
"[email protected]": "/contacts(<someguid>)",
"scheduledend": "2016-07-21T12:11:19.4875892Z"
}
Me parece que Post debería exponer algo como[email protected]
Pero no lo hace.
Para el contexto, así es cómo crear una publicación a través del punto final SOAP y el SDK:
var result = Client.getOrganizationService().Create(new Post
{
Text = post.text,
RegardingObjectId = new EntityReference(
entityName,
Guid.Parse(post.regarding_guid)
)
});
¿Alguien tiene un ejemplo funcional de una publicación creada a través de la API web? ¿Es esto una omisión en la API web de Dynamics CRM?
No parece que esto aparezca en las limitaciones:https://msdn.microsoft.com/en-us/library/mt628816.aspx
ACTUALIZAR
Parece que la entidad posterior a la reunión es donde se debe crear el enlace para contactar / cuenta. Esto se puede demostrar consultando:
/posts?$filter=postregardingid/regardingobjectid_contact/contactid eq <someguid>
Sin embargo, una "inserción profunda" como esta no funciona:
{
"text":"sometext",
"postregardingid":
{
"[email protected]":"/contacts(someguid)"
}
}
La respuesta es
No se pueden crear entidades secundarias antes de la entidad principal.