Exemple d’opérations de schéma de table de l’API web
Cette collection de requêtes et de réponses http montre comment effectuer des opérations sélectionnées qui modifient le schéma Dataverse ou les métadonnées, à l’aide de l’exemple d’opérations de schéma de table de l’API web (C#)
Cet article décrit un ensemble commun d’opérations mises en œuvre par chaque exemple de ce groupe. Cet article décrit les requêtes et réponses HTTP et la sortie de texte que chaque échantillon exécute sans les détails spécifiques à la langue. Affichez les descriptions spécifiques à la langue et les exemples individuels pour plus d’informations sur la façon dont ces opérations sont effectuées.
Montre ce qui suit
Cet exemple est composé des principales sections suivantes, qui contiennent les opérations de données de requête de l’API Web Dataverse qui sont décrites plus en détail dans les articles conceptuels associés spécifiées.
Notes
Par souci de concision, des en-têtes HTTP moins pertinents ont été omis. Les URL des enregistrements du tableau varient en fonction de l’adresse de l’organisation de base et des ID attribués par votre serveur Dataverse.
Section 0 : Créer un éditeur et une solution
Créez d’abord l’éditeur, car la solution doit lui être associée. Tous les éléments créés ou modifiés dans cet exemple utilisent les valeurs publisher
customizationprefix
etcustomizationoptionvalueprefix
.Demande :
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 }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/publishers(a78ab7fc-102a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created publisher Example Publisher
Créez ensuite la solution liée à l’éditeur.
Notes
De nombreux éléments créés ou mis à jour dans cet exemple utiliseront la valeur
uniquename
de cette solution avec l’en-tête de requêteMSCRM.SolutionUniqueName
afin que les modifications soient incluses dans le cadre de cette solution. Certaines actions ont un paramètreSolutionUniqueName
qui fait la même chose. À la fin de cet exemple, cette solution sera exportée et contiendra les définitions de tous les éléments créés et modifiés dans cet exemple.Demande :
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(a78ab7fc-102a-ed11-9db1-00224804f8e2)" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/solutions(5472b902-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created solution Example Solution
Section 1 : Créer, récupérer et mettre à jour la table
Créez la table
sample_BankAccount
.Ces propriétés sont requises :
SchemaName
,DisplayName
,DisplayCollectionName
,HasNotes
,HasActivities
etPrimaryNameAttribute
, qui doit inclure la valeurLogicalName
de la colonne Nom principal.La table doit également comprendre une colonne StringAttributeMetadata dans la collection
Attributes
collection comme étant la colonne Nom principal de la table. Cette définition de colonne doit avoir les valeursSchemaName
,MaxLength
, etDisplayName
, etIsPrimaryName
doit être défini sur vrai.Notes
L’en-tête de requête
MSCRM.SolutionUniqueName: examplesolution
associe cette table à la solution. La valeurSchemaName
(sample_BankAccount
) inclut le préfixe de personnalisation depuis l’éditeur.Demande :
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" } ] }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(5872b902-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Sending request to create the sample_BankAccount table... Created sample_BankAccount table.
Récupérez la définition de table
sample_BankAccount
.- Cette opération de récupération n’inclut aucun
$select
pour filtrer les propriétés renvoyées, car ces données sont modifiées et renvoyées pour mettre à jour la définition de table à l’aide dePUT
, ce qui écrase la valeur existante. - Cette requête n’inclut pas non plus un
$expand
pour inclure des données associées, telles que des attributs, car les données associées doivent être mises à jour séparément.
Notes
Cette requête et d’autres dans cet exemple utilisent l’en-tête
Consistency: Strong
. Utilisez cet en-tête lorsque vous récupérez des modifications de définition de métadonnées directement après les avoir appliquées. Les modifications de métadonnées sont mises en cache pour des raisons de performances et une demande pour un élément nouvellement créé peut renvoyer un 404, car il n’a pas encore été mis en cache. La mise en cache peut prendre 30 secondes. Cet en-tête forcera le serveur à lire la dernière version, y compris vos modifications. En utilisant cet en-tête, vous annulez le gain de performances fourni par la mise en cache, vous ne devez donc l’utiliser que dans des scénarios comme cet exemple où vous récupérez les modifications que vous venez d’apporter. Plus d’informations : En-têtes HTTP > Autres en-têtes.Demande :
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/json
Réponse :
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": "5872b902-112a-ed11-9db1-00224804f8e2", "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": [] }
Sortie de la console :
L’exemple affiche le JSON extrait du serveur.
- Cette opération de récupération n’inclut aucun
Mettez à jour la table
sample_BankAccount
. Les seules valeurs modifiées sontHasActivities
etDescription
, mais vous devez envoyer la définition entière avecPUT
.Demande :
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": "5872b902-112a-ed11-9db1-00224804f8e2" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')
Sortie de la console :
Sending request to update the sample_BankAccount table... Updated the Bank Account table
Section 2 : Créer, récupérer et mettre à jour des colonnes
Cette section crée et récupère un groupe sélectionné de définitions de colonne. Chacun de ces types est issu de AttributeMetadata EntityType de telle sorte qu’ils partagent donc la plupart des mêmes propriétés communes. Cependant, chaque type dérivé possède quelques propriétés particulières.
Colonne booléenne
Créer une colonne booléenne à l’aide de BooleanAttributeMetadata EntityType. Malgré leur nom, les colonnes booléennes ont une propriété
OptionSet
tout comme les colonnes de choix. Cependant, elles n’ont toujours que deux options :TrueOption
avec la valeur 1 etFalseOption
avec la valeur 0.Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(73f33b3d-112a-ed11-9db1-00224804f8e2)
Récupérez la colonne booléenne comprenant
$expand=OptionSet
afin que les options puissent être récupérées.Notes
L’URL de cette requête comprend
/Microsoft.Dynamics.CRM.BooleanAttributeMetadata
qui effectue une opération de conversion requise pour renvoyer toute propriété qui n’est pas définie dans le AttributeMetadata EntityType. À défaut, l’expansionOptionSet
n’est pas possible.Demande :
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/json
Réponse :
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": "73f33b3d-112a-ed11-9db1-00224804f8e2", "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 } } } }
Sortie de la console :
Original Option Labels: True Option Label:'True' Value: 1 False Option Label:'False' Value: 0
Mettez à jour la colonne booléenne. Les seuls changements concernent les propriétés
DisplayName
,Description
etRequiredLevel
, mais la définition entière est incluse, car la valeurPUT
est utilisée.Notes
Même si la propriété
OptionSet
est incluse dans cette charge utile, toute modification des options ne sera pas appliquée, car elles ne sont pas considérées comme faisant partie de la définition de la colonne. Elles doivent être mises à jour séparément et cet exemple vous montrera comment procéder dans les étapes suivantes.Demande :
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": "73f33b3d-112a-ed11-9db1-00224804f8e2" }
Réponse :
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')
Sortie de la console :
Updated Boolean Column properties
Valeurs des options de mise à jour
Mettez à jour chacune des options booléennes à l’aide de UpdateOptionValue Action.
Notes
Ici, nous appliquons des modifications aux options d’un attribut booléen, mais vous utiliserez UpdateOptionValue
pour les options dans n’importe quel type de colonne qui les utilise, sauf les colonnes status
, où vous devez utiliser l’action UpdateStateValue Action.
Modifiez l’étiquette de la valeur
TrueOption
sur ’Up’.Demande :
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 }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0
Modifiez l’étiquette de la valeur
FalseOption
sur ’Down’.Demande :
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 }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0
Sortie de la console :
Updated option labels
Récupérez les valeurs d’option modifiées pour la colonne booléenne à l’aide de la même requête qu’auparavant :
Sortie de la console :
Updated Option Labels: Updated True Option Label:'Up' Value: 1 Updated False Option Label:'Down' Value: 0
Colonne DateHeure
Créer une colonne DateHeure avec DateTimeAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(f1db3d43-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created DateTime column with id:f1db3d43-112a-ed11-9db1-00224804f8e2
Récupérez les valeurs sélectionnées de la colonne DateHeure.
Demande :
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/json
Réponse :
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": "f1db3d43-112a-ed11-9db1-00224804f8e2", "DateTimeBehavior": { "Value": "DateOnly" } }
Sortie de la console :
Retrieved Datetime column properties: DateTime Format:'DateOnly' DateTime DateTimeBehavior:'DateOnly'
Colonne Décimal
Créer une colonne Décimal à l’aide de DecimalAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(f2db3d43-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Decimal column with id:f2db3d43-112a-ed11-9db1-00224804f8e2
Récupérez les valeurs sélectionnées de la colonne Décimal.
Demande :
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/json
Réponse :
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": "f2db3d43-112a-ed11-9db1-00224804f8e2" }
Sortie de la console :
Retrieved Decimal column properties: Decimal MaxValue:100 Decimal MinValue:0 Decimal Precision:1
Colonne Entier
Créez une colonne Entier à l’aide de IntegerAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(f5db3d43-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Integer column with id:f5db3d43-112a-ed11-9db1-00224804f8e2
Récupérez les valeurs sélectionnées de la colonne Entier.
Demande :
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/json
Réponse :
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": "f5db3d43-112a-ed11-9db1-00224804f8e2" }
Sortie de la console :
Retrieved Integer column properties: Integer MaxValue:100 Integer MinValue:0 Integer Format:None
Colonne Mémo
Créer une colonne Mémo à l’aide de MemoAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(f6db3d43-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Memo column with id:f6db3d43-112a-ed11-9db1-00224804f8e2
Récupérez les valeurs sélectionnées de la colonne Mémo.
Demande :
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/json
Réponse :
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": "f6db3d43-112a-ed11-9db1-00224804f8e2" }
Sortie de la console :
Retrieved Memo column properties: Memo Format:TextArea Memo ImeMode:Disabled Memo MaxLength:500
Colonne Devise
Créer une colonne Devise avec MoneyAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(fddb3d43-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Money column with id:fddb3d43-112a-ed11-9db1-00224804f8e2
Récupérez les valeurs sélectionnées de la colonne Devise.
Demande :
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/json
Réponse :
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": "fddb3d43-112a-ed11-9db1-00224804f8e2" }
Sortie de la console :
Retrieved Money column properties: Money MaxValue:1000 Money MinValue:0 Money Precision:1 Money PrecisionSource:1 Money ImeMode:Disabled
Colonne Liste de choix
Créer une colonne Choix (liste de choix) à l’aide de PicklistAttributeMetadata EntityType avec un groupe d’options local.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(4a154e49-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Choice column with id:4a154e49-112a-ed11-9db1-00224804f8e2
Récupérez les options de la colonne de choix à l’aide de
$select=SchemaName&$expand=OptionSet
.Demande :
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/json
Réponse :
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": "4a154e49-112a-ed11-9db1-00224804f8e2", "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 } } ] } }
Sortie de la 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
Ajouter une option au groupe d’options local
Ajoutez une option à la colonne Choix à l’aide de InsertOptionValue Action.
Notes
InsertOptionValue
et les actions suivantes pour utiliser les options a un paramètreSolutionUniqueName
pour que vous définissiez le nom unique de la solution plutôt que d’utiliser l’en-tête de requêteMSCRM.SolutionUniqueName
.Demande :
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" }
Réponse :
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertOptionValueResponse", "NewOptionValue": 727000005 }
Sortie de la console :
Added new option with label 'Echo'
Récupérez à nouveau les options de la colonne Choix en utilisant la même requête qu’auparavant :
Sortie de la 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
Réorganiser le choix des options de colonne
Réorganisez les options de la colonne Choix avec l’action OrderOption Action.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0
Sortie de la console :
Options re-ordered.
Récupérez à nouveau les options de la colonne Choix en utilisant la même requête qu’auparavant pour voir les options dans le nouvel ordre.
Sortie de la 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
Supprimer la valeur de l’option locale
Supprimez une option avec l’action DeleteOptionValue Action.
Demande :
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 }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0
Sortie de la console :
Deleting a local option value... Local OptionSet option value deleted.
Colonne de liste à sélection multiple
Créez une colonne Choix à sélection multiple à l’aide de MultiSelectPicklistAttributeMetadata EntityType.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(2c1c3050-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Creating a MultiSelect Choice column... Created MultiSelect Choice column with id:2c1c3050-112a-ed11-9db1-00224804f8e2
Récupérez les options de la colonne de choix multiple à l’aide de
GET EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_multiselectchoice')/Microsoft.Dynamics.CRM.MultiSelectPicklistAttributeMetadata?$select=SchemaName&$expand=OptionSet
.Sortie de la console :
The option values for the multi-select choice column: Value: 727000000, Label:Appetizer Value: 727000001, Label:Entree Value: 727000002, Label:Dessert
Insérer une valeur de statut
Utilisez InsertStatusValue Action pour ajouter une nouvelle option à une colonne statuscode
. Vous devez spécifier pour quel StateCode
il est valide.
Notes
Notez que la valeur renvoyée s’applique automatiquement à la valeur customizationoptionvalueprefix
de l’éditeur (72700).
Demande :
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"
}
Réponse :
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertStatusValueResponse",
"NewOptionValue": 727000000
}
Sortie de la console :
Created new Status value:727000000
Section 3 : Créer et utiliser un groupe d’options global
Créez un choix global (optionset). Ce groupe d’options est nommé
sample_colors
et contient des options pour le rouge, le jaune et le vert.Notes
La demande spécifie les valeurs d’option à l’aide de l’éditeur
customizationoptionvalueprefix
.Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(7cfd8c56-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created a new global option set with id:7cfd8c56-112a-ed11-9db1-00224804f8e2
Récupérez les options de choix global.
Demande :
GET [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(7cfd8c56-112a-ed11-9db1-00224804f8e2)/Microsoft.Dynamics.CRM.OptionSetMetadata HTTP/1.1 Consistency: Strong OData-MaxVersion: 4.0 OData-Version: 4.0 If-None-Match: null Accept: application/json
Réponse :
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": "7cfd8c56-112a-ed11-9db1-00224804f8e2", "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" } }
Sortie de la console :
List the retrieved options for the colors global option set: Value: 727000000 Label:Red Value: 727000001 Label:Yellow Value: 727000002 Label:Green
Créez une colonne de choix qui utilise le groupe d’options global. Associez la définition de colonne au groupe d’options global en utilisant :
"GlobalOptionSet@odata.bind": "/GlobalOptionSetDefinitions(7cfd8c56-112a-ed11-9db1-00224804f8e2)"
.Demande :
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(7cfd8c56-112a-ed11-9db1-00224804f8e2)", "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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0 OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(81fd8c56-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Choice column with id:81fd8c56-112a-ed11-9db1-00224804f8e2 using colors global optionset.
Section 4 : Créer une relation client
Utilisez l’action CreateCustomerRelationships Action pour créer une relation client. Cette action ajoute une colonne de recherche pour la table
sample_BankAccount
qui permet de définir un enregistrementaccount
oucontact
.CreateCustomerRelationships
a un paramètreLookup
ComplexLookupAttributeMetadata ComplexType et un paramètreOneToManyRelationships
contenant une paire de relations définis avec ComplexOneToManyRelationshipMetadata ComplexType.Demande :
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" }
Réponse :
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" }
Utilisez la méthode CreateCustomerRelationshipsResponse.
AttributeId
pour récupérer la propriétéTargets
de la colonne de recherche pour la relation client.Demande :
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/json
Réponse :
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" }
Sortie de la console :
The Target values of the Lookup column created: account contact
Utilisez la méthode CreateCustomerRelationshipsResponse.
RelationshipIds
pour récupérer les relations pour la colonne Client.Tout d’abord pour la relation à
account
:Demande :
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/json
Réponse :
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" } }
Puis pour la relation à
contact
:Demande :
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/json
Réponse :
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" } }
Sortie de la console :
The Schema Names of the relationships created: sample_BankAccount_Customer_Account sample_BankAccount_Customer_Contact
Section 5 : Créer et récupérer une relation un-à-plusieurs
Avant de créer une relation à l’aide de code, vous devez confirmer que la relation est valide. Les concepteurs dans Power Apps utilisent des fonctions spéciales pour vous montrer quelles combinaisons sont valides. Vous pouvez utiliser les mêmes fonctions dans votre code pour détecter si une relation particulière peut être créée ou non.
Valider l’éligibilité de la relation 1 à N
CanBeReferenced Function vous indique si une table peut être la table principale (une) dans une relation un-à-plusieurs.
Demande :
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" }
Réponse :
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencedResponse", "CanBeReferenced": true }
Sortie de la console :
The sample_BankAccount table is eligible to be a primary table in a one-to-many relationship.
CanBeReferencing Function vous indique si une table peut être la table de référencement (plusieurs) dans une relation un-à-plusieurs. La table de référence est la table à laquelle une colonne de recherche a été ajoutée pour être le « plusieurs » dans la relation un-à-plusieurs.
Demande :
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" }
Réponse :
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencingResponse", "CanBeReferencing": true }
Sortie de la console :
The contact table is eligible to be a related table in a one-to-many relationship.
Identifier les entités de référencement potentielles
Dans le contexte d’une table spécifique qui peut être la table principale dans une relation un-à-plusieurs, utilisez la fonction GetValidReferencingEntities Function pour identifier quelles autres tables peuvent lui être liées.
Demande :
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
Réponse :
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"
]
}
Sortie de la console :
The contact table is in the list of potential referencing entities for sample_BankAccount.
Créer une relation 1 à N
La requête suivante crée une relation un-à-plusieurs entre sample_BankAccount
et les tables de contacts avec une colonne de recherche ajoutée à la table contact
.
Demande :
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"
}
Réponse :
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(991efd5f-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Creating a one-to-many relationship...
Created one-to-many relationship: RelationshipDefinitions(991efd5f-112a-ed11-9db1-00224804f8e2)
Récupérer la relation 1 à N
La requête suivante récupère la relation créée par la requête précédente.
Notes
Parce que RelationshipDefinitions
contient à la fois des définitions de relations un-à-plusieurs et plusieurs-à-plusieurs, vous devez inclure les éléments suivants dans l’URL pour effectuer une conversion vers le type que vous souhaitez récupérer : /Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata
.
Sinon, la valeur renvoyée sera le RelationshipMetadataBase EntityType et n’inclura pas les propriétés spécifiques au OneToManyRelationshipMetadata EntityType.
Demande :
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(991efd5f-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/json
Réponse :
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": "991efd5f-112a-ed11-9db1-00224804f8e2",
"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"
}
}
Sortie de la console :
Retrieved relationship: sample_BankAccount_Contacts
Section 6 : Créer et récupérer une relation plusieurs à un
Une relation plusieurs-à-un est simplement une relation un-à-plusieurs vue depuis l’autre direction. Les exemples suivants créent une colonne de recherche nommée sample_relatedaccountid
sur la table sample_BankAccount
référençant une ligne dans la table account
.
Créer une relation N à 1
Demande :
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"
}
Réponse :
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(0901c466-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created many-to-one relationship: RelationshipDefinitions(0901c466-112a-ed11-9db1-00224804f8e2)
Récupérer la relation N à 1
Demande :
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(0901c466-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/json
Réponse :
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": "0901c466-112a-ed11-9db1-00224804f8e2",
"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"
}
}
Sortie de la console :
Retrieved relationship: sample_Account_BankAccounts
Section 7 : Créer et récupérer une relation plusieurs à plusieurs
À l’instar d’une relation un-à-plusieurs, il existe des fonctions spéciales utilisées par les concepteurs pour Power Apps empêcher les combinaisons invalides lors de la création de relations plusieurs-à-plusieurs.
Valider l’éligibilité de la relation N à N
CanManyToMany Function vous indique si une table peut participer à une relation plusieurs à plusieurs. Cette requête teste donc la table
contact
.Demande :
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" }
Réponse :
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse", "CanManyToMany": true }
Sortie de la console :
The contact table can participate in many-to-many relationships.
Cette requête effectue le même test sur la table
sample_bankaccount
.Demande :
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" }
Réponse :
HTTP/1.1 200 OK OData-Version: 4.0 { "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse", "CanManyToMany": true }
Sortie de la console :
The sample_bankaccount table can participate in many-to-many relationships.
Identifier les entités potentielles pour les relations N à N
Utilisez GetValidManyToMany Function pour obtenir une liste des tables qui peuvent participer aux relations plusieurs à plusieurs.
Demande :
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
Réponse :
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"
]
}
Sortie de la console :
Contact is in the list of potential tables for N:N.
sample_BankAccount is in the list of potential tables for N:N.
Créer une relation N à N
Cette requête crée une relation plusieurs à plusieurs entre les tables sample_BankAccount
et Contact
.
Demande :
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"
}
Réponse :
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(55c9f86c-112a-ed11-9db1-00224804f8e2)
Sortie de la console :
Created Many-to-Many relationship at: RelationshipDefinitions(55c9f86c-112a-ed11-9db1-00224804f8e2)
Récupérer la relation N à N
Cette requête récupère les relations plusieurs à plusieurs créées par la requête précédente.
Notes
Comme précisé ci-dessus, parce que RelationshipDefinitions
contient à la fois des définitions de relations un-à-plusieurs et plusieurs-à-plusieurs, vous devez inclure les éléments suivants dans l’URL pour effectuer une conversion vers le type que vous souhaitez récupérer : /Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata
.
Sinon, la valeur renvoyée sera le RelationshipMetadataBase EntityType et n’inclura pas les propriétés spécifiques au ManyToManyRelationshipMetadata EntityType.
Demande :
GET [Organization Uri]/api/data/v9.2/RelationshipDefinitions(55c9f86c-112a-ed11-9db1-00224804f8e2)/Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata HTTP/1.1
Consistency: Strong
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Réponse :
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": "55c9f86c-112a-ed11-9db1-00224804f8e2",
"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"
}
}
Sortie de la console :
Retrieved Many-to-Many relationship:sample_sample_BankAccounts_Contacts
Section 8 : Exporter la solution comme gérée
Utilisez ExportSolution Action pour exporter la solution gérée. Cette action comprend de nombreux commutateurs que vous pouvez utiliser pour inclure des informations supplémentaires dans le cadre de la solution, mais dans ce cas, toutes ces options sont désactivées. Pour plus d’informations, voir Utiliser des solutions
Demande :
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
}
Réponse :
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]"
}
Sortie de la console :
Solution Exported to E:\GitHub\PowerApps-Samples\dataverse\webapi\C#-NETx\MetadataOperations\bin\Debug\net6.0\examplesolution.zip
Section 9 : Supprimer des exemples d’enregistrements
Les références à tous les enregistrements créés dans cet exemple ont été ajoutées à une liste. Dans cette section, tous les enregistrements créés sont supprimés à l’aide d’une opération $batch
.
Demande :
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(991efd5f-112a-ed11-9db1-00224804f8e2) 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(5872b902-112a-ed11-9db1-00224804f8e2) 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(5472b902-112a-ed11-9db1-00224804f8e2) 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(a78ab7fc-102a-ed11-9db1-00224804f8e2) 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(7cfd8c56-112a-ed11-9db1-00224804f8e2) HTTP/1.1
--batch_d6cb9873-6b53-490d-942d-0bea79b8ba9a--
Réponse :
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--
Sortie de la console :
Deleting created records...
Section 10 : Importer et supprimer la solution gérée
Cette étape importe la solution gérée exportée dans Section 8 : Exporter la solution gérée en utilisant l’ImportSolution Action.
Demande :
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" }
Réponse :
HTTP/1.1 204 NoContent OData-Version: 4.0
Sortie de la console :
Sending request to import the examplesolution solution... Solution imported as a managed solution.
Obtenez l’
solutionid
de la solution gérée paruniquename
afin que vous puissiez la supprimer.Demande :
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/json
Réponse :
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" } ] }
Supprimer une solution gérée
Cette dernière étape supprime le solution gérée importée pour ramener le système à son état d’origine.
Demande :
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
Réponse :
HTTP/1.1 204 NoContent
OData-Version: 4.0
Sortie de la console :
Sending request to delete the examplesolution solution...
Managed solution deleted.
--Metadata Operations sample completed--
Voir aussi
Utilisation de l’API web Dataverse
Utiliser l’API web avec les définitions de table
Requête des définitions de table à l′aide de l′API Web
Créer et mettre à jour les définitions de table à l’aide de l’API web
Créer et mettre à jour les relations de table à l’aide de l’API web
Créer et mettre à jour les options (groupes d’options) à l’aide de l’API web
Exemple d’opérations de schéma de table de l’API web (C#)
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).