Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta coleção de solicitações e respostas http demonstra como executar operações selecionadas que modificam o esquema ou metadados do Dataverse usando estes exemplos:
- Exemplo de operações de esquema de tabela de API Web (C#)
- Exemplo de operações de esquema de tabela da API Web (PowerShell)
Este artigo descreve um conjunto comum de operações implementadas por cada exemplo neste grupo. Este artigo descreve as solicitações HTTP e as respostas e a saída de texto que cada exemplo executa sem os detalhes específicos do idioma. Consulte as descrições específicas do idioma e os exemplos individuais para obter detalhes sobre como essas operações são executadas.
Demonstra
Este exemplo é dividido nas seções a seguir, contendo operações de API Web do Dataverse que são discutidas com mais detalhes nos artigos conceituais associados especificados.
Observação
Para fins de brevidade, cabeçalhos HTTP menos pertinentes são omitidos. As URLs dos registros variam com o endereço base da organização e as IDs definidas pelo servidor dataverse.
Seção 0: Criar Publicador e Solução
Crie o publicador primeiro, pois a solução deve estar relacionada a ela. Todos os itens criados ou modificados neste exemplo usam os publicadores
customizationprefixecustomizationoptionvalueprefix.Pedir:
POST [Organization Uri]/api/data/v9.2/publishers HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "friendlyname": "Example Publisher", "uniquename": "examplepublisher", "description": "An example publisher for samples", "customizationprefix": "sample", "customizationoptionvalueprefix": 72700 }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/publishers(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)Saída do console:
Created publisher Example PublisherEm seguida, crie a solução relacionada ao publicador.
Observação
Muitos dos itens criados ou atualizados nesta amostra usam o valor
uniquenamedesta solução com oMSCRM.SolutionUniqueNamecabeçalho da solicitação para que as alterações sejam incluídas como parte dessa solução. Algumas ações têm umSolutionUniqueNameparâmetro que faz a mesma coisa. No final deste exemplo, essa solução é exportada e contém as definições de todos os itens criados e alterados neste exemplo.Pedir:
POST [Organization Uri]/api/data/v9.2/solutions HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "friendlyname": "Example Solution", "uniquename": "examplesolution", "description": "An example solution for samples", "version": "1.0.0.0", "publisherid@odata.bind": "publishers(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/solutions(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)Saída do console:
Created solution Example Solution
Seção 1: Criar, Recuperar e Atualizar Tabela
Criar a tabela
sample_BankAccount.Essas propriedades são necessárias:
SchemaName, ,DisplayName,DisplayCollectionName,HasNotes,HasActivitiesePrimaryNameAttribute, que devem incluir oLogicalNamevalor da coluna de nome primário.A tabela também deve incluir uma coluna StringAttributeMetadata na
Attributescoleção para ser a coluna de nome primário da tabela. Essa definição de coluna deve terSchemaName,MaxLengtheDisplayNamevalores, eIsPrimaryNamedeve ser definida como true.Observação
O
MSCRM.SolutionUniqueName: examplesolutioncabeçalho de solicitação associa essa tabela à solução. OSchemaNamevalor (sample_BankAccount) inclui o prefixo de personalização do publicador.Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.EntityMetadata", "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "A table to store information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "A table to store information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false } }, "DisplayCollectionName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false } }, "HasActivities": false, "HasNotes": false, "OwnershipType": "UserOwned", "PrimaryNameAttribute": "sample_name", "SchemaName": "sample_BankAccount", "Attributes": [ { "@odata.type": "Microsoft.Dynamics.CRM.StringAttributeMetadata", "AttributeType": "String", "AttributeTypeName": { "Value": "StringType" }, "MaxLength": 100, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "The primary attribute for the Bank Account entity.", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "The primary attribute for the Bank Account entity.", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Account Name", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Account Name", "LanguageCode": 1033, "IsManaged": false } }, "IsPrimaryName": true, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Name" } ] }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)Saída do console:
Sending request to create the sample_BankAccount table... Created sample_BankAccount table.Recupere a definição da
sample_BankAccounttabela.- Essa operação de recuperação não inclui nenhuma
$selectpara filtrar as propriedades retornadas porque esses dados são modificados e enviados de volta para atualizar a definição de tabela usandoPUT, o que substitui o valor existente. - Essa consulta também não inclui um
$expandpara incluir dados relacionados, como atributos, porque os dados relacionados devem ser atualizados separadamente.
Observação
Essa solicitação e outras solicitações neste exemplo usam o cabeçalho
Consistency: Strong. Use este cabeçalho quando recuperar as alterações nas definições de metadados logo após aplicá-las. As alterações de metadados são armazenadas em cache por motivos de desempenho e uma solicitação para um item recém-criado pode retornar um 404 porque ele ainda não foi armazenado em cache. O cache pode levar 30 segundos. Esse cabeçalho força o servidor a ler a versão mais recente, incluindo as alterações. Ao usar esse cabeçalho, você nega o ganho de desempenho fornecido pelo cache, portanto, você só deve usá-lo em cenários como este exemplo em que você está recuperando as alterações feitas. Mais informações: cabeçalhos HTTP > Outros cabeçalhos.Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount') HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions/$entity", "ActivityTypeMask": 0, "AutoRouteToOwnerQueue": false, "CanTriggerWorkflow": true, "EntityHelpUrlEnabled": false, "EntityHelpUrl": null, "IsDocumentManagementEnabled": false, "IsOneNoteIntegrationEnabled": false, "IsInteractionCentricEnabled": false, "IsKnowledgeManagementEnabled": false, "IsSLAEnabled": false, "IsBPFEntity": false, "IsDocumentRecommendationsEnabled": false, "IsMSTeamsIntegrationEnabled": false, "SettingOf": null, "DataProviderId": null, "DataSourceId": null, "AutoCreateAccessTeams": false, "IsActivity": false, "IsActivityParty": false, "IsRetrieveAuditEnabled": false, "IsRetrieveMultipleAuditEnabled": false, "IsArchivalEnabled": false, "IsAvailableOffline": false, "IsChildEntity": false, "IsAIRUpdated": false, "IconLargeName": null, "IconMediumName": null, "IconSmallName": null, "IconVectorName": null, "IsCustomEntity": true, "IsBusinessProcessEnabled": false, "SyncToExternalSearchIndex": false, "IsOptimisticConcurrencyEnabled": true, "ChangeTrackingEnabled": false, "IsImportable": true, "IsIntersect": false, "IsManaged": false, "IsEnabledForCharts": true, "IsEnabledForTrace": false, "IsValidForAdvancedFind": true, "DaysSinceRecordLastModified": 0, "MobileOfflineFilters": "", "IsReadingPaneEnabled": true, "IsQuickCreateEnabled": false, "LogicalName": "sample_bankaccount", "ObjectTypeCode": 10393, "OwnershipType": "UserOwned", "PrimaryNameAttribute": "sample_name", "PrimaryImageAttribute": null, "PrimaryIdAttribute": "sample_bankaccountid", "RecurrenceBaseEntityLogicalName": null, "ReportViewName": "Filteredsample_BankAccount", "SchemaName": "sample_BankAccount", "IntroducedVersion": "1.0.0.0", "IsStateModelAware": true, "EnforceStateTransitions": false, "ExternalName": null, "EntityColor": null, "LogicalCollectionName": "sample_bankaccounts", "ExternalCollectionName": null, "CollectionSchemaName": "sample_BankAccounts", "EntitySetName": "sample_bankaccounts", "IsEnabledForExternalChannels": false, "IsPrivate": false, "UsesBusinessDataLabelTable": false, "IsLogicalEntity": false, "HasNotes": false, "HasActivities": false, "HasFeedback": false, "IsSolutionAware": false, "CreatedOn": "2022-09-01T16:13:40Z", "ModifiedOn": "2022-09-01T16:13:40Z", "HasEmailAddresses": false, "OwnerId": null, "OwnerIdType": 8, "OwningBusinessUnit": null, "MetadataId": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa", "HasChanged": null, "Description": { "LocalizedLabels": [ { "Label": "A table to store information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "daf026b7-dfde-4b7b-8e52-91f31b098a9d", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "A table to store information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "daf026b7-dfde-4b7b-8e52-91f31b098a9d", "HasChanged": null } }, "DisplayCollectionName": { "LocalizedLabels": [ { "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "5c598c79-b89d-4679-8a40-9562d0a1e4fb", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "5c598c79-b89d-4679-8a40-9562d0a1e4fb", "HasChanged": null } }, "DisplayName": { "LocalizedLabels": [ { "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4e4c3fdc-7711-4b43-8eba-9155bb7100c0", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4e4c3fdc-7711-4b43-8eba-9155bb7100c0", "HasChanged": null } }, "IsAuditEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyauditsettings" }, "IsValidForQueue": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyqueuesettings" }, "IsConnectionsEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyconnectionsettings" }, "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" }, "CanBeInCustomEntityAssociation": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeincustomentityassociation" }, "CanEnableSyncToExternalSearchIndex": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canenablesynctoexternalsearchindex" }, "CanModifyAdditionalSettings": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyadditionalsettings" }, "CanChangeHierarchicalRelationship": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canchangehierarchicalrelationship" }, "CanChangeTrackingBeEnabled": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canchangetrackingbeenabled" }, "IsMailMergeEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymailmergesettings" }, "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" }, "Privileges": [ { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvCreatesample_BankAccount", "PrivilegeId": "44f00701-716e-4584-8bab-cb0d263c070b", "PrivilegeType": "Create" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvReadsample_BankAccount", "PrivilegeId": "9cad3243-d0fe-467e-a731-c8b3416a6252", "PrivilegeType": "Read" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvWritesample_BankAccount", "PrivilegeId": "dc5465ed-223f-4b13-a272-fff25e5b5270", "PrivilegeType": "Write" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvDeletesample_BankAccount", "PrivilegeId": "9a409df2-ca4a-4ad9-8218-df88424dd7a0", "PrivilegeType": "Delete" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAssignsample_BankAccount", "PrivilegeId": "73bf7dd3-f532-4468-abfe-84bbf0eae058", "PrivilegeType": "Assign" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvSharesample_BankAccount", "PrivilegeId": "292f6e27-9603-4835-882d-e28c175432ed", "PrivilegeType": "Share" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendsample_BankAccount", "PrivilegeId": "42401aa6-6447-4fdc-9679-bcb89b62bd76", "PrivilegeType": "Append" }, { "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendTosample_BankAccount", "PrivilegeId": "847ba62d-2f33-4208-87e6-52532b331f60", "PrivilegeType": "AppendTo" } ], "Settings": [] }Saída do console:
O exemplo exibe o JSON recuperado do servidor.
- Essa operação de recuperação não inclui nenhuma
Atualize a tabela
sample_BankAccount. Os únicos valores que são alterados sãoHasActivitieseDescription, mas você deve enviar toda a definição comPUT.Pedir:
PUT [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount') HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution MSCRM.MergeLabels: true OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.EntityMetadata", "ActivityTypeMask": 0, "AutoCreateAccessTeams": false, "AutoRouteToOwnerQueue": false, "CanBeInCustomEntityAssociation": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeincustomentityassociation" }, "CanBeInManyToMany": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeinmanytomany" }, "CanBePrimaryEntityInRelationship": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canbeprimaryentityinrelationship" }, "CanBeRelatedEntityInRelationship": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canberelatedentityinrelationship" }, "CanChangeHierarchicalRelationship": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canchangehierarchicalrelationship" }, "CanChangeTrackingBeEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canchangetrackingbeenabled" }, "CanCreateAttributes": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": false, "ManagedPropertyLogicalName": "cancreateattributes" }, "CanCreateCharts": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreatecharts" }, "CanCreateForms": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreateforms" }, "CanCreateViews": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "cancreateviews" }, "CanEnableSyncToExternalSearchIndex": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canenablesynctoexternalsearchindex" }, "CanModifyAdditionalSettings": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyadditionalsettings" }, "CanTriggerWorkflow": true, "ChangeTrackingEnabled": false, "CollectionSchemaName": "sample_BankAccounts", "DaysSinceRecordLastModified": 0, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Contains information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Contains information about customer bank accounts", "LanguageCode": 1033, "IsManaged": false } }, "DisplayCollectionName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "5c598c79-b89d-4679-8a40-9562d0a1e4fb" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Accounts", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "5c598c79-b89d-4679-8a40-9562d0a1e4fb" } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4e4c3fdc-7711-4b43-8eba-9155bb7100c0" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4e4c3fdc-7711-4b43-8eba-9155bb7100c0" } }, "EnforceStateTransitions": false, "EntityHelpUrlEnabled": false, "EntitySetName": "sample_bankaccounts", "HasActivities": true, "HasFeedback": false, "HasNotes": false, "IntroducedVersion": "1.0.0.0", "IsActivity": false, "IsActivityParty": false, "IsAIRUpdated": false, "IsAuditEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyauditsettings" }, "IsAvailableOffline": false, "IsBPFEntity": false, "IsBusinessProcessEnabled": false, "IsChildEntity": false, "IsConnectionsEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyconnectionsettings" }, "IsCustomEntity": true, "IsCustomizable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "IsDocumentManagementEnabled": false, "IsDocumentRecommendationsEnabled": false, "IsDuplicateDetectionEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyduplicatedetectionsettings" }, "IsEnabledForCharts": true, "IsEnabledForExternalChannels": false, "IsEnabledForTrace": false, "IsImportable": true, "IsInteractionCentricEnabled": false, "IsIntersect": false, "IsKnowledgeManagementEnabled": false, "IsLogicalEntity": false, "IsMailMergeEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymailmergesettings" }, "IsManaged": false, "IsMappable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": false, "ManagedPropertyLogicalName": "ismappable" }, "IsMSTeamsIntegrationEnabled": false, "IsOfflineInMobileClient": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientoffline" }, "IsOneNoteIntegrationEnabled": false, "IsOptimisticConcurrencyEnabled": true, "IsPrivate": false, "IsQuickCreateEnabled": false, "IsReadingPaneEnabled": true, "IsReadOnlyInMobileClient": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientreadonly" }, "IsRenameable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "isrenameable" }, "IsSLAEnabled": false, "IsSolutionAware": false, "IsStateModelAware": true, "IsValidForAdvancedFind": true, "IsValidForQueue": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyqueuesettings" }, "IsVisibleInMobile": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobilevisibility" }, "IsVisibleInMobileClient": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifymobileclientvisibility" }, "LogicalCollectionName": "sample_bankaccounts", "LogicalName": "sample_bankaccount", "MobileOfflineFilters": "", "ObjectTypeCode": 10393, "OwnershipType": "UserOwned", "PrimaryIdAttribute": "sample_bankaccountid", "PrimaryNameAttribute": "sample_name", "Privileges": [ { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvCreatesample_BankAccount", "PrivilegeId": "44f00701-716e-4584-8bab-cb0d263c070b", "PrivilegeType": "Create" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvReadsample_BankAccount", "PrivilegeId": "9cad3243-d0fe-467e-a731-c8b3416a6252", "PrivilegeType": "Read" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvWritesample_BankAccount", "PrivilegeId": "dc5465ed-223f-4b13-a272-fff25e5b5270", "PrivilegeType": "Write" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvDeletesample_BankAccount", "PrivilegeId": "9a409df2-ca4a-4ad9-8218-df88424dd7a0", "PrivilegeType": "Delete" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAssignsample_BankAccount", "PrivilegeId": "73bf7dd3-f532-4468-abfe-84bbf0eae058", "PrivilegeType": "Assign" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvSharesample_BankAccount", "PrivilegeId": "292f6e27-9603-4835-882d-e28c175432ed", "PrivilegeType": "Share" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendsample_BankAccount", "PrivilegeId": "42401aa6-6447-4fdc-9679-bcb89b62bd76", "PrivilegeType": "Append" }, { "@odata.type": "Microsoft.Dynamics.CRM.SecurityPrivilegeMetadata", "CanBeBasic": true, "CanBeDeep": true, "CanBeGlobal": true, "CanBeLocal": true, "CanBeEntityReference": false, "CanBeParentEntityReference": false, "Name": "prvAppendTosample_BankAccount", "PrivilegeId": "847ba62d-2f33-4208-87e6-52532b331f60", "PrivilegeType": "AppendTo" } ], "ReportViewName": "Filteredsample_BankAccount", "SchemaName": "sample_BankAccount", "Settings": [], "SyncToExternalSearchIndex": false, "UsesBusinessDataLabelTable": false, "MetadataId": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')Saída do console:
Sending request to update the sample_BankAccount table... Updated the Bank Account table
Seção 2: Criar, Recuperar e Atualizar Colunas
Esta seção cria e recupera um grupo selecionado de definições de coluna. Cada um desses tipos é derivado do AttributeMetadata EntityType para que eles compartilhem a maioria das mesmas propriedades comuns. No entanto, cada tipo derivado tem algumas propriedades especiais.
Coluna booliana
Crie uma coluna booliana usando BooleanAttributeMetadata EntityType. Apesar do nome, as colunas boolianas têm uma
OptionSetpropriedade como colunas de escolha. No entanto, eles sempre têm apenas duas opções:TrueOptioncom o valor 1 eFalseOptioncom o valor 0.Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.BooleanAttributeMetadata", "AttributeType": "Boolean", "AttributeTypeName": { "Value": "BooleanType" }, "DefaultValue": false, "OptionSet": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanOptionSetMetadata", "TrueOption": { "Value": 1, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "True", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "True", "LanguageCode": 1033, "IsManaged": false } } }, "FalseOption": { "Value": 0, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "False", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "False", "LanguageCode": 1033, "IsManaged": false } } }, "OptionSetType": "Boolean" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Boolean" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)Recupere a coluna booliana, incluindo
$expand=OptionSetpara que as opções possam ser recuperadas.Observação
A URL dessa solicitação inclui
/Microsoft.Dynamics.CRM.BooleanAttributeMetadatao qual executa uma operação de conversão necessária para retornar qualquer propriedade que não esteja definida no AttributeMetadata EntityType. Sem isso, aOptionSetexpansão não é possível.Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$expand=OptionSet HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.BooleanAttributeMetadata(OptionSet())/$entity", "MetadataId": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb", "HasChanged": null, "AttributeOf": null, "AttributeType": "Boolean", "ColumnNumber": 35, "DeprecatedVersion": null, "IntroducedVersion": "1.0.0.0", "EntityLogicalName": "sample_bankaccount", "IsCustomAttribute": true, "IsPrimaryId": false, "IsValidODataAttribute": true, "IsPrimaryName": false, "IsValidForCreate": true, "IsValidForRead": true, "IsValidForUpdate": true, "CanBeSecuredForRead": true, "CanBeSecuredForCreate": true, "CanBeSecuredForUpdate": true, "IsSecured": false, "IsRetrievable": false, "IsFilterable": false, "IsSearchable": false, "IsManaged": false, "LinkedAttributeId": null, "LogicalName": "sample_boolean", "IsValidForForm": true, "IsRequiredForForm": false, "IsValidForGrid": true, "SchemaName": "sample_Boolean", "ExternalName": null, "IsLogical": false, "IsDataSourceSecret": false, "InheritsFrom": null, "CreatedOn": "2022-09-01T16:15:08Z", "ModifiedOn": "2022-09-01T16:15:08Z", "SourceType": 0, "AutoNumberFormat": null, "DefaultValue": false, "FormulaDefinition": "", "SourceTypeMask": 0, "AttributeTypeName": { "Value": "BooleanType" }, "Description": { "LocalizedLabels": [ { "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "ea50b52d-53e4-4f8d-82ce-8f74a7554800", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "ea50b52d-53e4-4f8d-82ce-8f74a7554800", "HasChanged": null } }, "DisplayName": { "LocalizedLabels": [ { "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "9e4daa21-8774-4de9-b467-d046389459dc", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "9e4daa21-8774-4de9-b467-d046389459dc", "HasChanged": null } }, "IsAuditEnabled": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyauditsettings" }, "IsGlobalFilterEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyglobalfiltersettings" }, "IsSortableEnabled": { "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyissortablesettings" }, "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "IsRenameable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "isrenameable" }, "IsValidForAdvancedFind": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifysearchsettings" }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "CanModifyAdditionalSettings": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyadditionalsettings" }, "Settings": [], "OptionSet": { "MetadataId": "74f33b3d-112a-ed11-9db1-00224804f8e2", "HasChanged": null, "IsCustomOptionSet": true, "IsGlobal": false, "IsManaged": false, "Name": "sample_bankaccount_sample_boolean", "ExternalTypeName": null, "OptionSetType": "Boolean", "IntroducedVersion": "1.0.0.0", "Description": { "LocalizedLabels": [ { "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "76f33b3d-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "76f33b3d-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "DisplayName": { "LocalizedLabels": [ { "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "75f33b3d-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "75f33b3d-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "TrueOption": { "Value": 1, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "True", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "12049c5f-e99d-453f-8315-3933512539a1", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "True", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "12049c5f-e99d-453f-8315-3933512539a1", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, "FalseOption": { "Value": 0, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "False", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "e3d4c2b1-ad54-4d3a-8e01-f759da0e476f", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "False", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "e3d4c2b1-ad54-4d3a-8e01-f759da0e476f", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } } } }Saída do console:
Original Option Labels: True Option Label:'True' Value: 1 False Option Label:'False' Value: 0Atualize a coluna booliana. As únicas alterações são nas propriedades
DisplayName,DescriptioneRequiredLevel, mas toda a definição é incluída porquePUTé usada.Observação
Mesmo que a
OptionSetpropriedade esteja incluída nesse payload, alterações nas opções não seriam aplicadas porque elas não são consideradas parte da definição da coluna. Eles devem ser atualizados separadamente e este exemplo mostra como nas etapas a seguir.Pedir:
PUT [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean') HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution MSCRM.MergeLabels: true OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.BooleanAttributeMetadata", "AttributeType": "Boolean", "AttributeTypeName": { "Value": "BooleanType" }, "DefaultValue": false, "FormulaDefinition": "", "SourceTypeMask": 0, "OptionSet": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanOptionSetMetadata", "TrueOption": { "Value": 1, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "True", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "12049c5f-e99d-453f-8315-3933512539a1" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "True", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "12049c5f-e99d-453f-8315-3933512539a1" } }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "LanguageCode": 0, "IsManaged": false } }, "IsManaged": false, "ExternalValue": "" }, "FalseOption": { "Value": 0, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "False", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "e3d4c2b1-ad54-4d3a-8e01-f759da0e476f" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "False", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "e3d4c2b1-ad54-4d3a-8e01-f759da0e476f" } }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "LanguageCode": 0, "IsManaged": false } }, "IsManaged": false, "ExternalValue": "" }, "OptionSetType": "Boolean", "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "76f33b3d-112a-ed11-9db1-00224804f8e2" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "76f33b3d-112a-ed11-9db1-00224804f8e2" } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "75f33b3d-112a-ed11-9db1-00224804f8e2" } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "75f33b3d-112a-ed11-9db1-00224804f8e2" } }, "IntroducedVersion": "1.0.0.0", "IsCustomizable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "IsCustomOptionSet": true, "IsGlobal": false, "IsManaged": false, "Name": "sample_bankaccount_sample_boolean", "MetadataId": "74f33b3d-112a-ed11-9db1-00224804f8e2" }, "CanBeSecuredForCreate": true, "CanBeSecuredForRead": true, "CanBeSecuredForUpdate": true, "CanModifyAdditionalSettings": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyadditionalsettings" }, "ColumnNumber": 35, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute Updated", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Boolean Attribute Updated", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean Updated", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Boolean Updated", "LanguageCode": 1033, "IsManaged": false } }, "EntityLogicalName": "sample_bankaccount", "IntroducedVersion": "1.0.0.0", "IsAuditEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyauditsettings" }, "IsCustomAttribute": true, "IsCustomizable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "IsDataSourceSecret": false, "IsFilterable": false, "IsGlobalFilterEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyglobalfiltersettings" }, "IsLogical": false, "IsManaged": false, "IsPrimaryId": false, "IsPrimaryName": false, "IsRenameable": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "isrenameable" }, "IsRequiredForForm": false, "IsRetrievable": false, "IsSearchable": false, "IsSecured": false, "IsSortableEnabled": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": false, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifyissortablesettings" }, "IsValidForAdvancedFind": { "@odata.type": "Microsoft.Dynamics.CRM.BooleanManagedProperty", "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "canmodifysearchsettings" }, "IsValidForCreate": true, "IsValidForForm": true, "IsValidForGrid": true, "IsValidForRead": true, "IsValidForUpdate": true, "LogicalName": "sample_boolean", "RequiredLevel": { "Value": "ApplicationRequired", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Boolean", "SourceType": 0, "MetadataId": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_boolean')Saída do console:
Updated Boolean Column properties
Atualizar valores de opção
Atualizar cada uma das opções boolianas usando a Ação UpdateOptionValue
Observação
Aqui, estamos aplicando alterações às opções em um atributo booliano, mas você usa UpdateOptionValue para opções em qualquer tipo de coluna que as use, exceto status colunas, em que você deve usar a Ação UpdateStateValue.
Altere o rótulo do valor de
TrueOptionpara 'Para Cima'.Pedir:
POST [Organization Uri]/api/data/v9.2/UpdateOptionValue HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "AttributeLogicalName": "sample_boolean", "EntityLogicalName": "sample_bankaccount", "Value": 1, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Up", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Up", "LanguageCode": 1033, "IsManaged": false } }, "MergeLabels": true }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0Altere o rótulo do valor
FalseOptionpara 'Down'.Pedir:
POST [Organization Uri]/api/data/v9.2/UpdateOptionValue HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "AttributeLogicalName": "sample_boolean", "EntityLogicalName": "sample_bankaccount", "Value": 0, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Down", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Down", "LanguageCode": 1033, "IsManaged": false } }, "MergeLabels": true }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0Saída do console:
Updated option labelsRecupere os valores de opção modificados para a coluna booliana usando a mesma consulta de antes:
Saída do console:
Updated Option Labels: Updated True Option Label:'Up' Value: 1 Updated False Option Label:'Down' Value: 0
Coluna de datetime
Crie uma coluna DateTime usando DateTimeAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.DateTimeAttributeMetadata", "AttributeType": "DateTime", "AttributeTypeName": { "Value": "DateTimeType" }, "Format": "DateOnly", "ImeMode": "Disabled", "DateTimeBehavior": { "Value": "DateOnly" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "DateTime Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "DateTime Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample DateTime", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample DateTime", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_DateTime" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(44ee44ee-ff55-aa66-bb77-88cc88cc88cc)Saída do console:
Created DateTime column with id:44ee44ee-ff55-aa66-bb77-88cc88cc88ccRecupere os valores selecionados da coluna DateTime.
Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_datetime')/Microsoft.Dynamics.CRM.DateTimeAttributeMetadata?$select=SchemaName,Format,DateTimeBehavior HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.DateTimeAttributeMetadata(SchemaName,Format,DateTimeBehavior)/$entity", "SchemaName": "sample_DateTime", "Format": "DateOnly", "MetadataId": "44ee44ee-ff55-aa66-bb77-88cc88cc88cc", "DateTimeBehavior": { "Value": "DateOnly" } }Saída do console:
Retrieved Datetime column properties: DateTime Format:'DateOnly' DateTime DateTimeBehavior:'DateOnly'
Coluna decimal
Crie uma coluna decimal usando DecimalAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.DecimalAttributeMetadata", "AttributeType": "Decimal", "AttributeTypeName": { "Value": "DecimalType" }, "MaxValue": 100.0, "MinValue": 0.0, "Precision": 1, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Decimal Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Decimal Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Decimal", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Decimal", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Decimal" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(55ff55ff-aa66-bb77-cc88-99dd99dd99dd)Saída do console:
Created Decimal column with id:55ff55ff-aa66-bb77-cc88-99dd99dd99ddRecupere os valores selecionados da coluna Decimal.
Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_decimal')/Microsoft.Dynamics.CRM.DecimalAttributeMetadata?$select=SchemaName,MaxValue,MinValue,Precision HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.DecimalAttributeMetadata(SchemaName,MaxValue,MinValue,Precision)/$entity", "SchemaName": "sample_Decimal", "MaxValue": 100, "MinValue": 0, "Precision": 1, "MetadataId": "55ff55ff-aa66-bb77-cc88-99dd99dd99dd" }Saída do console:
Retrieved Decimal column properties: Decimal MaxValue:100 Decimal MinValue:0 Decimal Precision:1
Coluna Inteira
Crie uma coluna Integer usando IntegerAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.IntegerAttributeMetadata", "AttributeType": "Integer", "AttributeTypeName": { "Value": "IntegerType" }, "MaxValue": 100, "MinValue": 0, "Format": "None", "SourceTypeMask": 0, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Integer Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Integer Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Integer", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Integer", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Integer" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(66aa66aa-bb77-cc88-dd99-00ee00ee00ee)Saída do console:
Created Integer column with id:66aa66aa-bb77-cc88-dd99-00ee00ee00eeRecupere os valores selecionados da coluna Integer.
Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_integer')/Microsoft.Dynamics.CRM.IntegerAttributeMetadata?$select=SchemaName,MaxValue,MinValue,Format HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.IntegerAttributeMetadata(SchemaName,MaxValue,MinValue,Format)/$entity", "SchemaName": "sample_Integer", "MaxValue": 100, "MinValue": 0, "Format": "None", "MetadataId": "66aa66aa-bb77-cc88-dd99-00ee00ee00ee" }Saída do console:
Retrieved Integer column properties: Integer MaxValue:100 Integer MinValue:0 Integer Format:None
Coluna Memorando
Crie uma coluna de memorando usando MemoAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.MemoAttributeMetadata", "AttributeType": "Memo", "AttributeTypeName": { "Value": "MemoType" }, "Format": "TextArea", "ImeMode": "Disabled", "MaxLength": 500, "IsLocalizable": false, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Memo Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Memo Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Memo", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Memo", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Memo" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)Saída do console:
Created Memo column with id:00aa00aa-bb11-cc22-dd33-44ee44ee44eeRecupere os valores selecionados da Coluna Memo.
Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_memo')/Microsoft.Dynamics.CRM.MemoAttributeMetadata?$select=SchemaName,Format,ImeMode,MaxLength HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.MemoAttributeMetadata(SchemaName,Format,ImeMode,MaxLength)/$entity", "SchemaName": "sample_Memo", "Format": "TextArea", "ImeMode": "Disabled", "MaxLength": 500, "MetadataId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" }Saída do console:
Retrieved Memo column properties: Memo Format:TextArea Memo ImeMode:Disabled Memo MaxLength:500
Coluna Money
Crie uma coluna money usando MoneyAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.MoneyAttributeMetadata", "AttributeType": "Money", "AttributeTypeName": { "Value": "MoneyType" }, "ImeMode": "Disabled", "MaxValue": 1000.0, "MinValue": 0.0, "Precision": 1, "PrecisionSource": 1, "SourceTypeMask": 0, "IsBaseCurrency": false, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Money Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Money Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Money", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Money", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Money" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)Saída do console:
Created Money column with id:11bb11bb-cc22-dd33-ee44-55ff55ff55ffRecupere os valores selecionados da Coluna do Dinheiro.
Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_money')/Microsoft.Dynamics.CRM.MoneyAttributeMetadata?$select=SchemaName,MaxValue,MinValue,Precision,PrecisionSource,ImeMode HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.MoneyAttributeMetadata(SchemaName,MaxValue,MinValue,Precision,PrecisionSource,ImeMode)/$entity", "SchemaName": "sample_Money", "MaxValue": 1000.0, "MinValue": 0.0, "Precision": 1, "PrecisionSource": 1, "ImeMode": "Disabled", "MetadataId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff" }Saída do console:
Retrieved Money column properties: Money MaxValue:1000 Money MinValue:0 Money Precision:1 Money PrecisionSource:1 Money ImeMode:Disabled
Coluna de Picklist
Crie uma coluna de escolha (lista de seleção) usando PicklistAttributeMetadata EntityType com um conjunto de opções local.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.PicklistAttributeMetadata", "AttributeType": "Picklist", "AttributeTypeName": { "Value": "PicklistType" }, "SourceTypeMask": 0, "OptionSet": { "@odata.type": "Microsoft.Dynamics.CRM.OptionSetMetadata", "Options": [ { "Value": 727000000, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bravo", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bravo", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000001, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Delta", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Delta", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000002, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Alpha", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Alpha", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000003, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Charlie", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Charlie", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000004, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Foxtrot", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Foxtrot", "LanguageCode": 1033, "IsManaged": false } } } ], "IsGlobal": false, "OptionSetType": "Picklist" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Choice Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Choice Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Choice", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Choice", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Choice" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)Saída do console:
Created Choice column with id:22cc22cc-dd33-ee44-ff55-66aa66aa66aaRecuperar opções da coluna de escolha usando
$select=SchemaName&$expand=OptionSet.Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_choice')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=SchemaName&$expand=OptionSet HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(SchemaName,OptionSet())/$entity", "SchemaName": "sample_Choice", "MetadataId": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa", "OptionSet": { "MetadataId": "4b154e49-112a-ed11-9db1-00224804f8e2", "HasChanged": null, "IsCustomOptionSet": true, "IsGlobal": false, "IsManaged": false, "Name": "sample_bankaccount_sample_choice", "ExternalTypeName": null, "OptionSetType": "Picklist", "IntroducedVersion": "1.0.0.0", "ParentOptionSetName": null, "Description": { "LocalizedLabels": [ { "Label": "Choice Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4d154e49-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Choice Attribute", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4d154e49-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "DisplayName": { "LocalizedLabels": [ { "Label": "Sample Choice", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4c154e49-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Sample Choice", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "4c154e49-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" }, "Options": [ { "Value": 727000000, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Bravo", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "bc8d1815-75b7-4c13-b618-7959aaf4abb6", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Bravo", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "bc8d1815-75b7-4c13-b618-7959aaf4abb6", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000001, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Delta", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "c3613791-85a0-41ac-8575-91aca4bb91e8", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Delta", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "c3613791-85a0-41ac-8575-91aca4bb91e8", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000002, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Alpha", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "8db04562-9ec3-4014-a170-0482bbb94e44", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Alpha", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "8db04562-9ec3-4014-a170-0482bbb94e44", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000003, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Charlie", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "d00dc11e-ed91-478b-ac78-86b6784326ad", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Charlie", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "d00dc11e-ed91-478b-ac78-86b6784326ad", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000004, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Foxtrot", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "36a565b7-cd21-4505-812b-5567c28eec23", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Foxtrot", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "36a565b7-cd21-4505-812b-5567c28eec23", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } } ] } }Saída do console:
Retrieved Choice column options: Value:727000000 Label:Bravo Value:727000001 Label:Delta Value:727000002 Label:Alpha Value:727000003 Label:Charlie Value:727000004 Label:Foxtrot
Adicionar uma opção ao conjunto de opções local
Adicione uma opção à coluna de escolha usando a Ação InsertOptionValue.
Observação
InsertOptionValuee as ações a seguir para trabalhar com as opções possuem um parâmetroSolutionUniqueNameque permite definir o nome exclusivo da solução ao invés de usar o cabeçalho de solicitaçãoMSCRM.SolutionUniqueName.Pedir:
POST [Organization Uri]/api/data/v9.2/InsertOptionValue HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "AttributeLogicalName": "sample_choice", "EntityLogicalName": "sample_bankaccount", "Value": 727000005, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Echo", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Echo", "LanguageCode": 1033, "IsManaged": false } }, "SolutionUniqueName": "examplesolution" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertOptionValueResponse", "NewOptionValue": 727000005 }Saída do console:
Added new option with label 'Echo'Recupere as opções de coluna de escolha novamente usando a mesma consulta de antes:
Saída do console:
The option values for the picklist: Value: 727000000, Label:Bravo Value: 727000001, Label:Delta Value: 727000002, Label:Alpha Value: 727000003, Label:Charlie Value: 727000004, Label:Foxtrot Value: 727000005, Label:Echo
Reordenar opções da coluna de escolha
Reorganize as opções da coluna Escolha usando a Ação OrderOption.
Pedir:
POST [Organization Uri]/api/data/v9.2/OrderOption HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "EntityLogicalName": "sample_bankaccount", "AttributeLogicalName": "sample_choice", "Values": [ 727000002, 727000000, 727000003, 727000001, 727000005, 727000004 ], "SolutionUniqueName": "examplesolution" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0Saída do console:
Options re-ordered.Recupere as opções de coluna Escolha novamente usando a mesma consulta de antes para ver as opções na nova ordem.
Saída do console:
The option values for the picklist in the new order: Value: 727000002, Label:Alpha Value: 727000000, Label:Bravo Value: 727000003, Label:Charlie Value: 727000001, Label:Delta Value: 727000005, Label:Echo Value: 727000004, Label:Foxtrot
Excluir valor da opção local
Excluir uma opção usando a ação DeleteOptionValue.
Pedir:
POST [Organization Uri]/api/data/v9.2/DeleteOptionValue HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "AttributeLogicalName": "sample_choice", "EntityLogicalName": "sample_bankaccount", "Value": 727000004 }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0Saída do console:
Deleting a local option value... Local OptionSet option value deleted.
Coluna de lista de seleção múltipla
Crie uma coluna de escolha de várias seleções usando MultiSelectPicklistAttributeMetadata EntityType.
Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.MultiSelectPicklistAttributeMetadata", "AttributeType": "Virtual", "AttributeTypeName": { "Value": "MultiSelectPicklistType" }, "SourceTypeMask": 0, "OptionSet": { "@odata.type": "Microsoft.Dynamics.CRM.OptionSetMetadata", "Options": [ { "Value": 727000000, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Appetizer", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Appetizer", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000001, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Entree", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Entree", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000002, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Dessert", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Dessert", "LanguageCode": 1033, "IsManaged": false } } } ], "IsGlobal": false, "OptionSetType": "Picklist" }, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "MultiSelect Choice Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "MultiSelect Choice Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample MultiSelect Choice", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample MultiSelect Choice", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_MultiSelectChoice" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)Saída do console:
Creating a MultiSelect Choice column... Created MultiSelect Choice column with id:33dd33dd-ee44-ff55-aa66-77bb77bb77bbRecuperar as opções da coluna de seleção múltipla usando
GET EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_multiselectchoice')/Microsoft.Dynamics.CRM.MultiSelectPicklistAttributeMetadata?$select=SchemaName&$expand=OptionSetSaída do console:
The option values for the multi-select choice column: Value: 727000000, Label:Appetizer Value: 727000001, Label:Entree Value: 727000002, Label:Dessert
Inserir valor de status
Use InsertStatusValue Action para adicionar uma nova opção a uma statuscode coluna. Você deve especificar para qual StateCode é válido.
Observação
Observe que o valor retornado aplica o valor do publicador customizationoptionvalueprefix (72700) automaticamente.
Pedir:
POST [Organization Uri]/api/data/v9.2/InsertStatusValue HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"AttributeLogicalName": "statuscode",
"EntityLogicalName": "sample_bankaccount",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Frozen",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Frozen",
"LanguageCode": 1033,
"IsManaged": false
}
},
"StateCode": 1,
"SolutionUniqueName": "examplesolution"
}
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertStatusValueResponse",
"NewOptionValue": 727000000
}
Saída do console:
Created new Status value:727000000
Seção 3: Criar e usar o Global OptionSet
Crie uma opção global (conjunto de opções). Esse conjunto de opções é nomeado
sample_colorse contém opções para Vermelho, Amarelo e Verde.Observação
A solicitação especifica os valores de opção usando o publicador
customizationoptionvalueprefix.Pedir:
POST [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.OptionSetMetadata", "Options": [ { "Value": 727000000, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Red", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Red", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000001, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Yellow", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Yellow", "LanguageCode": 1033, "IsManaged": false } } }, { "Value": 727000002, "Label": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Green", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Green", "LanguageCode": 1033, "IsManaged": false } } } ], "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Color Choice", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Color Choice", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Colors", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Colors", "LanguageCode": 1033, "IsManaged": false } }, "Name": "sample_colors", "OptionSetType": "Picklist" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(44ee44ee-ff55-aa66-bb77-88cc88cc88cc)Saída do console:
Created a new global option set with id:44ee44ee-ff55-aa66-bb77-88cc88cc88ccRecupere as opções globais de escolha.
Pedir:
GET [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(44ee44ee-ff55-aa66-bb77-88cc88cc88cc)/Microsoft.Dynamics.CRM.OptionSetMetadata HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#GlobalOptionSetDefinitions/Microsoft.Dynamics.CRM.OptionSetMetadata/$entity", "ParentOptionSetName": null, "IsCustomOptionSet": true, "IsGlobal": true, "IsManaged": false, "Name": "sample_colors", "ExternalTypeName": null, "OptionSetType": "Picklist", "IntroducedVersion": "1.0.0.0", "MetadataId": "44ee44ee-ff55-aa66-bb77-88cc88cc88cc", "HasChanged": null, "Options": [ { "Value": 727000000, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Red", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "2c1fa94f-3714-4615-995b-690158d0d989", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Red", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "2c1fa94f-3714-4615-995b-690158d0d989", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000001, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Yellow", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "a499c2fe-c13a-4c1e-b190-db8ae74396f5", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Yellow", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "a499c2fe-c13a-4c1e-b190-db8ae74396f5", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, { "Value": 727000002, "Color": null, "IsManaged": false, "ExternalValue": "", "ParentValues": [], "MetadataId": null, "HasChanged": null, "Label": { "LocalizedLabels": [ { "Label": "Green", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "8378af2c-4b68-4ea4-ad37-e676f696e1ba", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Green", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "8378af2c-4b68-4ea4-ad37-e676f696e1ba", "HasChanged": null } }, "Description": { "LocalizedLabels": [], "UserLocalizedLabel": null } } ], "Description": { "LocalizedLabels": [ { "Label": "Color Choice", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "7efd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Color Choice", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "7efd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "DisplayName": { "LocalizedLabels": [ { "Label": "Colors", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "7dfd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null } ], "UserLocalizedLabel": { "Label": "Colors", "LanguageCode": 1033, "IsManaged": false, "MetadataId": "7dfd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null } }, "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" } }Saída do console:
List the retrieved options for the colors global option set: Value: 727000000 Label:Red Value: 727000001 Label:Yellow Value: 727000002 Label:GreenCrie uma coluna de escolha que use o conjunto de opções global. Associe a definição de coluna ao conjunto de opções global usando:
"GlobalOptionSet@odata.bind": "/GlobalOptionSetDefinitions(44ee44ee-ff55-aa66-bb77-88cc88cc88cc)".Pedir:
POST [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes HTTP/1.1 MSCRM.SolutionUniqueName: examplesolution OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "@odata.type": "Microsoft.Dynamics.CRM.PicklistAttributeMetadata", "AttributeType": "Picklist", "AttributeTypeName": { "Value": "PicklistType" }, "SourceTypeMask": 0, "GlobalOptionSet@odata.bind": "/GlobalOptionSetDefinitions(44ee44ee-ff55-aa66-bb77-88cc88cc88cc)", "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Colors Global Picklist Attribute", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Colors Global Picklist Attribute", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Colors", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Sample Colors", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "None", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_Colors" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(55ff55ff-aa66-bb77-cc88-99dd99dd99dd)Saída do console:
Created Choice column with id:55ff55ff-aa66-bb77-cc88-99dd99dd99dd using colors global optionset.
Seção 4: Criar relação com o cliente
Use a Ação CreateCustomerRelationships para criar uma relação de cliente. Essa ação adiciona uma coluna de pesquisa à tabela
sample_BankAccountque permite definir um registroaccountoucontact.CreateCustomerRelationshipstem umLookupparâmetro ComplexLookupAttributeMetadata ComplexType e umOneToManyRelationshipsparâmetro que contém um par de relações definidas usando ComplexOneToManyRelationshipMetadata ComplexType.Pedir:
POST [Organization Uri]/api/data/v9.2/CreateCustomerRelationships HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "Lookup": { "@odata.type": "Microsoft.Dynamics.CRM.ComplexLookupAttributeMetadata", "AttributeType": "Lookup", "AttributeTypeName": { "Value": "LookupType" }, "Format": "None", "Targets": [ "account", "contact" ], "ColumnNumber": 0, "Description": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "The owner of the bank account", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "The owner of the bank account", "LanguageCode": 1033, "IsManaged": false } }, "DisplayName": { "@odata.type": "Microsoft.Dynamics.CRM.Label", "LocalizedLabels": [ { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account owner", "LanguageCode": 1033, "IsManaged": false } ], "UserLocalizedLabel": { "@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel", "Label": "Bank Account owner", "LanguageCode": 1033, "IsManaged": false } }, "RequiredLevel": { "Value": "ApplicationRequired", "CanBeChanged": false, "ManagedPropertyLogicalName": "canmodifyrequirementlevelsettings" }, "SchemaName": "sample_CustomerId", "SourceType": 0 }, "OneToManyRelationships": [ { "@odata.type": "Microsoft.Dynamics.CRM.ComplexOneToManyRelationshipMetadata", "ReferencedEntity": "account", "ReferencingEntity": "sample_bankaccount", "RelationshipBehavior": 0, "RelationshipType": "OneToManyRelationship", "SchemaName": "sample_BankAccount_Customer_Account", "SecurityTypes": "None" }, { "@odata.type": "Microsoft.Dynamics.CRM.ComplexOneToManyRelationshipMetadata", "ReferencedEntity": "contact", "ReferencingEntity": "sample_bankaccount", "RelationshipBehavior": 0, "RelationshipType": "OneToManyRelationship", "SchemaName": "sample_BankAccount_Customer_Contact", "SecurityTypes": "None" } ], "SolutionUniqueName": "examplesolution" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateCustomerRelationshipsResponse", "RelationshipIds": [ "84fd8c56-112a-ed11-9db1-00224804f8e2", "8dfd8c56-112a-ed11-9db1-00224804f8e2" ], "AttributeId": "59478264-16af-4bcc-8baa-b154df0d6767" }Use CreateCustomerRelationshipsResponse.
AttributeIdvalor necessário para recuperar a propriedade da coluna de consultaTargetsna relação com o cliente.Pedir:
GET [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_customerid')/Microsoft.Dynamics.CRM.LookupAttributeMetadata?$select=Targets HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#EntityDefinitions('sample_bankaccount')/Attributes/Microsoft.Dynamics.CRM.LookupAttributeMetadata(Targets)/$entity", "Targets": [ "account", "contact" ], "MetadataId": "59478264-16af-4bcc-8baa-b154df0d6767" }Saída do console:
The Target values of the Lookup column created: account contactUse o CreateCustomerRelationshipsResponse.
RelationshipIdsvalores para recuperar as relações da coluna do cliente.Primeiramente para a relação com
account:Pedir:
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(84fd8c56-112a-ed11-9db1-00224804f8e2)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#RelationshipDefinitions/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata/$entity", "ReferencedAttribute": "accountid", "ReferencedEntity": "account", "ReferencingAttribute": "sample_customerid", "ReferencingEntity": "sample_bankaccount", "IsHierarchical": false, "EntityKey": null, "IsRelationshipAttributeDenormalized": false, "ReferencedEntityNavigationPropertyName": "sample_BankAccount_Customer_Account", "ReferencingEntityNavigationPropertyName": "sample_CustomerId_account", "RelationshipBehavior": 1, "IsDenormalizedLookup": null, "DenormalizedAttributeName": null, "IsCustomRelationship": true, "IsValidForAdvancedFind": true, "SchemaName": "sample_BankAccount_Customer_Account", "SecurityTypes": "Append", "IsManaged": false, "RelationshipType": "OneToManyRelationship", "IntroducedVersion": "1.0.0.0", "MetadataId": "84fd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null, "AssociatedMenuConfiguration": { "Behavior": "UseCollectionName", "Group": "Details", "Order": 10000, "IsCustomizable": true, "Icon": null, "ViewId": "00000000-0000-0000-0000-000000000000", "AvailableOffline": true, "MenuId": null, "QueryApi": null, "Label": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, "CascadeConfiguration": { "Assign": "NoCascade", "Delete": "RemoveLink", "Archive": "RemoveLink", "Merge": "Cascade", "Reparent": "NoCascade", "Share": "NoCascade", "Unshare": "NoCascade", "RollupView": "NoCascade" }, "RelationshipAttributes": [], "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" } }Em seguida, para relacionar a
contact:Pedir:
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(8dfd8c56-112a-ed11-9db1-00224804f8e2)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#RelationshipDefinitions/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata/$entity", "ReferencedAttribute": "contactid", "ReferencedEntity": "contact", "ReferencingAttribute": "sample_customerid", "ReferencingEntity": "sample_bankaccount", "IsHierarchical": false, "EntityKey": null, "IsRelationshipAttributeDenormalized": false, "ReferencedEntityNavigationPropertyName": "sample_BankAccount_Customer_Contact", "ReferencingEntityNavigationPropertyName": "sample_CustomerId_contact", "RelationshipBehavior": 1, "IsDenormalizedLookup": null, "DenormalizedAttributeName": null, "IsCustomRelationship": true, "IsValidForAdvancedFind": true, "SchemaName": "sample_BankAccount_Customer_Contact", "SecurityTypes": "Append", "IsManaged": false, "RelationshipType": "OneToManyRelationship", "IntroducedVersion": "1.0.0.0", "MetadataId": "8dfd8c56-112a-ed11-9db1-00224804f8e2", "HasChanged": null, "AssociatedMenuConfiguration": { "Behavior": "UseCollectionName", "Group": "Details", "Order": 10000, "IsCustomizable": true, "Icon": null, "ViewId": "00000000-0000-0000-0000-000000000000", "AvailableOffline": true, "MenuId": null, "QueryApi": null, "Label": { "LocalizedLabels": [], "UserLocalizedLabel": null } }, "CascadeConfiguration": { "Assign": "NoCascade", "Delete": "RemoveLink", "Archive": "RemoveLink", "Merge": "Cascade", "Reparent": "NoCascade", "Share": "NoCascade", "Unshare": "NoCascade", "RollupView": "NoCascade" }, "RelationshipAttributes": [], "IsCustomizable": { "Value": true, "CanBeChanged": true, "ManagedPropertyLogicalName": "iscustomizable" } }Saída do console:
The Schema Names of the relationships created: sample_BankAccount_Customer_Account sample_BankAccount_Customer_Contact
Seção 5: Criar e recuperar uma relação um-para-muitos
Antes de criar uma relação usando código, você deve confirmar se a relação é válida. Os designers no Power Apps usam funções especiais para mostrar quais combinações são válidas. Você pode usar as mesmas funções em seu código para detectar se uma relação específica pode ser criada ou não.
Validar a elegibilidade da relação 1:N
A Função CanBeReferenced informa se uma tabela é a tabela primária (uma) em uma relação um-para-muitos.
Pedir:
POST [Organization Uri]/api/data/v9.2/CanBeReferenced HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "EntityName": "sample_bankaccount" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencedResponse", "CanBeReferenced": true }Saída do console:
The sample_BankAccount table is eligible to be a primary table in a one-to-many relationship.A Função CanBeReferencing informa se uma tabela pode ser a tabela de referência em uma relação um-para-muitos. A tabela de referência é a tabela que tem uma coluna Lookup adicionada a ela para ser a "muitos" na relação um-para-muitos.
Pedir:
POST [Organization Uri]/api/data/v9.2/CanBeReferencing HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "EntityName": "contact" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencingResponse", "CanBeReferencing": true }Saída do console:
The contact table is eligible to be a related table in a one-to-many relationship.
Identificar possíveis entidades de referência
No contexto de uma tabela específica que pode ser a tabela parmária em uma relação um-para-muitos, use a Função GetValidReferencingEntities para identificar quais outras tabelas podem ser relacionadas a ela.
Pedir:
GET [Organization Uri]/api/data/v9.2/GetValidReferencingEntities(ReferencedEntityName='sample_bankaccount') HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.GetValidReferencingEntitiesResponse",
"EntityNames": [
"msdyn_slakpi",
"workflowbinary",
"apisettings",
"flowsession",
"knowledgearticle",
"socialprofile",
"goal",
"metric",
"goalrollupquery",
"mailbox",
"position",
"channelaccessprofile",
"externalparty",
"channelaccessprofilerule",
"channelaccessprofileruleitem",
"sample_bankaccount",
"privilegesremovalsetting",
"knowledgebaserecord",
"msdyn_insightsstorevirtualentity",
"aaduser",
"sharepointdocument",
"msfp_unsubscribedrecipient",
"msdyn_dataflow",
"flowmachineimage",
"queueitem",
"appointment",
"msdyn_federatedarticleincident",
"msfp_surveyresponse",
"msdyn_dataflowrefreshhistory",
"mailmergetemplate",
"contact",
"organizationdatasyncstate",
"bot",
"knowledgearticleviews",
"slaitem",
"msfp_question",
"category",
"connection",
"newprocess",
"msfp_survey",
"emailserverprofile",
"appnotification",
"feedback",
"activityfileattachment",
"organizationdatasyncsubscriptionentity",
"msdyn_nonrelationalds",
"expiredprocess",
"msfp_surveyinvite",
"msfp_alert",
"businessunit",
"msfp_alertrule",
"slakpiinstance",
"email",
"datasyncstate",
"msdyn_entityrefreshhistory",
"msdyn_componentlayerdatasource",
"account",
"kbarticle",
"systemuser",
"task",
"letter",
"reportcategory",
"phonecall",
"actioncard",
"msdyn_kmfederatedsearchconfig",
"featurecontrolsetting",
"translationprocess",
"recurringappointmentmaster",
"externalpartyitem",
"msdyn_aibdatasetfile",
"socialactivity",
"flowmachineimageversion",
"fax",
"msdyn_kbattachment",
"serviceplanmapping",
"msdyn_knowledgearticletemplate",
"msfp_emailtemplate",
"conversationtranscript",
"sharepointsite",
"processstage",
"msfp_localizedemailtemplate",
"queue",
"msdyn_richtextfile",
"msdyn_serviceconfiguration",
"team",
"sharedlinksetting",
"territory",
"msdyn_federatedarticle",
"msdyn_knowledgepersonalfilter",
"sharepointdocumentlocation",
"chat",
"msfp_fileresponse",
"msfp_satisfactionmetric",
"msdyn_aibfeedbackloop",
"msdyn_customcontrolextendedsettings",
"msfp_surveyreminder",
"msfp_questionresponse",
"msfp_project"
]
}
Saída do console:
The contact table is in the list of potential referencing entities for sample_BankAccount.
Criar relação 1:N
A solicitação a seguir cria uma relação um-para-muitos entre a tabela sample_BankAccount e a tabela de contato, com uma coluna de pesquisa adicionada à tabela contact.
Pedir:
POST [Organization Uri]/api/data/v9.2/RelationshipDefinitions HTTP/1.1
MSCRM.SolutionUniqueName: examplesolution
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.type": "Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",
"AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Cardholders",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Cardholders",
"LanguageCode": 1033,
"IsManaged": false
}
},
"Order": 10000,
"ViewId": "00000000-0000-0000-0000-000000000000"
},
"CascadeConfiguration": {
"Assign": "NoCascade",
"Delete": "RemoveLink",
"Merge": "Cascade",
"Reparent": "NoCascade",
"Share": "NoCascade",
"Unshare": "NoCascade",
"RollupView": "NoCascade"
},
"IsHierarchical": false,
"ReferencedAttribute": "sample_bankaccountid",
"ReferencedEntity": "sample_bankaccount",
"ReferencingEntity": "contact",
"Lookup": {
"@odata.type": "Microsoft.Dynamics.CRM.LookupAttributeMetadata",
"AttributeType": "Lookup",
"AttributeTypeName": {
"Value": "LookupType"
},
"Format": "None",
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "The bank account this contact has access to.",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "The bank account this contact has access to.",
"LanguageCode": 1033,
"IsManaged": false
}
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Bank Account",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Bank Account",
"LanguageCode": 1033,
"IsManaged": false
}
},
"SchemaName": "sample_BankAccountId"
},
"IsCustomRelationship": false,
"IsManaged": false,
"IsValidForAdvancedFind": false,
"RelationshipType": "OneToManyRelationship",
"SchemaName": "sample_BankAccount_Contacts",
"SecurityTypes": "None"
}
Resposta:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(66aa66aa-bb77-cc88-dd99-00ee00ee00ee)
Saída do console:
Creating a one-to-many relationship...
Created one-to-many relationship: RelationshipDefinitions(66aa66aa-bb77-cc88-dd99-00ee00ee00ee)
Recuperar relação 1:N
A solicitação a seguir recupera a relação criada pela solicitação anterior.
Observação
Como RelationshipDefinitions contém definições de relações um para muitos e muitos para muitos, você deve usar a seguinte expressão de conversão na URL para converter para o tipo que você deseja recuperar: /Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata.
Caso contrário, o valor retornado é o EntityType RelationshipMetadataBase e não inclui as propriedades específicas para o EntityType OneToManyRelationshipMetadata.
Pedir:
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(66aa66aa-bb77-cc88-dd99-00ee00ee00ee)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata HTTP/1.1
Consistency: Strong
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#RelationshipDefinitions/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata/$entity",
"ReferencedAttribute": "sample_bankaccountid",
"ReferencedEntity": "sample_bankaccount",
"ReferencingAttribute": "sample_bankaccountid",
"ReferencingEntity": "contact",
"IsHierarchical": false,
"EntityKey": null,
"IsRelationshipAttributeDenormalized": false,
"ReferencedEntityNavigationPropertyName": "sample_BankAccount_Contacts",
"ReferencingEntityNavigationPropertyName": "sample_BankAccountId",
"RelationshipBehavior": 1,
"IsDenormalizedLookup": null,
"DenormalizedAttributeName": null,
"IsCustomRelationship": true,
"IsValidForAdvancedFind": false,
"SchemaName": "sample_BankAccount_Contacts",
"SecurityTypes": "Append",
"IsManaged": false,
"RelationshipType": "OneToManyRelationship",
"IntroducedVersion": "1.0.0.0",
"MetadataId": "66aa66aa-bb77-cc88-dd99-00ee00ee00ee",
"HasChanged": null,
"AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Order": 10000,
"IsCustomizable": true,
"Icon": null,
"ViewId": "00000000-0000-0000-0000-000000000000",
"AvailableOffline": true,
"MenuId": null,
"QueryApi": null,
"Label": {
"LocalizedLabels": [
{
"Label": "Cardholders",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "a99a420f-6778-4f2f-b42b-64bc84b2c2d2",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "Cardholders",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "a99a420f-6778-4f2f-b42b-64bc84b2c2d2",
"HasChanged": null
}
}
},
"CascadeConfiguration": {
"Assign": "NoCascade",
"Delete": "RemoveLink",
"Archive": "RemoveLink",
"Merge": "NoCascade",
"Reparent": "NoCascade",
"Share": "NoCascade",
"Unshare": "NoCascade",
"RollupView": "NoCascade"
},
"RelationshipAttributes": [],
"IsCustomizable": {
"Value": true,
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizable"
}
}
Saída do console:
Retrieved relationship: sample_BankAccount_Contacts
Seção 6: Criar e recuperar um relacionamento muitos-para-um
Uma relação muitos-para-um é uma relação um-para-muitos vista de outra perspectiva. Os exemplos a seguir criam uma coluna de pesquisa denominada sample_relatedaccountid na tabela sample_BankAccount que faz referência a uma linha na tabela account.
Criar relação N:1
Pedir:
POST [Organization Uri]/api/data/v9.2/RelationshipDefinitions HTTP/1.1
MSCRM.SolutionUniqueName: examplesolution
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.type": "Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",
"AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Related Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Related Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false
}
},
"Order": 10000,
"ViewId": "00000000-0000-0000-0000-000000000000"
},
"CascadeConfiguration": {
"Assign": "NoCascade",
"Delete": "RemoveLink",
"Merge": "Cascade",
"Reparent": "NoCascade",
"Share": "NoCascade",
"Unshare": "NoCascade",
"RollupView": "NoCascade"
},
"IsHierarchical": false,
"ReferencedAttribute": "accountid",
"ReferencedEntity": "account",
"ReferencingEntity": "sample_bankaccount",
"Lookup": {
"@odata.type": "Microsoft.Dynamics.CRM.LookupAttributeMetadata",
"AttributeType": "Lookup",
"AttributeTypeName": {
"Value": "LookupType"
},
"Format": "None",
"Description": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "An Account related to the bank account.",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "An Account related to the bank account.",
"LanguageCode": 1033,
"IsManaged": false
}
},
"DisplayName": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Related Account",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Related Account",
"LanguageCode": 1033,
"IsManaged": false
}
},
"SchemaName": "sample_RelatedAccountId"
},
"IsCustomRelationship": false,
"IsManaged": false,
"IsValidForAdvancedFind": false,
"RelationshipType": "OneToManyRelationship",
"SchemaName": "sample_Account_BankAccounts",
"SecurityTypes": "None"
}
Resposta:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Saída do console:
Created many-to-one relationship: RelationshipDefinitions(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Recuperar relação N:1
Pedir:
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata HTTP/1.1
Consistency: Strong
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#RelationshipDefinitions/Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata/$entity",
"ReferencedAttribute": "accountid",
"ReferencedEntity": "account",
"ReferencingAttribute": "sample_relatedaccountid",
"ReferencingEntity": "sample_bankaccount",
"IsHierarchical": false,
"EntityKey": null,
"IsRelationshipAttributeDenormalized": false,
"ReferencedEntityNavigationPropertyName": "sample_Account_BankAccounts",
"ReferencingEntityNavigationPropertyName": "sample_RelatedAccountId",
"RelationshipBehavior": 1,
"IsDenormalizedLookup": null,
"DenormalizedAttributeName": null,
"IsCustomRelationship": true,
"IsValidForAdvancedFind": false,
"SchemaName": "sample_Account_BankAccounts",
"SecurityTypes": "Append",
"IsManaged": false,
"RelationshipType": "OneToManyRelationship",
"IntroducedVersion": "1.0.0.0",
"MetadataId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
"HasChanged": null,
"AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Order": 10000,
"IsCustomizable": true,
"Icon": null,
"ViewId": "00000000-0000-0000-0000-000000000000",
"AvailableOffline": true,
"MenuId": null,
"QueryApi": null,
"Label": {
"LocalizedLabels": [
{
"Label": "Related Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "b2ad2cce-5c7c-46aa-8bbf-7903d33ef019",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "Related Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "b2ad2cce-5c7c-46aa-8bbf-7903d33ef019",
"HasChanged": null
}
}
},
"CascadeConfiguration": {
"Assign": "NoCascade",
"Delete": "RemoveLink",
"Archive": "RemoveLink",
"Merge": "Cascade",
"Reparent": "NoCascade",
"Share": "NoCascade",
"Unshare": "NoCascade",
"RollupView": "NoCascade"
},
"RelationshipAttributes": [],
"IsCustomizable": {
"Value": true,
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizable"
}
}
Saída do console:
Retrieved relationship: sample_Account_BankAccounts
Seção 7: Criar e recuperar uma relação muitos para muitos
Como as relações de um para muitos, existem funções especiais que são usadas pelos designers no Power Apps para impedir combinações inválidas ao criar relações de muitos para muitos.
Validar a elegibilidade da relação N:N
A Função CanManyToMany indica se uma tabela pode participar de um relacionamento muitos-para-muitos. Portanto, essa solicitação testa a
contacttabela.Pedir:
POST [Organization Uri]/api/data/v9.2/CanManyToMany HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "EntityName": "contact" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse", "CanManyToMany": true }Saída do console:
The contact table can participate in many-to-many relationships.Essa solicitação executa o mesmo teste na
sample_bankaccounttabela.Pedir:
POST [Organization Uri]/api/data/v9.2/CanManyToMany HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "EntityName": "sample_bankaccount" }Resposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse", "CanManyToMany": true }Saída do console:
The sample_bankaccount table can participate in many-to-many relationships.
Identificar entidades potenciais para relações N:N
Use a função GetValidManyToMany para obter uma lista de tabelas que podem participar de relações muitos para muitos.
Pedir:
GET [Organization Uri]/api/data/v9.2/GetValidManyToMany HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.GetValidManyToManyResponse",
"EntityNames": [
"msdyn_slakpi",
"workflowbinary",
"apisettings",
"flowsession",
"theme",
"knowledgearticle",
"socialprofile",
"goal",
"position",
"externalparty",
"channelaccessprofileruleitem",
"routingruleitem",
"sample_bankaccount",
"synapselinkexternaltablestate",
"synapsedatabase",
"msdyn_aimodel",
"aaduser",
"applicationuser",
"msfp_unsubscribedrecipient",
"msdyn_aiconfiguration",
"msdyn_dataflow",
"flowmachineimage",
"queueitem",
"synapselinkschedule",
"msdyn_federatedarticleincident",
"flowmachine",
"synapselinkprofile",
"msdyn_dataflowrefreshhistory",
"solutioncomponentrelationshipconfiguration",
"contact",
"organizationdatasyncstate",
"botcomponent",
"bot",
"msdyn_componentlayer",
"msdyn_odatav4ds",
"msfp_question",
"msdyn_aibfile",
"msdyn_solutionhistorydatasource",
"msdyn_solutionhealthruleset",
"newprocess",
"connectionreference",
"msdyn_knowledgemanagementsetting",
"msdyn_pmrecording",
"msfp_survey",
"msdyn_aibdatasetscontainer",
"package",
"msdyn_solutioncomponentsummary",
"msdyn_helppage",
"appnotification",
"organizationdatasyncsubscriptionentity",
"msdyn_aiodtrainingboundingbox",
"msdyn_nonrelationalds",
"expiredprocess",
"msdyn_analysisresultdetail",
"msfp_alertrule",
"msdyn_solutioncomponentcountsummary",
"msdyn_kalanguagesetting",
"transactioncurrency",
"exportsolutionupload",
"msdyn_pmprocessusersettings",
"datasyncstate",
"msdyn_entityrefreshhistory",
"msdyn_analysisresult",
"msdyn_componentlayerdatasource",
"account",
"kbarticle",
"systemuser",
"task",
"msdyn_analysisjob",
"solutioncomponentconfiguration",
"msdyn_knowledgesearchfilter",
"stagesolutionupload",
"msdyn_pmtemplate",
"phonecall",
"msdyn_solutioncomponentdatasource",
"environmentvariablevalue",
"msdyn_aitemplate",
"userrating",
"synapselinkprofileentity",
"featurecontrolsetting",
"translationprocess",
"msdyn_pminferredtask",
"customapirequestparameter",
"externalpartyitem",
"msdyn_aibdatasetfile",
"flowmachinegroup",
"flowmachineimageversion",
"msdyn_aibdatasetrecord",
"msdyn_kbattachment",
"msdyn_aifptrainingdocument",
"customapiresponseproperty",
"msdyn_knowledgearticletemplate",
"msdyn_aiodimage",
"msdyn_knowledgesearchinsight",
"msfp_emailtemplate",
"catalog",
"msdyn_knowledgeinteractioninsight",
"conversationtranscript",
"msdyn_pmanalysishistory",
"msdyn_datalakeds",
"canvasappextendedmetadata",
"msfp_localizedemailtemplate",
"msdynce_botcontent",
"queue",
"msdyn_solutionhealthruleargument",
"msdyn_aibfileattacheddata",
"msdyn_richtextfile",
"msdyn_kmpersonalizationsetting",
"msdyn_aiodtrainingimage",
"msdyn_serviceconfiguration",
"msdyn_knowledgearticleimage",
"team",
"territory",
"msdyn_solutioncomponentcountdatasource",
"catalogassignment",
"msdyn_federatedarticle",
"msdyn_solutionhealthrule",
"msdyn_solutionhistory",
"msdyn_knowledgepersonalfilter",
"organizationdatasyncsubscription",
"solutioncomponentbatchconfiguration",
"connector",
"solutioncomponentattributeconfiguration",
"synapselinkprofileentitystate",
"msdyn_aiodlabel",
"customapi",
"msdyn_aibdataset",
"msfp_fileresponse",
"environmentvariabledefinition",
"msdyn_analysiscomponent",
"msfp_satisfactionmetric",
"msdyn_tour",
"msdyn_customcontrolextendedsettings",
"msfp_surveyreminder",
"virtualentitymetadata",
"msfp_questionresponse",
"msfp_project"
]
}
Saída do console:
Contact is in the list of potential tables for N:N.
sample_BankAccount is in the list of potential tables for N:N.
Criar relação N:N
Essa solicitação cria uma relação muitos para muitos entre as tabelas sample_BankAccount e Contact.
Pedir:
POST [Organization Uri]/api/data/v9.2/RelationshipDefinitions HTTP/1.1
MSCRM.SolutionUniqueName: examplesolution
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.type": "Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata",
"Entity1AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false
}
},
"Order": 10000,
"ViewId": "00000000-0000-0000-0000-000000000000"
},
"Entity1LogicalName": "sample_bankaccount",
"Entity2AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Label": {
"@odata.type": "Microsoft.Dynamics.CRM.Label",
"LocalizedLabels": [
{
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Contacts",
"LanguageCode": 1033,
"IsManaged": false
}
],
"UserLocalizedLabel": {
"@odata.type": "Microsoft.Dynamics.CRM.LocalizedLabel",
"Label": "Contacts",
"LanguageCode": 1033,
"IsManaged": false
}
},
"Order": 10000,
"ViewId": "00000000-0000-0000-0000-000000000000"
},
"Entity2LogicalName": "contact",
"IntersectEntityName": "sample_sample_BankAccounts_Contacts",
"IsCustomRelationship": false,
"IsManaged": false,
"IsValidForAdvancedFind": false,
"RelationshipType": "OneToManyRelationship",
"SchemaName": "sample_sample_BankAccounts_Contacts",
"SecurityTypes": "None"
}
Resposta:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
Saída do console:
Created Many-to-Many relationship at: RelationshipDefinitions(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
Recuperar relação N:N
Essa solicitação recupera a relação muitos para muitos criada pela solicitação anterior.
Observação
Conforme mencionado antes, como RelationshipDefinitions contém definições de relação um para muitos e muitos para muitos, você deve incluir a seguinte expressão de conversão na URL para converter no tipo que você deseja recuperar: /Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata.
Caso contrário, o valor retornado é o EntityType RelationshipMetadataBase e não inclui as propriedades específicas do EntityType ManyToManyRelationshipMetadata.
Pedir:
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)/Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata HTTP/1.1
Consistency: Strong
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#RelationshipDefinitions/Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata/$entity",
"Entity1LogicalName": "sample_bankaccount",
"Entity2LogicalName": "contact",
"IntersectEntityName": "sample_sample_bankaccounts_contacts",
"Entity1IntersectAttribute": "sample_bankaccountid",
"Entity2IntersectAttribute": "contactid",
"Entity1NavigationPropertyName": "sample_sample_BankAccounts_Contacts",
"Entity2NavigationPropertyName": "sample_sample_BankAccounts_Contacts",
"IsCustomRelationship": true,
"IsValidForAdvancedFind": false,
"SchemaName": "sample_sample_BankAccounts_Contacts",
"SecurityTypes": "None",
"IsManaged": false,
"RelationshipType": "ManyToManyRelationship",
"IntroducedVersion": "1.0.0.0",
"MetadataId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
"HasChanged": null,
"Entity1AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Order": 10000,
"IsCustomizable": true,
"Icon": null,
"ViewId": "00000000-0000-0000-0000-000000000000",
"AvailableOffline": true,
"MenuId": null,
"QueryApi": null,
"Label": {
"LocalizedLabels": [
{
"Label": "Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "271999d1-6fd9-4413-b027-f2a1b231e0a4",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "Bank Accounts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "271999d1-6fd9-4413-b027-f2a1b231e0a4",
"HasChanged": null
}
}
},
"Entity2AssociatedMenuConfiguration": {
"Behavior": "UseLabel",
"Group": "Details",
"Order": 10000,
"IsCustomizable": true,
"Icon": null,
"ViewId": "00000000-0000-0000-0000-000000000000",
"AvailableOffline": true,
"MenuId": null,
"QueryApi": null,
"Label": {
"LocalizedLabels": [
{
"Label": "Contacts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "1fcff441-9a41-42b1-a0d9-e92daa47230f",
"HasChanged": null
}
],
"UserLocalizedLabel": {
"Label": "Contacts",
"LanguageCode": 1033,
"IsManaged": false,
"MetadataId": "1fcff441-9a41-42b1-a0d9-e92daa47230f",
"HasChanged": null
}
}
},
"IsCustomizable": {
"Value": true,
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizable"
}
}
Saída do console:
Retrieved Many-to-Many relationship:sample_sample_BankAccounts_Contacts
Seção 8: Exportar solução gerenciada
Usar o ExportSolution Action para exportar a solução como uma solução gerenciada. Essa ação inclui muitos comutadores que você pode usar para incluir informações adicionais como parte da solução, mas, nesse caso, todas essas opções estão desativadas. Mais informações: Trabalhar com soluções
Pedir:
POST [Organization Uri]/api/data/v9.2/ExportSolution HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"SolutionName": "examplesolution",
"Managed": true,
"ExportAutoNumberingSettings": false,
"ExportCalendarSettings": false,
"ExportCustomizationSettings": false,
"ExportEmailTrackingSettings": false,
"ExportGeneralSettings": false,
"ExportMarketingSettings": false,
"ExportOutlookSynchronizationSettings": false,
"ExportRelationshipRoles": false,
"ExportIsvConfig": false,
"ExportSales": false,
"ExportExternalApplications": false
}
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.ExportSolutionResponse",
"ExportSolutionFile": "[ Binary content removed for brevity]"
}
Saída do console:
Solution Exported to E:\GitHub\PowerApps-Samples\dataverse\webapi\C#-NETx\MetadataOperations\bin\Debug\net6.0\examplesolution.zip
Seção 9: Excluir registros de exemplo
Referências a todos os registros criados neste exemplo foram adicionadas a uma lista. Nesta seção, todos os registros criados são excluídos usando uma $batch operação.
Pedir:
POST [Organization Uri]/api/data/v9.2/$batch HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 136
DELETE /api/data/v9.2/RelationshipDefinitions(66aa66aa-bb77-cc88-dd99-00ee00ee00ee) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 130
DELETE /api/data/v9.2/EntityDefinitions(22cc22cc-dd33-ee44-ff55-66aa66aa66aa) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 122
DELETE /api/data/v9.2/solutions(11bb11bb-cc22-dd33-ee44-55ff55ff55ff) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 123
DELETE /api/data/v9.2/publishers(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-Length: 139
DELETE /api/data/v9.2/GlobalOptionSetDefinitions(44ee44ee-ff55-aa66-bb77-88cc88cc88cc) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a--
Resposta:
HTTP/1.1 200 OK
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
OData-Version: 4.0
--batchresponse_9fa66f62-38d1-4890-91ce-4185fd556745--
Saída do console:
Deleting created records...
Seção 10: Importar e excluir solução gerenciada
Esta etapa importa a solução gerenciada exportada na Seção 8: exportar solução gerenciada usando a Ação ImportSolution.
Pedir:
POST [Organization Uri]/api/data/v9.2/ImportSolution HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json { "OverwriteUnmanagedCustomizations": false, "PublishWorkflows": false, "CustomizationFile": "[ Binary content removed for brevity]", "ImportJobId": "00000000-0000-0000-0000-000000000000" }Resposta:
HTTP/1.1 204 NoContent OData-Version: 4.0Saída do console:
Sending request to import the examplesolution solution... Solution imported as a managed solution.Obtenha a
solutionidda solução gerenciada poruniquenamepara que você possa excluí-la.Pedir:
GET [Organization Uri]/api/data/v9.2/solutions?$select=solutionid&$filter=uniquename%20eq%20'examplesolution' HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/jsonResposta:
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#solutions(solutionid)", "value": [ { "@odata.etag": "W/\"13291034\"", "solutionid": "07439497-6992-4e30-81e0-628a91984af5" } ] }
Excluir solução gerenciada
Esta etapa final exclui a solução gerenciada importada para retornar o sistema ao estado original.
Pedir:
DELETE [Organization Uri]/api/data/v9.2/solutions(07439497-6992-4e30-81e0-628a91984af5) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Resposta:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Saída do console:
Sending request to delete the examplesolution solution...
Managed solution deleted.
--Metadata Operations sample completed--
Consulte também
Utilizar a API Web do Dataverse
Usar a API Web com definições de tabela
Consultar definições de tabela usando a API Web
Criar e atualizar definições de tabela usando a API Web
Criar e atualizar relações de tabela usando a API Web
Criar e atualizar opções (conjuntos de opções) usando a API Web
Exemplo de operações de esquema de tabela de API Web (C#)