Erstellen und Aktualisieren von Entitätsdefinitionen mit der Web-API
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Sie können die gleichen Vorgänge für Modellentitäten ausführen wie beim Organisationsservice. Der Schwerpunkt dieses Themas liegt auf der Arbeit mit Metadatenentitäten mithilfe der Web-API. Details zu Entitäts-Metadateneigenschaften finden Sie unter Anpassen von Entitätsmetadaten und EntityMetadata EntityType.
In diesem Thema
Entitäten erstellen
Aktualisieren von Entitäten
Erstellen von Attributen
Entitäten erstellen
Zum Erstellen einer Entität POST die JSON-Darstellung der Entitätsdaten für den EntityDefinitions-Entitätspfad. Die Entität muss über die Definition für das primäre Namensattribut für die Entität verfügen. Sie müssen nicht Werte für alle Eigenschaften festlegen. Die Elemente in der Liste mit Ausnahme von Description sind erforderlich, obwohl die Festlegung einer Beschreibung eine empfohlene bewährte Methode ist. Eigenschaftswerte, die Sie nicht angeben, werden auf Standardwerte festgelegt. Zum Kennenlernen von Standardwerten siehe das Beispiel im Abschnitt Aktualisieren von Entitäten. Das Beispiel in diesem Thema verwendet die folgenden Entitätseigenschaften.
Entitätseigenschaft |
Wert |
---|---|
SchemaName |
new_BankAccount Hinweis Sie sollten das Anpassungspräfix einschließen, das dem Lösungsherausgeber entspricht. Hier wird der Standardwert „new_” verwendet, aber sie sollten das Präfix auswählen, das für die Lösung funktioniert. |
DisplayName |
Bankkonto |
DisplayCollectionName |
Bankkonten |
Description |
Eine Entität, um Informationen zu Kundenbankkonten zu speichern. |
OwnershipType |
UserOwned Hinweis Werte, die Sie hier festlegen können, finden Sie unter OwnershipTypes EnumType. |
IsActivity |
false |
HasActivities |
false |
HasNotes |
false |
Zusätzlich zu den zuvor aufgelisteten Eigenschaften muss die EntityMetadataAttributes-Eigenschaft ein Array enthalten, das einen StringAttributeMetadata EntityType enthält, um das primäre Namensattribut darzustellen für die Entität. Die Attributeigenschaft IsPrimaryName muss „true” sein. Die folgende Tabelle beschreibt die im Beispiel festgelegten Eigenschaften.
Primäre Attributeigenschaft |
Wert |
---|---|
SchemaName |
new_AccountName |
RequiredLevel |
None Hinweis Werte, die Sie hier festlegen können, finden Sie unter AttributeRequiredLevelManagedProperty ComplexType und AttributeRequiredLevel EnumType. |
MaxLength |
100 |
FormatName |
Text Hinweis Das primäre Namensattribut muss das Text-Format verwenden. Formatoptionen für andere Zeichenfolgenattribute finden Sie unter StringAttributeMetadata-Formate. |
DisplayName |
Kontoname |
Description |
Geben Sie den Namen des Bankkontos ein. |
IsPrimaryName |
true |
Hinweis
Wenn Sie Etiketten mit Label ComplexType erstellen oder aktualisieren, müssen Sie nur die Eigenschaft LocalizedLabels festlegen. Der UserLocalizedLabel-Wert, der zurückgegeben wird, basiert auf der Spracheinstellung des Benutzers und ist schreibgeschützt.
Im folgenden Beispiel wird das Erstellen einer benutzerdefinierten Entität mit den festgelegten Eigenschaften angezeigt. Die Sprache ist Englisch mit der Gebietsschema-ID (LCID) 1033.Gültige Gebietsschema-ID-Werte finden Sie unter Gebietsschema-ID-Diagramm (LCID).
Anforderung
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" }
Antwort
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(417129e1-207c-e511-80d2-00155d2a68d2)
Aktualisieren von Entitäten
Wichtig
Sie können nicht die Methode HTTP PATCH verwenden, um Modellentitäten zu aktualisieren. Die Metadatenentitäten haben Parität mit dem Organisationsservice UpdateEntityRequest, der die Entitätsdefinition durch die eingeschlossene ersetzt. Daher müssen Sie die Methode HTTP PUT verwenden, wenn Sie Modellentitäten aktualisieren, und darauf achten, dass alle vorhandenen Eigenschaften eingeschlossen werden, die Sie nicht ändern möchten. Sie können keine einzelnen Eigenschaften aktualisieren.
Wenn Sie Metadatenentitäten mit Etiketten aktualisieren, sollten Sie eine benutzerdefinierte MSCRM.MergeLabels-Überschrift einschließen, um zu steuern, wie Bezeichnungen im Update bearbeitet werden sollen. Wenn eine Beschriftung für ein Element bereits Bezeichnungen für weitere Sprachen enthält und Sie sie mit einer Beschriftung aktualisieren, die nur eine Beschriftung für eine bestimmte Sprache enthält, steuert die MSCRM.MergeLabels-Kopfzeile, ob die vorhandenen Bezeichnungen überschrieben oder die neuen Bezeichnungen mit den vorhandenen Sprachbeschriftungen zusammengeführt werden sollen. Wenn MSCRM.MergeLabels auf true festgelegt ist, überschreiben alle neuen definierten Beschriftungen nur dann vorhandene Bezeichnungen, wenn der Sprachcode übereinstimmt. Wenn Sie die vorhandenen Bezeichnungen überschreiben möchten, damit Sie nur die von Ihnen eingeschlossenen Bezeichnungen einschließen, legen Sie MSCRM.MergeLabels auf false fest.
Wichtig
Wenn Sie keine MSCRM.MergeLabels-Kopfzeile einschließen, ist das standardmäßige Verhalten so, als ob der Wert false wäre, und alle lokalisierten Bezeichnungen, die nicht in dem Update enthalten sind, gehen verloren.
Wenn Sie eine Entität bzw. ein Attribut aktualisieren, müssen Sie PublishXml Action oder PublishAllXml Action verwenden, damit die Änderungen, die Sie vornehmen, für die Anwendung angewendet werden.Weitere Informationen:Veröffentlichen von Anpassungen
In der Regel rufen Sie die JSON-Definition des Attributs ab und ändern die Eigenschaften, bevor Sie sie zurücksenden. Das folgende Beispiel enthält alle Metadateneigenschaften der Entität, die im Entitäten erstellen-Beispiel erstellt wurde, wobei aber DisplayName in „Bank Business Name” geändert wurde. Bedenken Sie jedoch ggf., dass das JSON hier die Standardwerte für Eigenschaften verfügbar macht, die im Entitäten erstellen-Beispiel nicht festgelegt werden.
Anforderung
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 }
Antwort
HTTP/1.1 204 No Content OData-Version: 4.0
Erstellen von Attributen
Attribute können gleichzeitig mit der Entität erstellt werden, indem Sie die JSON-Definition der Attribute im Attributes-Array für die Entität einschließen, die Sie zusätzlich zum Zeichenfolgenattribut veröffentlichen, das als das primäre Namensattribut dient. Wenn Sie Attribute zu einer Entität hinzufügen möchten, die bereits erstellt wurde, können Sie eine POST-Anforderung einschließlich der zugehörigen JSON-Definition zur sammlungswertigen Attributes-Navigationseigenschaft der Entität senden.
Erstellen eines Zeichenfolgenattributs
Das folgende Beispiel verwendet diese Eigenschaften, um ein Zeichenfolgenattribut zu erstellen.
Zeichenfolgenattributeigenschaften |
Werte |
---|---|
SchemaName |
new_BankName |
DisplayName |
Bankname |
Description |
Geben Sie den Namen der Bank ein. |
RequiredLevel |
None |
MaxLength |
100 |
FormatName |
Text |
Das folgende Bespiel erstellt ein Zeichenfolgenattribut mithilfe der Eigenschaften und fügt sie der Entität mit dem MetadataId-Wert 402fa40f-287c-e511-80d2-00155d2a68d2 hinzu. Der URI für das Attribut wird in der Antwort zurückgegeben.
Anforderung
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 }
Antwort
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)
Erstellen eines Money-Attributs
Das folgende Beispiel verwendet diese Eigenschaften, um ein money-Attribut zu erstellen.
Money-Attributeigenschaften |
Werte |
---|---|
SchemaName |
new_Balance |
DisplayName |
Kontostand |
Description |
Geben Sie den Saldobetrag ein. |
RequiredLevel |
None |
PrecisionSource |
2 Hinweis Informationen zu gültigen Werten für PrecisionSource finden Sie unter Mengendatenattribute. Der Wert „2” bedeutet, dass die Ebene der Dezimalgenauigkeit TransactionCurrency.CurrencyPrecision entspricht, der dem aktuellen Datensatz zugeordnet ist. |
Das folgende Bespiel erstellt ein money-Attribut mithilfe der Eigenschaften und fügt sie der Entität mit dem MetadataId-Wert 402fa40f-287c-e511-80d2-00155d2a68d2 hinzu. Der URI für das Attribut wird in der Antwort zurückgegeben.
Anforderung
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 }
Antwort
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)
Erstellen eines datetime-Attributs
Das folgende Beispiel verwendet diese Eigenschaften, um ein datetime-Attribut zu erstellen.
Datetime-Attributeigenschaften |
Werte |
---|---|
SchemaName |
new_Checkeddate |
DisplayName |
Datum |
Description |
Das Datum, an dem der Kontosaldo zuletzt bestätigt wurde. |
RequiredLevel |
Kein |
Format |
DateOnly Hinweis Die gültigen Optionen für diese Eigenschaft finden Sie unter DateTimeFormat EnumType. |
Das folgende Bespiel erstellt ein datetime-Attribut mithilfe der Eigenschaften und fügt sie der Entität mit dem MetadataId-Wert 402fa40f-287c-e511-80d2-00155d2a68d2 hinzu. Der URI für das Attribut wird in der Antwort zurückgegeben.
Anforderung
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" }
Antwort
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)
Erstellen eines Kundesuchattributs
Anders als andere Attribute wird ein Kundensuchattribut mithilfe der CreateCustomerRelationships-Aktion erstellt. Die Parameter für diese Aktion erfordern die Definition des Suchattributs und ein Paar 1: n-Beziehungen. Ein Kundensuchattribut hat zwei 1:n-Beziehungen: eine für die Firmenentität und das andere für die Kontaktentität.
Das folgende Beispiel verwendet diese Eigenschaften, um ein Kundensuchattribut zu erstellen.
Kundesuchattributeigenschaften |
Werte |
---|---|
SchemaName |
new_CustomerId |
DisplayName |
Kunde |
Description |
Beispiel-Kundesuchattribut |
Das Beispiel erstellt ein Kundensuchattribut, new_CustomerId, und fügt es der benutzerdefinierten Entität hinzu: new_bankaccount. Die Antwort ist eine CreateCustomerRelationshipsResponse vom Typ Complex.
Request
POST [Organisations-URI]/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": " [Organisations-URI]/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" }
Aktualisieren eines Attributs
Wie in Aktualisieren von Entitäten beschrieben, werden Modellentitäten mithilfe der HTTP PUT-Methode mit der gesamten JSON-Definition des aktuellen Elements aktualisiert. Dies gilt für Attribute und für Entitäten. Wie bei Entitäten haben Sie die Möglichkeit zum Überschreiben von Beschriftungen mithilfe der MSCRM.MergeLabels-Kopfzeile mit dem auf false festgelegten Wert, und Sie müssen Ihre Anpassungen veröffentlichen, bevor sie im System aktiv sind.
Siehe auch
Verwenden der Web-API mit Dynamics 365-Metadaten
Metadaten mit Web-API abfragen
Abrufen von Metadaten über den Namen oder die MetadataId
Erstellen und Aktualisieren von Entitätsbeziehungen mit der Web-API
Verwenden des Organisationsdienstes mit Dynamics 365-Metadaten
Anpassen von Entitätsattributmetadaten
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright