Cree una entidad usando API web
Publicado: enero de 2017
Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Use una solicitud POST para enviar datos para crear una entidad. Puede crear varias entidades relacionadas en una sola operación mediante "inserción en profundidad". También necesita saber cómo establecer los valores para asociar una nueva entidad a entidades existentes mediante la anotación @odata.bind.
Nota
Para obtener información acerca de cómo crear y actualizar los metadatos de entidad usando la API web, consulte Crear y actualizar definiciones de entidad mediante la API web.
En este tema
Crear básico
Crear entidades relacionadas en una operación
Asociar entidades en la creación
Crear con datos devueltos
Crear básico
En este ejemplo crea una nueva entidad de cuenta. El encabezado OData-EntityId de respuesta contiene el Uri de la entidad creada.
Solicitud
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name": "Sample Account", "creditonhold": false, "address1_latitude": 47.639583, "description": "This is the description of the sample account", "revenue": 5000000, "accountcategorycode": 1 }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(7eb682f1-ca75-e511-80d4-00155d2a68d1)
Para crear una nueva entidad debe identificar los nombres y los tipos de propiedad válidos. Para todas las entidades y atributos del sistema, puede buscar esta información en el tema de la entidad en Web API EntityType Reference. Para entidades o atributos personalizados, consulte la definición de esa entidad en d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_csdl.Más información:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_entityTypes
Crear entidades relacionadas en una operación
Puede crear entidades relacionadas entre sí definiéndolas como valores de propiedades de navegación. Esto se conoce como inserción en profundidad.
Como con un Crear básico, el encabezado OData-EntityId de respuesta contiene Uri de la entidad creada. Los URI de las entidades relacionadas creadas no se devuelven.
Por ejemplo, el siguiente cuerpo de solicitud enviado al conjunto de entidades Account creará un total de cuatro nuevas entidades en el contexto de creación de una cuenta.
Se crea un contacto porque se define como propiedad de objeto de la propiedad de navegación de un solo valor primarycontactid.
Se crea una oportunidad porque se define como un objeto en una matriz que se establece en el valor de una propiedad de navegación valorada como colección opportunity_customer_accounts.
Se crea una tarea porque se define como un objeto en una matriz que se establece en el valor de una propiedad de navegación valorada como colección Opportunity_Tasks.
Solicitud
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name": "Sample Account", "primarycontactid": { "firstname": "John", "lastname": "Smith" }, "opportunity_customer_accounts": [ { "name": "Opportunity associated to Sample Account", "Opportunity_Tasks": [ { "subject": "Task associated to opportunity" } ] } ] }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(3c6e4b5f-86f6-e411-80dd-00155d2a68cb)
Asociar entidades en la creación
Para asociar nuevas entidades a las entidades existentes cuando se crean debe establecer el valor de las propiedades de navegación de un solo valor mediante la anotación @odata.bind.
El siguiente cuerpo de solicitud enviado al conjunto de entidades de cuenta creará una nueva cuenta asociada a un contacto existentes con el valor contactid de 00000000-0000-0000-0000-000000000001.
Solicitud
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name":"Sample Account", "primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)" }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)
Nota
La API web no permite asociar entidades de esta manera utilizando una propiedad de navegación valorada como colección.
Crear con datos devueltos
Nota
Esta funcionalidad se agregó con Actualización de diciembre de 2016 para Dynamics 365 (online y local).
Puede crear su solicitud POST de forma que los datos del registro creado sean devueltos con un estado de 201 (Created). Para obtener su resultado, debe usar la preferencia return=representation en los encabezados de solicitud.
Para controlar qué propiedades se devuelven, anexe la opción de consulta $select a la dirección URL del conjunto de entidades. Se ignorará la opción de consulta $expand si se utiliza.
Cuando se crea una entidad de esta forma, el encabezado OData-EntityId que contiene el URI al registro creado no se vuelve.
Este ejemplo crea una nueva entidad de cuenta y devuelve los datos solicitados en la respuesta.
Solicitud
POST cc_WebAPI_ServiceURI/accounts?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8 Prefer: return=representation { "name": "Sample Account", "creditonhold": false, "address1_latitude": 47.639583, "description": "This is the description of the sample account", "revenue": 5000000, "accountcategorycode": 1 }
Respuesta
HTTP/1.1 201 Created Content-Type: application/json; odata.metadata=minimal Preference-Applied: return=representation OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts/$entity", "@odata.etag": "W/\"536530\"", "accountid": "d6f193fc-ce85-e611-80d8-00155d2a68de", "accountcategorycode": 1, "description": "This is the description of the sample account", "address1_latitude": 47.63958, "creditonhold": false, "name": "Sample Account", "createdon": "2016-09-28T22:57:53Z", "revenue": 5000000.0000, "_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6" }
Ver también
Ejemplo de operaciones básicas de la API web (C#)
Ejemplo de operaciones básicas de la API web (JavaScript del lado del cliente)
Realizar operaciones mediante la API web
Componer solicitudes HTTP y administrar errores
Consultar datos utilizando la API web
Recuperar una entidad usando API web
Actualizar y eliminar entidades mediante la API web
Asociar y anular la asociación de entidades mediante la API web
Usar funciones de la API web
Usar acciones de la API web
Ejecute las operaciones por lotes mediante API web
Suplantar a otro usuario utilizando la API web
Realizar operaciones condicionales mediante la API web
Microsoft Dynamics 365
© 2017 Microsoft. Todos los derechos reservados. Copyright