Del via


Oprette og opdatere objektdefinitioner med Web API

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Du kan udføre de samme handlinger på modelobjekter som med organisationstjenesten. I dette emne beskrives arbejdet med metadataobjekter ved brug af Web API. Du kan finde oplysninger om objektmetadataegenskaber på Tilpasse objektets metadata og EntityMetadata EntityType.

Dette emne indeholder

Oprette objekter

Opdater objekter

Oprette attributter

Oprette objekter

Du kan oprette et objekt ved at POSTJSON-repræsentationen af objektdataene til EntityDefinitions-objektsætstien. Objektet skal indeholde definitionen for objektets primære navneattribut. Du behøver ikke at angive værdier for alle egenskaber. Elementer på denne liste, med undtagelse af Description, er påkrævet, men den anbefalede bedste fremgangsmåder er at angive en beskrivelse. Egenskabsværdier, der ikke specificeres, angives som standardværdier. Se eksemplet i afsnittet Opdater objekter for at få mere at vide om standardværdierne. Eksemplet i dette emne bruger følgende objektegenskaber.

Objektegenskab

Værdi

SchemaName

new_BankAccount

Bemærk

Du bør medtage den tilpasningspræfiks, der svarer til løsningsudgiveren. Her bruges standardværdien "new_", men du skal vælge det præfiks, der passer til din løsning.

DisplayName

Bankkonto

DisplayCollectionName

Bankkonti

Description

Et objekt, hvorpå oplysninger om kundens bankkonti gemmes.

OwnershipType

UserOwned

Bemærk

Se OwnershipTypes EnumType for at få mere at vide om de værdier, du angiver her.

IsActivity

false

HasActivities

false

HasNotes

false

Ud over de tidligere nævnte egenskaber skal EntityMetadataAttributes-egenskaben indeholde en matrix, der indeholder en StringAttributeMetadata EntityType for at repræsentere objektets primære navneattribut. Attributtens IsPrimaryName-egenskab skal være sand. I følgende tabel beskrives de forskellige egenskaber, der angives i eksemplet.

Primær attributegenskab

Værdi

SchemaName

new_AccountName

RequiredLevel

None

Bemærk

Se AttributeRequiredLevelManagedProperty ComplexType og AttributeRequiredLevel EnumType for at få mere at vide om de værdier, du kan angive her.

MaxLength

100

FormatName

Text

Bemærk

Den primære navneattribut skal bruge formatet Text. Se StringAttributeMetadata-formater for at få mere at vide om tilgængeligt formatindstillinger for andre strengattributter.

DisplayName

Firmanavn

Description

Angiv navnet på bankkontoen.

IsPrimaryName

true

Bemærk

Når du opretter eller opdaterer etiketter ved hjælp af Label ComplexType, skal du kun indstille LocalizedLabels-egenskaben. Den UserLocalizedLabel-værdi, der returneres, er baseret på brugerens sprogindstillinger og er skrivebeskyttet.

I følgende eksempel vises oprettelsen af et brugerdefineret objekt med angivne egenskaber. Sproget er engelsk med landestandard-id (LCID) på 1033.Du kan finde gyldige landestandard-id'er på Oversigt over landestandard-id'er.

  • Anmodning

    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"
    }
    
  • Svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: cc_WebAPI_ServiceURI/EntityDefinitions(417129e1-207c-e511-80d2-00155d2a68d2)
    

Opdater objekter

Vigtigt

Du kan ikke bruge HTTP PATCH-metoden til at opdatere modelobjekter. Metadataobjekter har paritet med organisationstjenesten UpdateEntityRequest , der erstatter objektdefinitionen med den, der medtages. Derfor skal du bruge HTTP PUT-metoden, når du opdaterer modelobjekter og sørge for at medtage alle de eksisterende egenskaber, som du ikke vil ændre. Du kan ikke opdatere individuelle egenskaber.

Når du opdaterer metadataobjekter med etiketter, skal du medtage en brugerdefineret MSCRM.MergeLabels-overskrift for at styre, hvordan etiketter i opdateringen skal håndteres. Hvis en etiket for et element allerede har etiketter for andre sprog, og du opdaterer den med en etiket, der indeholder for et bestemt sprog, styrer MSCRM.MergeLabels-etiketten, om du vil overskrive de eksisterende etiketter eller flette din nye etiket med eksisterende sprogetiketter. Med MSCRM.MergeLabels indstillet til true, overskriver nye, definerede etiketter kun eksisterende etiketter, når de svarer til sprogkoden. Hvis du vil overskrive de eksisterende etiketter til kun at medtage de etiketter, du medtager, skal du angive MSCRM.MergeLabels til false.

Vigtigt

Hvis du ikke medtager en MSCRM.MergeLabels-overskrift, vil standardfunktionsmåden være, som om værdien er false og de oversatte etiketter, der ikke er medtaget i opdateringen, vil gå tabt.

Når du opdaterer et objekt eller attribut, skal du bruge PublishXml Action eller PublishAllXml Action, før ændringerne, du foretager, vil blive anvendt i programmet.Flere oplysninger:Publicere tilpasninger

Normalt vil du hente JSON-definitionen af attributten og ændre egenskaberne, før du sender den tilbage. I følgende eksempel indeholder alle metadataegenskaberne for det objekt, der er oprettet i Oprette objekter-eksemplet, men med DisplayName ændret til "Bank Business Name." Det kan være nyttigt at bemærke, at JSON her angiver standardværdierne for egenskaber, der ikke er angivet i Oprette objekter-eksemplet.

  • Anmodning

    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
    }
    
  • Svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Oprette attributter

Du kan oprette attributter på samme tid, som du opretter et objekt, ved at medtage JSON-definitionen af attributterne i Attributes-matrixen for det objekt, du bogfører, ud over strengattributten, der fungerer som den primære navneattribut. Hvis du vil føje attributter til et objekt, der allerede er oprettet, kan du sende en POST-anmodning, inklusiv JSON-definitionen af dem, til objektets Attributes navigationsegenskab med gruppeværdi.

Oprette en strengattribut

Følgende eksempel bruger disse egenskaber til at oprette en strengattribut.

Strengattributegenskaber

Værdier

SchemaName

new_BankName

DisplayName

Banknavn

Description

Angiv navnet på banken.

RequiredLevel

None

MaxLength

100

FormatName

Text

Følgende eksempel opretter en strengattribut ved hjælp af egenskaberne og føjer den til objektet med MetadataId-værdien for 402fa40f-287c-e511-80d2-00155d2a68d2. URI'en for attributten returneres i svaret.

  • Anmodning

    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
    }
    
  • Svar

    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)
    

Oprette en pengeattribut

Følgende eksempel bruger disse egenskaber til at oprette en pengeattribut.

Pengeattributegenskaber

Værdier

SchemaName

new_Balance

DisplayName

Saldo

Description

Angiv saldobeløbet.

RequiredLevel

None

PrecisionSource

2

Bemærk

Du kan finde oplysninger om gyldige værdier for PrecisionSource på Dataattributter for antal. Værdien 2 betyder, at niveauet for decimalpræcision svarer til TransactionCurrency.CurrencyPrecision, der er knyttet til den aktuelle post.

Følgende eksempel opretter en pengeattribut ved hjælp af egenskaberne og føjer den til objektet med MetadataId-værdien for 402fa40f-287c-e511-80d2-00155d2a68d2. URI'en for attributten returneres i svaret.

  • Anmodning

    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
    }
    
  • Svar

    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)
    

Oprette en dato-/klokkeslætsattribut

Følgende eksempel bruger disse egenskaber til at oprette en dato-/klokkeslætsattribut.

Egenskaber for dato-/klokkeslætsattribut

Værdier

SchemaName

new_Checkeddate

DisplayName

Dato

Description

Datoen for kontosaldoen blev senest bekræftet.

RequiredLevel

Ingen

Format

DateOnly

Bemærk

Få mere at vide om gyldige indstillinger for denne egenskab på DateTimeFormat EnumType.

Følgende eksempel opretter en dato-/klokkeslætsattribut ved hjælp af egenskaberne og føjer den til objektet med MetadataId-værdien for 402fa40f-287c-e511-80d2-00155d2a68d2. URI'en for attributten returneres i svaret.

  • Anmodning

    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"
    }
    
  • Svar

    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)
    

Opret en opslagsattribut for en kunde

I modsætning til andre attributter oprettes der en kundeopslagsattribut ved hjælp af handlingen CreateCustomerRelationships. Parametrene for denne handling kræver definitionen af opslagsattributten og et par en til mange-relationer. En kundeopslagsattribut har to en til mange-relationer: én til kontoobjektet og en anden til kontaktobjektet.

Følgende eksempel bruger disse egenskaber til at oprette en kundeopslagsattribut.

Egenskaber for kundeopslagsattribut

Værdier

SchemaName

new_CustomerId

DisplayName

Kunde

Description

Eksempel på kundeopslagsattribut

Eksemplet opretter en kundeopslagsattribut, new_CustomerId, og føjer det til det brugerdefinerede objekt: new_bankaccount. Svaret er en kompleks type for CreateCustomerRelationshipsResponse.

  • Request

    POST 
          [Organization 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": "
          [Organization 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"
    }
    

Opdater en attribut

Som nævnt i Opdater objekter opdateres modelobjekter ved hjælp af HTTP PUT-metode med hele JSON-definitionen af det aktuelle element. Dette gælder for både attributter og objekter. Ligesom med objekter har du mulighed for at overskrive etiketter ved hjælp af MSCRM.MergeLabels-overskriften med værdien angivet til false, og du skal udgive tilpasninger, før de er aktive i systemet.

Se også

Bruge Web API med Dynamics 365-metadata
Forespørg på metadata ved hjælp af Web-API'en
Hente metadata efter navn eller MetadataId
Oprette og opdatere objektrelationer med Web API
Bruge organisationstjenesten med Dynamics 365-metadata
Tilpasse objektets attributmetadata

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret