Crear y actualizar definiciones de entidad mediante la API web
Publicado: enero de 2017
Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Puede realizar todas las mismas operaciones en entidades de modelo que con el servicio de organización. Este tema se centra en trabajar con entidades de metadatos usando la API web. Para encontrar los detalles acerca de las propiedades de los metadatos de la entidad, vea Personalizar metadatos de entidad y EntityMetadata EntityType.
En este tema
Crear entidades
Actualizar entidades
Crear atributos
Crear entidades
Para crear una entidad, POST la representación JSON de los datos de la entidad a la ruta del conjunto de entidades EntityDefinitions. La entidad debe incluir la definición del atributo de nombre principal para la entidad. No necesita establecer valores para todas las propiedades. Los elementos de la lista excepto Description se requieren, aunque se recomienda establecer una descripción. Los valores de propiedad que no especifica se establecerán como valores predeterminados. Para comprender los valores predeterminados, vea el ejemplo en la sección Actualizar entidades. El ejemplo en este tema usa las siguientes propiedades de la entidad.
Propiedad de entidad |
Valor |
---|---|
SchemaName |
new_BankAccount Nota Debe incluir el prefijo de personalización que coincide con el editor de soluciones. Aquí se usa el valor predeterminado " new_", pero debe elegir el prefijo que funcione para la solución. |
DisplayName |
Cuenta bancaria |
DisplayCollectionName |
Cuentas bancarias |
Description |
Una entidad para almacenar información acerca de las cuentas bancarias del cliente. |
OwnershipType |
UserOwned Nota Para los valores que puede establecer aquí, consulte OwnershipTypes EnumType. |
IsActivity |
false |
HasActivities |
false |
HasNotes |
false |
Además de las propiedades enumeradas anteriormente, la propiedad EntityMetadataAttributes debe contener una matriz que incluya un StringAttributeMetadata EntityType para representar el atributo de nombre principal para la entidad. La propiedad IsPrimaryName del atributo debe ser true. En la siguiente tabla se describen las distintas propiedades establecidas en el ejemplo.
Propiedad Atributo principal |
Valor |
---|---|
SchemaName |
new_AccountName |
RequiredLevel |
None Nota Para los valores que puede establecer aquí, consulte AttributeRequiredLevelManagedProperty ComplexType y AttributeRequiredLevel EnumType. |
MaxLength |
100 |
FormatName |
Text Nota El atributo de nombre principal debe usar formato de Text. Para las opciones de formato disponibles para otros atributos de cadena, consulte Formatos de StringAttributeMetadata. |
DisplayName |
Nombre de cuenta |
Description |
Escriba el nombre de la cuenta bancaria. |
IsPrimaryName |
true |
Nota
Cuando se crean o se actualizan etiquetas con Label ComplexType, solo debe establecer la propiedad LocalizedLabels. El valor UserLocalizedLabel devuelto se basa en la preferencia de idioma del usuario y es de solo lectura.
El siguiente ejemplo muestra la creación de una entidad personalizada con las propiedades establecidas. El idioma es inglés con el Id. de configuración regional (LCID) de 1033.Los valores de identificadores de configuración regional válidos pueden encontrarse en la tabla de identificadores de configuración regional (LCID).
Solicitud
POST cc_WebAPI_ServiceURI/EntityDefinitions HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 { "@odata.type": "Microsoft.Dynamics.CRM.EntityMetadata", "Attributes": [ { "AttributeType": "String", "AttributeTypeName": { "Value": "StringType" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Type the name of the bank account", "LanguageCode": 1033 } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Account Name", "LanguageCode": 1033 } ] }, "IsPrimaryName": true, "RequiredLevel": { "Value": "None", "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "new_AccountName", "@odata.type": "Microsoft.Dynamics.CRM.StringAttributeMetadata", "FormatName": { "Value": "Text" }, "MaxLength": 100 } ], "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "An entity to store information about customer bank accounts", "LanguageCode": 1033 } ] }, "DisplayCollectionName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Accounts", "LanguageCode": 1033 } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account", "LanguageCode": 1033 } ] }, "HasActivities": false, "HasNotes": false, "IsActivity": false, "OwnershipType": "UserOwned", "SchemaName": "new_BankAccount" }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(417129e1-207c-e511-80d2-00155d2a68d2)
Actualizar entidades
Importante
No puede usar el método HTTP PATCH para actualizar las entidades de modelo. Las entidades de metadatos tienen paridad con el servicio de organización UpdateEntityRequest que reemplaza la definición de entidad con la que está incluida. Por lo tanto, debe usar el método HTTP PUT al actualizar las entidades del modelo y tener cuidado de incluir todas las propiedades existentes que no desea cambiar. No puede actualizar propiedades individuales.
Cuando actualice las entidades de metadatos con etiquetas, debe incluir un encabezado MSCRM.MergeLabels personalizado para controlar cómo las etiquetas en la actualización deben ser manejadas. Si una etiqueta para un elemento tiene etiquetas para otros idiomas y lo actualiza con una etiqueta que contiene sólo una etiqueta para un idioma específico, el encabezado MSCRM.MergeLabels controla si sobrescribe las etiquetas existentes o combina la nueva etiqueta con etiquetas de idioma existentes. Con MSCRM.MergeLabels establecido como true, las etiquetas nuevas definidas solo sobrescribirán las etiquetas existentes cuando el código de idioma coincida. Si desea sobrescribir las etiquetas existentes para incluir solo las etiquetas que incluye, establezca MSCRM.MergeLabels como false.
Importante
Si no incluye un encabezado MSCRM.MergeLabels, el comportamiento predeterminado es como si el valor fuera false y las etiquetas localizadas no incluidas en la actualización se perderán.
Cuando se actualiza una entidad o atributo, debe usar la PublishXml Action o PublishAllXml Action para que los cambios que realice se apliquen a la aplicación.Más información:Publicación de personalizaciones
Normalmente, se recuperará la definición JSON del atributo y modificará las propiedades antes de volver a enviarla. El siguiente ejemplo contiene todas las propiedades de metadatos de la entidad creada en el ejemplo Crear entidades, pero con DisplayName cambiado a "Bank Business Name". Puede resultar útil observar que el JSON aquí proporciona los valores predeterminados de las propiedades no establecidas en el ejemplo Crear entidades.
Solicitud
PUT cc_WebAPI_ServiceURI/EntityDefinitions(417129e1-207c-e511-80d2-00155d2a68d2) HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 MSCRM.MergeLabels: true { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions/$entity", "ActivityTypeMask": 0, "AutoRouteToOwnerQueue": false, "CanTriggerWorkflow": true, "Description": { "LocalizedLabels": [ { "Label": "An entity to store information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "edc3abd7-c5ae-4822-a3ed-51734fdd0469", "HasChanged": null } ] }, "DisplayCollectionName": { "LocalizedLabels": [ { "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "7c758e0c-e9cf-4947-93b0-50ec30b20f60", "HasChanged": null } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Business Name", "LanguageCode": 1033 } ] }, "EntityHelpUrlEnabled": false, "EntityHelpUrl": null, "IsDocumentManagementEnabled": false, "IsOneNoteIntegrationEnabled": false, "IsInteractionCentricEnabled": false, "IsKnowledgeManagementEnabled": false, "AutoCreateAccessTeams": false, "IsActivity": false, "IsActivityParty": false, "IsAuditEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyauditsettings" }, "IsAvailableOffline": false, "IsChildEntity": false, "IsAIRUpdated": false, "IsValidForQueue": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyqueuesettings" }, "IsConnectionsEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyconnectionsettings" }, "IconLargeName": null, "IconMediumName": null, "IconSmallName": null, "IsCustomEntity": true, "IsBusinessProcessEnabled": false, "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "IsRenameable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "isrenameable" }, "IsMappable": { "Value": true, "CanBeChanged": false, "ManagedPropertyLogicalName": "ismappable" }, "IsDuplicateDetectionEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyduplicatedetectionsettings" }, "CanCreateAttributes": { "Value": true, "CanBeChanged": false, "ManagedPropertyLogicalName": "cancreateattributes" }, "CanCreateForms": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreateforms" }, "CanCreateViews": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreateviews" }, "CanCreateCharts": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreatecharts" }, "CanBeRelatedEntityInRelationship": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canberelatedentityinrelationship" }, "CanBePrimaryEntityInRelationship": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeprimaryentityinrelationship" }, "CanBeInManyToMany": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeinmanytomany" }, "CanEnableSyncToExternalSearchIndex": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canenablesynctoexternalsearchindex" }, "SyncToExternalSearchIndex": false, "CanModifyAdditionalSettings": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyadditionalsettings" }, "CanChangeHierarchicalRelationship": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canchangehierarchicalrelationship" }, "IsOptimisticConcurrencyEnabled": true, "ChangeTrackingEnabled": false, "IsImportable": true, "IsIntersect": false, "IsMailMergeEnabled": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymailmergesettings" }, "IsManaged": false, "IsEnabledForCharts": true, "IsEnabledForTrace": false, "IsValidForAdvancedFind": true, "IsVisibleInMobile": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobilevisibility" }, "IsVisibleInMobileClient": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientvisibility" }, "IsReadOnlyInMobileClient": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientreadonly" }, "IsOfflineInMobileClient": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientoffline" }, "DaysSinceRecordLastModified": 0, "IsReadingPaneEnabled": true, "IsQuickCreateEnabled": false, "LogicalName": "new_bankaccount", "ObjectTypeCode": 10009, "OwnershipType": "UserOwned", "PrimaryNameAttribute": "new_accountname", "PrimaryImageAttribute": null, "PrimaryIdAttribute": "new_bankaccountid", "Privileges": [ { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvCreatenew_BankAccount", "PrivilegeId": "d1a8de4b-27df-42e1-bc5c-b863e002b37f", "PrivilegeType": "Create" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvReadnew_BankAccount", "PrivilegeId": "726043b1-de2c-487e-9d6d-5629fca2bf22", "PrivilegeType": "Read" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvWritenew_BankAccount", "PrivilegeId": "fa50c539-b6c7-4eaf-bd49-fd8224bc51b6", "PrivilegeType": "Write" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvDeletenew_BankAccount", "PrivilegeId": "17c1fd6e-f856-45e7-b563-796f53108b85", "PrivilegeType": "Delete" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAssignnew_BankAccount", "PrivilegeId": "133ca81d-668e-4c19-a71e-10c6dfe099cd", "PrivilegeType": "Assign" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvSharenew_BankAccount", "PrivilegeId": "15f27df4-9c67-47c9-b1f1-274e1c44f24a", "PrivilegeType": "Share" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendnew_BankAccount", "PrivilegeId": "ac8b1920-8f93-4e9d-94e3-c680e2a2f228", "PrivilegeType": "Append" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendTonew_BankAccount", "PrivilegeId": "f63a5f46-3bc7-4eac-81d0-7f77f566ef46", "PrivilegeType": "AppendTo" } ], "RecurrenceBaseEntityLogicalName": null, "ReportViewName": "Filterednew_BankAccount", "SchemaName": "new_BankAccount", "IntroducedVersion": "1.0", "IsStateModelAware": true, "EnforceStateTransitions": false, "EntityColor": null, "LogicalCollectionName": "new_bankaccounts", "CollectionSchemaName": "new_BankAccounts", "EntitySetName": "new_bankaccounts", "IsEnabledForExternalChannels": false, "IsPrivate": false, "MetadataId": "417129e1-207c-e511-80d2-00155d2a68d2", "HasChanged": null }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0
Crear atributos
Puede crear atributos a la vez que crea la entidad incluyendo la definición JSON de los atributos en la matriz Attributes de la entidad que publica además del atributo de cadena que sirve como atributo de nombre principal. Si desea agregar atributos a una entidad que ya está creada, puede enviar una solicitud POST incluyendo su definición JSON a la propiedad de navegación valorada como colección Attributes de la entidad.
Crear un atributo de cadena
El siguiente ejemplo usará estas propiedades para crear un atributo de cadena.
Propiedades del atributo de cadena |
Valores |
---|---|
SchemaName |
new_BankName |
DisplayName |
Nombre del banco |
Description |
Escriba el nombre del banco. |
RequiredLevel |
None |
MaxLength |
100 |
FormatName |
Text |
El siguiente ejemplo crea un atributo de cadena mediante las propiedades y lo agrega a la entidad con el MetadataIdvalor de 402fa40f-287c-e511-80d2-00155d2a68d2. El URI para el atributo se devuelve en la respuesta.
Solicitud
POST cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 { "AttributeType": "String", "AttributeTypeName": { "Value": "StringType" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Type the name of the bank", "LanguageCode": 1033 } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Name", "LanguageCode": 1033 } ] }, "RequiredLevel": { "Value": "None", "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "new_BankName", "@odata.type": "Microsoft.Dynamics.CRM.StringAttributeMetadata", "FormatName": { "Value": "Text" }, "MaxLength": 100 }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes(f01bef16-287c-e511-80d2-00155d2a68d2)
Crear un atributo monetario
El siguiente ejemplo usará estas propiedades para crear un atributo monetario.
Propiedades del atributo monetario |
Valores |
---|---|
SchemaName |
new_Balance |
DisplayName |
Saldo |
Description |
Especifique el importe de saldo. |
RequiredLevel |
None |
PrecisionSource |
2 Nota Para obtener información sobre los valores válidos de PrecisionSource, consulte Atributos de datos de cantidad. El valor 2 indica que el nivel de precisión decimal coincidirá con TransactionCurrency.CurrencyPrecision que está asociada con el registro actual. |
El siguiente ejemplo crea un atributo monetario mediante las propiedades y lo agrega a la entidad con el MetadataIdvalor de 402fa40f-287c-e511-80d2-00155d2a68d2. El URI para el atributo se devuelve en la respuesta.
Solicitud
POST cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 { "AttributeType": "Money", "AttributeTypeName": { "Value": "MoneyType" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Enter the balance amount", "LanguageCode": 1033 } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Balance", "LanguageCode": 1033 } ] }, "RequiredLevel": { "Value": "None", "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "new_Balance", "@odata.type": "Microsoft.Dynamics.CRM.MoneyAttributeMetadata", "PrecisionSource": 2 }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes(f11bef16-287c-e511-80d2-00155d2a68d2)
Crear un atributo de fecha y hora
El siguiente ejemplo usará estas propiedades para crear un atributo de fecha y hora.
Propiedades del atributo de fecha y hora |
Valores |
---|---|
SchemaName |
new_Checkeddate |
DisplayName |
Fecha |
Description |
Fecha en que se confirmó por última vez el saldo de cuenta. |
RequiredLevel |
Ninguna |
Format |
DateOnly Nota Para las opciones válidas para esta propiedad, consulte DateTimeFormat EnumType. |
El siguiente ejemplo crea un atributo de fecha y hora mediante las propiedades y lo agrega a la entidad con el MetadataIdvalor de 402fa40f-287c-e511-80d2-00155d2a68d2. El URI para el atributo se devuelve en la respuesta.
Solicitud
POST cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes HTTP/1.1 Accept: application/json Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 { "AttributeType": "DateTime", "AttributeTypeName": { "Value": "DateTimeType" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "The date the account balance was last confirmed", "LanguageCode": 1033 } ] }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Date", "LanguageCode": 1033 } ] }, "RequiredLevel": { "Value": "None", "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "new_Checkeddate", "@odata.type": "Microsoft.Dynamics.CRM.DateTimeAttributeMetadata", "Format": "DateOnly" }
Respuesta
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(402fa40f-287c-e511-80d2-00155d2a68d2)/Attributes(fe1bef16-287c-e511-80d2-00155d2a68d2)
Crear un atributo de búsqueda de clientes
A diferencia de otros atributos, un atributo de búsqueda de cliente se crea mediante la acción CreateCustomerRelationships. Los parámetros de esta acción requieren la definición del atributo de búsqueda y un par de relaciones de uno a varios. Un atributo de búsqueda de cliente tiene dos relaciones de uno a varios: una para la entidad de cuenta y la otra para la entidad de contacto.
El siguiente ejemplo usará estas propiedades para crear un atributo de búsqueda de clientes.
Propiedades del atributo de búsqueda de clientes |
Valores |
---|---|
SchemaName |
new_CustomerId |
DisplayName |
Cliente |
Description |
Atributo de búsqueda de clientes de ejemplo |
El ejemplo crea un atributo de búsqueda de clientes new_CustomerId, y lo agrega a la entidad personalizada: new_bankaccount. La respuesta es un tipo complejo CreateCustomerRelationshipsResponse.
Request
POST [URI de la organización]/api/data/v8.2/CreateCustomerRelationships HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8 { "OneToManyRelationships": [{ "SchemaName": "new_bankaccount_customer_account", "ReferencedEntity": "account", "ReferencingEntity": "new_bankaccount" }, { "SchemaName": "new_bankaccount_customer_contact", "ReferencedEntity": "contact", "ReferencingEntity": "new_bankaccount" }], "Lookup": { "AttributeType": "Lookup", "AttributeTypeName": { "Value": "LookupType" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [{ "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Customer Lookup Attribute", "LanguageCode": 1033 }], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Customer Lookup Attribute", "LanguageCode": 1033 } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [{ "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Customer", "LanguageCode": 1033 }], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Customer", "LanguageCode": 1033 } }, "SchemaName": "new_CustomerId", "@odata.type": "Microsoft.Dynamics.CRM.ComplexLookupAttributeMetadata" } }
Response
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": " [URI de la organización]/api/data/v8.2/$metadata#Microsoft.Dynamics.CRM.CreateCustomerRelationshipsResponse", "RelationshipIds": [ "a7d261bc-3580-e611-80d7-00155d2a68de", "aed261bc-3580-e611-80d7-00155d2a68de" ], "AttributeId": "39a5d94c-e8a2-4a41-acc0-8487242d455e" }
Actualizar un atributo
Como se menciona en las Actualizar entidades, las entidades de modelo se actualizan mediante el método HTTP PUT con la definición JSON completa en el elemento actual. Esto se aplica a atributos así como a entidades. Al igual con las entidades, tiene la opción de sobrescribir etiquetas mediante el encabezado MSCRM.MergeLabels con el valor establecido en false, y debe publicar personalizaciones antes de que estén activas en el sistema.
Ver también
Usar la API web con metadatos de Dynamics 365
Consulta de metadatos utilizando la API web
Recuperar metadatos por nombre o identificador de metadatos
Crear y actualizar relaciones de entidad mediante la API web
Usar el servicio de la organización con metadatos de Dynamics 365
Personalizar metadatos de atributos de entidad
Microsoft Dynamics 365
© 2017 Microsoft. Todos los derechos reservados. Copyright