Web API テーブル スキーマ操作サンプル

この HTTP 要求と応答のコレクションでは、Web API テーブル スキーマ操作サンプル (C#) を使用して、 Dataverse スキーマまたはメタデータを変更する選択された操作を実行する方法を示す

この記事では、このグループの各サンプルによって実装される共通の一連の操作について説明します。 この記事では、各サンプルが言語固有の詳細なしで実行する HTTP 要求と応答およびテキスト出力について説明します。 これらの操作を実行する方法に関する詳細については、言語特有の説明および個別のサンプルを参照してください。

説明

このサンプルは次のセクションに分かれています。それには指定した関連する概念的な記事でより詳しく説明される Dataverse Web API 処理が含まれます。

コード セクション 関連する概念的な記事とリファレンス記事
セクション 0: 発行者とソリューションを作成する テーブル行を作成する
publisher EntityType
soluion EntityType
セクション 1: テーブルの作成、取得、更新 テーブル定義の作成と更新
EntityMetadata EntityType
セクション 2: 列の作成、取得、更新
- ブール型の列
   - オプション値の更新
- DateTime 列
- 小数列
- 整数列
- メモ列
- 金額列
- 候補リスト列
   - ローカル optionset にオプションを追加
   - 選択肢列オプションの順序変更
   - ローカル オプション値の削除
- 複数選択候補リスト列
- ステータス値の挿入
列を作成する
属性の取得
InsertOptionValue アクション
OrderOption アクション
DeleteOptionValue アクション
InsertStatusValue アクション
セクション 3: グローバル OptionSet の作成および使用 選択肢 (オプション セット) の作成と更新
セクション 4: 顧客リレーションシップの作成 CreateCustomerRelationships Action
セクション 5: 一対多の関連付けの作成と取得 関連性の有効性
一対多の関連性を作成する
関連付けのメタデータのクエリ
セクション 6: 多対一の関連付けの作成と取得 一対多の関連性を作成する
関連付けのメタデータのクエリ
セクション 7: 多対多の関連付けの作成と取得 多対多の関連性を作成する
関連付けのメタデータのクエリ
セクション 8: 管理ソリューションのエクスポート ソリューションのエクスポート
セクション 9: サンプル レコードを削除する 基本的な削除
セクション10: 管理ソリューションのインポートと削除 ソリューションのインポート

注意

簡潔にするために、関連の少ない HTTP ヘッダーは省略されています。 レコードの URL は、基本組織のアドレスと、Dataverse サーバーによって設定された ID によって異なります。

セクション 0: 発行者とソリューションを作成

  1. ソリューションが関連している必要があるため、最初に発行者を作成します。 このサンプルで作成または変更されたすべてのアイテムは、発行者 customizationprefixcustomizationoptionvalueprefix の値を使用します。

    要求:

    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
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/publishers(a78ab7fc-102a-ed11-9db1-00224804f8e2)
    

    コンソール出力

    Created publisher Example Publisher
    
  2. 次に、発行者に関連するソリューションを作成します。

    注意

    is sample で作成または更新されたアイテムの多くは、このソリューションの uniquename 値を MSCRM.SolutionUniqueName 要求ヘッダーと共に使用して、このソリューションの一部として変更が含まれるようにします。 一部のアクションには同じことを行う SolutionUniqueName パラメーターがあります。 このサンプルの最後に、このソリューションがエクスポートされ、このサンプルで作成および変更されたすべてのアイテムの定義が含まれます。

    要求:

    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)"
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/solutions(5472b902-112a-ed11-9db1-00224804f8e2)
    

    コンソール出力

    Created solution Example Solution
    

セクション 1: テーブルの作成、取得、更新

  1. sample_BankAccount テーブルを作成します。

    次のプロパティが必要です: SchemaNameDisplayNameDisplayCollectionNameHasNotesHasActivitiesPrimaryNameAttribute。プライマリ名列の LogicalName 値を含める必要があります。

    また、テーブルのプライマリ名列となる StringAttributeMetadata 列を Attributes コレクションに 1 つ含める必要があります。 その列定義には SchemaNameMaxLengthDisplayName の値を持ち、IsPrimaryName は true に設定する必要があります。

    注意

    MSCRM.SolutionUniqueName: examplesolution 要求ヘッダーは、このテーブルをソリューションに関連付けます。 SchemaName 値 (sample_BankAccount) には、発行者からのカスタマイズ接頭辞が含まれます。

    要求:

    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"
       }
    ]
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(5872b902-112a-ed11-9db1-00224804f8e2)
    

    コンソール出力

    Sending request to create the sample_BankAccount table...
    Created sample_BankAccount table.
    
  2. sample_BankAccount テーブル定義を取得します。

    • この取得操作には、返されたプロパティをフィルターする $select が含まれていません。これは、このデータが変更され、PUT を使用してテーブル定義を更新するために送り返され、既存の値が上書きされるためです。
    • 関連データは個別に更新する必要があるため、このクエリには属性などの関連データを含める $expand も含まれていません。

    注意

    この要求とこのサンプルの他の要求では、Consistency: Strong ヘッダーを使用します。 メタデータ定義の変更を適用した直後に取得する場合は、このヘッダーを使用します。 メタデータの変更はパフォーマンス上の理由からキャッシュされ、新しく作成されたアイテムの要求は、まだキャッシュされていないため、404 を返す場合があります。 キャッシュには 30 秒かかる場合があります。 このヘッダーは、変更を含む最新バージョンをサーバーに強制的に読み取ります。 このヘッダーを使用すると、キャッシュが提供するパフォーマンスの向上が否定されるため、このサンプルのように、行ったばかりの変更を取得するシナリオでのみ使用する必要があります。 詳細: HTTP ヘッダー > その他のヘッダー

    要求:

    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
    

    応答:

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

    コンソール出力

    サンプルは、サーバーから取得した JSON を表示します。

  3. sample_BankAccount テーブルを更新します。 変更される唯一の値は HasActivitiesDescription ですが、定義全体を PUT で送信する必要があります。

    要求:

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

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/EntityDefinitions(LogicalName='sample_bankaccount')
    

    コンソール出力

    Sending request to update the sample_BankAccount table...
    Updated the Bank Account table
    

セクション 2: 列の作成、取得、更新

このセクションでは、選択した列定義のグループを作成および取得します。 これらの各型は、AttributeMetadata EntityType から派生しているため、同じ共通プロパティのほとんどを共有しています。 ただし、各派生型にはいくつかの特殊なプロパティがあります。

ブール型の列

  1. BooleanAttributeMetadata EntityType を使用してブール型の列を作成します。 名前にもかかわらず、ブール型の列には選択列と同様に OptionSet プロパティがあります。 ただし、常に次の 2 つのオプションしかありません: 値 1 の TrueOption と値 0 の FalseOption

    要求:

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

    応答:

    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)
    
  2. $expand=OptionSet を含むブール型の列を取得し、オプションを取得できるようにします。

    注意

    この要求の URL には、AttributeMetadata EntityType 内で定義されていないプロパティを返すために必要なキャスト演算を実行する /Microsoft.Dynamics.CRM.BooleanAttributeMetadata が含まれます。 これがないと、OptionSet 展開はできません。

    要求:

    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
    

    応答:

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

    コンソール出力

    Original Option Labels:
    True Option Label:'True' Value: 1
    False Option Label:'False' Value: 0
    
  3. ブール型の列を更新します。 唯一の変更点は、DisplayNameDescriptionRequiredLevel のプロパティですが、PUT が使用されているため、定義全体が含まれています。

    注意

    OptionSet プロパティがこのペイロードに含まれていても、オプションへの変更は列定義の一部と見なされないため、適用されません。 これらは個別に更新する必要があり、このサンプルでは、次の手順でその方法を示します。

    要求:

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

    応答:

    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')
    

    コンソール出力

    Updated Boolean Column properties
    

オプション値の更新

UpdateOptionValue Action を使用して各ブール値オプションを更新します。

注意

ここではブール値属性のオプションに変更を適用しますが、UpdateStateValue Action を使用する必要がある status 列を除き、それらを使用する任意のタイプの列のオプションには UpdateOptionValue を使用します。

  1. TrueOption 値ラベルを 'Up' に変更します。

    要求:

    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
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. FalseOption 値ラベルを 'Down' に変更します。

    要求:

    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
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力

    Updated option labels
    
  3. 前と同じクエリを使用して、ブール型の列の変更されたオプション値を取得します。

    コンソール出力

    Updated Option Labels:
    Updated True Option Label:'Up' Value: 1
    Updated False Option Label:'Down' Value: 0
    

DateTime 列

  1. DateTimeAttributeMetadata EntityType を使用して DateTime 列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created DateTime column with id:f1db3d43-112a-ed11-9db1-00224804f8e2
    
  2. DateTime 列の選択した値を取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    Retrieved Datetime column properties:
          DateTime Format:'DateOnly'
          DateTime DateTimeBehavior:'DateOnly'
    

小数列

  1. DecimalAttributeMetadata EntityType を使用して小数列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Decimal column with id:f2db3d43-112a-ed11-9db1-00224804f8e2
    
  2. 小数列の選択した値を取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    Retrieved Decimal column properties:
    Decimal MaxValue:100
    Decimal MinValue:0
    Decimal Precision:1
    

整数列

  1. IntegerAttributeMetadata EntityType を使用して整数列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Integer column with id:f5db3d43-112a-ed11-9db1-00224804f8e2
    
  2. 整数列の選択した値を取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    Retrieved Integer column properties:
    Integer MaxValue:100
    Integer MinValue:0
    Integer Format:None
    

メモ列

  1. MemoAttributeMetadata EntityType を使用してメモ列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Memo column with id:f6db3d43-112a-ed11-9db1-00224804f8e2
    
  2. メモ列の選択した値を取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    Retrieved Memo column properties:
    Memo Format:TextArea
    Memo ImeMode:Disabled
    Memo MaxLength:500
    

金額列

  1. MoneyAttributeMetadata EntityType を使用して金額列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Money column with id:fddb3d43-112a-ed11-9db1-00224804f8e2
    
  2. 金額列の選択した値を取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    Retrieved Money column properties:
    Money MaxValue:1000
    Money MinValue:0
    Money Precision:1
    Money PrecisionSource:1
    Money ImeMode:Disabled
    

候補リスト列

  1. ローカル オプションが設定された PicklistAttributeMetadata EntityType を使用して選択肢 (選択リスト) 列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Choice column with id:4a154e49-112a-ed11-9db1-00224804f8e2
    
  2. $select=SchemaName&$expand=OptionSet を使用して選択肢列のオプションを取得します。

    要求:

    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
    

    応答:

    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
          }
          }
       ]
    }
    }
    

    コンソール出力

    Retrieved Choice column options:
         Value:727000000 Label:Bravo
         Value:727000001 Label:Delta
         Value:727000002 Label:Alpha
         Value:727000003 Label:Charlie
         Value:727000004 Label:Foxtrot
    

ローカル optionset にオプションを追加

  1. InsertOptionValue Action を使用して選択肢列にオプションを追加します。

    注意

    InsertOptionValue およびオプションを操作する次のアクションには、MSCRM.SolutionUniqueName 要求ヘッダーを使用するのではなく、ソリューションの一意の名前を設定するための SolutionUniqueName パラメーターがあります。

    要求:

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

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
    "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertOptionValueResponse",
    "NewOptionValue": 727000005
    }
    

    コンソール出力

    Added new option with label 'Echo'
    
  2. 前と同じクエリを使用して、選択肢列のオプションを再度取得します。

    コンソール出力

    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
    

選択肢列オプションの順序変更

  1. OrderOption Action を使用して選択肢列の順序を変更します。

    要求:

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

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力

    Options re-ordered.
    
  2. 前と同じクエリを使用して選択肢列のオプションを再度取得し、オプションを新しい順序で表示します。

    コンソール出力

    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
    

ローカル オプション値の削除

  1. DeleteOptionValue Action を使用してオプションを削除します。

    要求:

    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
    }
    

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力

    Deleting a local option value...
    Local OptionSet option value deleted.
    

複数選択候補リスト列

  1. MultiSelectPicklistAttributeMetadata EntityType を使用して複数選択の選択肢列を作成します。

    要求:

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

    応答:

    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)
    

    コンソール出力

    Creating a MultiSelect Choice column...
    Created MultiSelect Choice column with id:2c1c3050-112a-ed11-9db1-00224804f8e2
    
  2. GET EntityDefinitions(LogicalName='sample_bankaccount')/Attributes(LogicalName='sample_multiselectchoice')/Microsoft.Dynamics.CRM.MultiSelectPicklistAttributeMetadata?$select=SchemaName&$expand=OptionSet を使用して複数選択の選択肢列オプションを取得します

    コンソール出力

    The option values for the multi-select choice column:
          Value: 727000000, Label:Appetizer
          Value: 727000001, Label:Entree
          Value: 727000002, Label:Dessert
    

ステータス値の挿入

InsertStatusValue Action を使用して、新しいオプションを statuscode 列に追加します。 どの StateCode が有効かを指定する必要があります。

注意

返された値には、発行者の customizationoptionvalueprefix 値 (72700) が自動的に適用されることに注意してください。

要求:

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

応答:

HTTP/1.1 200 OK
OData-Version: 4.0

{
  "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.InsertStatusValueResponse",
  "NewOptionValue": 727000000
}

コンソール出力

Created new Status value:727000000

セクション 3: グローバル OptionSet の作成および使用

  1. グローバル選択肢 (optionset) を作成します。 この optionset の名前は sample_colors で、赤、黄、緑のオプションが含まれています。

    注意

    要求は、発行者 customizationoptionvalueprefix を使用してオプション値を指定します。

    要求:

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

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/GlobalOptionSetDefinitions(7cfd8c56-112a-ed11-9db1-00224804f8e2)
    

    コンソール出力

    Created a new global option set with id:7cfd8c56-112a-ed11-9db1-00224804f8e2
    
  2. グローバル選択肢オプションを取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    List the retrieved options for the colors global option set:
    Value: 727000000 Label:Red
    Value: 727000001 Label:Yellow
    Value: 727000002 Label:Green
    
  3. グローバルな optionset を使用する選択肢列を作成します。 以下を使用して、列定義をグローバル optionset に関連付けます: "GlobalOptionSet@odata.bind": "/GlobalOptionSetDefinitions(7cfd8c56-112a-ed11-9db1-00224804f8e2)"

    要求:

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

    応答:

    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)
    

    コンソール出力

    Created Choice column with id:81fd8c56-112a-ed11-9db1-00224804f8e2 using colors global optionset.
    

セクション 4: 顧客リレーションシップの作成

  1. CreateCustomerRelationships Action を選択して、顧客リレーションシップを作成します。 このアクションにより、sample_BankAccount テーブルの検索列が追加され、account または contact レコードを設定できるようになります。

    CreateCustomerRelationships には、Lookup ComplexLookupAttributeMetadata ComplexType パラメーターと、ComplexOneToManyRelationshipMetadata ComplexType を使用して定義されたリレーションシップのペアを含む OneToManyRelationships パラメーターがあります。

    要求:

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

    応答:

    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"
    }
    
  2. CreateCustomerRelationshipsResponse.AttributeId 値を使用して、顧客リレーションシップの検索列 Targets プロパティを取得します。

    要求:

    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
    

    応答:

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

    コンソール出力

    The Target values of the Lookup column created:
          account
          contact
    
  3. CreateCustomerRelationshipsResponse.RelationshipIds 値を使用して、顧客列のリレーションシップを取得します。

    最初に、account とのリレーションシップについて:

    要求:

    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
    

    応答:

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

    次に、contact とのリレーションシップについて:

    要求:

    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
    

    応答:

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

    コンソール出力

    The Schema Names of the relationships created:
          sample_BankAccount_Customer_Account
          sample_BankAccount_Customer_Contact
    

セクション 5: 一対多の関連付けの作成と取得

コードを使用して関連付けを作成する前に、関連付けが有効であることを確認する必要があります。 Power Apps のデザイナーは、特殊な関数を使用して、有効な組み合わせを表示します。 コードで同じ関数を使用して、特定のリレーションシップを作成できるかどうかを検出できます。

1:N の関連付けの有効性の検証

  1. CanBeReferenced Function は、テーブルが一対多の関連付けでプライマリ テーブル (一) であるかどうかを表示します。

    要求:

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

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
    "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencedResponse",
    "CanBeReferenced": true
    }
    

    コンソール出力

    The sample_BankAccount table is eligible to be a primary table in a one-to-many relationship.
    
  2. CanBeReferencing Function は、テーブルが一対多の関連付けで参照テーブルであるかどうかを表示します。 参照テーブルは、一対多の関連付けの「多」となるように検索列が追加されたテーブルです。

    要求:

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

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
    "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanBeReferencingResponse",
    "CanBeReferencing": true
    }
    

    コンソール出力

    The contact table is eligible to be a related table in a one-to-many relationship.
    

潜在的な参照エンティティの特定

一対多の関連付けでプライマリ テーブルになる可能性がある特定のテーブルのコンテキストでは、GetValidReferencingEntities Function を使用してそれに関連する可能性のある他のテーブルを特定します。

要求:

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

応答:

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"
  ]
}

コンソール出力

The contact table is in the list of potential referencing entities for sample_BankAccount.

1:N の関連付けの作成

次のリクエストは、sample_BankAccount テーブルと連絡先テーブルの間に一対多の関連付けを作成し、contact テーブルに検索列を追加します。

要求:

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

応答:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(991efd5f-112a-ed11-9db1-00224804f8e2)

コンソール出力

Creating a one-to-many relationship...
Created one-to-many relationship: RelationshipDefinitions(991efd5f-112a-ed11-9db1-00224804f8e2)

1:N の関連付けの取得

次のリクエストは、前のリクエストによって作成された関連付けを取得します。

注意

RelationshipDefinitions には一対多と多対多の両方の関連付け定義が含まれているため、取得するタイプにキャストするには、URL に以下を含める必要があります: /Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata。 それ以外は、返される値は RelationshipMetadataBase EntityType で、OneToManyRelationshipMetadata EntityType に固有のプロパティは含まれません。

要求:

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

応答:

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

コンソール出力

Retrieved relationship: sample_BankAccount_Contacts

セクション 6: 多対一の関連付けの作成と取得

多対一の関連付けは、反対方向から見た一対多の関連付けです。 次の例では、account テーブルの行を参照する sample_BankAccount テーブルに sample_relatedaccountid という名前の検索列を作成します。

N:1 の関連付けの作成

要求:

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

応答:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(0901c466-112a-ed11-9db1-00224804f8e2)

コンソール出力

Created many-to-one relationship: RelationshipDefinitions(0901c466-112a-ed11-9db1-00224804f8e2)

N:1 の関連付けの取得

要求:

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

応答:

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

コンソール出力

Retrieved relationship: sample_Account_BankAccounts

セクション 7: 多対多の関連付けの作成と取得

一対多の関連付けと同様、多対多の関連付けを作成するときに Power Apps で無効な組み合わせを防ぐために設計者が使用する特別な関数があります。

N:N の関連付けの有効性の検証

  1. CanManyToMany Function は、テーブルが多対多の関連付けに関与できるかどうかを表示します。 したがって、このリクエストは contact テーブルをテストします。

    要求:

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

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
    "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse",
    "CanManyToMany": true
    }
    

    コンソール出力

    The contact table can participate in many-to-many relationships.
    
  2. このリクエストは、sample_bankaccount テーブルに対して同じテストを実行します。

    要求:

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

    応答:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
    "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CanManyToManyResponse",
    "CanManyToMany": true
    }
    

    コンソール出力

    The sample_bankaccount table can participate in many-to-many relationships.
    

N:N の関連付けの潜在的なエンティティの特定

GetValidManyToMany Function を使用して、多対多の関連付けに関与できる一連のテーブルを取得します。

要求:

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

応答:

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"
  ]
}

コンソール出力

Contact is in the list of potential tables for N:N.
sample_BankAccount is in the list of potential tables for N:N.

N:N の関連付けの作成

このリクエストにより、sample_BankAccount テーブルと Contact テーブルの間に多対多の関連付けが作成されます。

要求:

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

応答:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/RelationshipDefinitions(55c9f86c-112a-ed11-9db1-00224804f8e2)

コンソール出力

Created Many-to-Many relationship at: RelationshipDefinitions(55c9f86c-112a-ed11-9db1-00224804f8e2)

N:N の関連付けの取得

このリクエストによって、前のリクエストによって作成された多対多の関連付けを取得します。

注意

上記のとおり、RelationshipDefinitions には一対多と多対多の両方の関連付け定義が含まれているため、取得するタイプにキャストするには、URL に以下を含める必要があります: /Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata。 それ以外は、返される値は RelationshipMetadataBase EntityType で、ManyToManyRelationshipMetadata EntityType に固有のプロパティは含まれません。

要求:

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

応答:

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

コンソール出力

Retrieved Many-to-Many relationship:sample_sample_BankAccounts_Contacts

セクション 8: 管理ソリューションのエクスポート

ExportSolution Action を使用して、ソリューションを管理ソリューションとしてエクスポートします。 このアクションには、ソリューションの一部として追加情報を含めるために使用できる多くのスイッチが含まれていますが、この場合、これらのオプションはすべてオフになっています。 詳細: ソリューションに関する作業

要求:

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
}

応答:

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]"
}

コンソール出力

Solution Exported to E:\GitHub\PowerApps-Samples\dataverse\webapi\C#-NETx\MetadataOperations\bin\Debug\net6.0\examplesolution.zip

セクション 9: サンプル レコードを削除

このサンプルで作成されたすべてのレコードへの参照がリストに追加されました。 このセクションでは、作成されたすべてのレコードが $batch 演算を使用して削除されます。

要求:

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--

応答:

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--

コンソール出力

Deleting created records...

セクション10: 管理ソリューションのインポートと削除

  1. このステップでは、ImportSolution Action を使用してセクション8: 管理ソリューションをエクスポートするにエクスポートされた管理ソリューションをインポートします。

    要求:

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

    応答:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    コンソール出力

    Sending request to import the examplesolution solution...
    Solution imported as a managed solution.
    
  2. 管理ソリューションの solutioniduniquename で取得して、削除できるようにします。

    要求:

    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
    

    応答:

    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"
       }
    ]
    }
    

管理ソリューションの削除

この最後の手順では、インポートされた管理ソリューションを削除し、システムを元の状態に戻します。

要求:

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

応答:

HTTP/1.1 204 NoContent
OData-Version: 4.0

コンソール出力

Sending request to delete the examplesolution solution...
Managed solution deleted.
--Metadata Operations sample completed--

参照

Dataverse Web API を使用する
テーブル定義による Web API の利用
Web API を使用したテーブル定義のクエリ
Web API を使用したテーブル定義の作成および更新
Web API を使用したテーブルの関連付けの作成および更新
Web API による選択肢 (オプション セット) の作成と更新
Web API テーブル スキーマ操作サンプル (C#)

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。