---
title: "カタログエンティティビューおよびアクションAPIの活用"
slug: "work-with-the-catalog-entity-views-and-actions-api"
abstract: "カタログ関連データと他のビジネスシステムと交換するためのカタログエンティティアクションおよびビューAPIの概要。"
---
# カタログエンティティビューおよびアクションAPIの活用

外部システムはカタログ関連情報をカタログエンティティビューおよびアクションAPIを用いて交換できます。

> !注ビューズ&アクションAPIは、ビジネスユーザーインターフェースに対応するために設計された [オーサリングAPI](https://doc.sitecore.com/xp/ja/developers/100/sitecore-experience-commerce/authoring-api.html "Authoring API")であり、統合シナリオには最適化されていません。
> 
> Views and Actions APIをコマース統合で使用する際には、以下の点を考慮する必要があります。
> 
> -   Views and Actions APIは一度に1つのCommerceエンティティしか処理できず、バッチ処理はサポートしていません。
>     
> -   Views and Actions APIはCommerce WebサービスのAPIよりも多くのオーバーヘッドを伴います。Views and Action APIの呼び出しは通常3ステップで、アクションのビューを取得し、ビューのプロパティを更新した値で修正し、アクションを実行します。
>     

## カタログ(C#)を入手してください

Entity Views and Actions APIを使ってC#を使ってCommerceカタログを取得することができます。

カタログを取得するには:

DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Catalog-{Id}", "Master", string.Empty, "Entity-Catalog-{CatalogId}");
EntityView view = Proxy.GetValue(query);
## カタログ作成(C#)

Entity Views and Actions APIを使ってC#を使って新しいカタログを作成できます。

カタログを作成するには:

1.  エンティティビューを入手:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($string.empty, "Details", "AddCatalog", string.Empty);
    EntityView view = Proxy.GetValue(query);
    
2.  新しいカタログの名称と表示名を記載してください:
    
    var Name = view.Properties.FirstOrDefault(p => p.Name.Equals("Name"));
    var DisplayName = view.Properties.FirstOrDefault(p => p.Name.Equals("DisplayName"));
    Name.Value = "ANewCatalog";
    DisplayName.Value = "A New Catalog";
    
3.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## カタログの詳細を更新する(C#)

Entity Views and Actions APIを使って、カタログに関連する情報の詳細を修正できます。

C#を使ってカタログの詳細を変更するには:

1.  カタログの詳細を見るエンティティビューを入手してください:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Catalog-{CatalogId}", Details", "EditCatalog", string.Empty);
    EntityView view = Proxy.GetValue(query);
    
2.  新しいカタログの詳細、例えばカタログ名や表示名を提供します:
    
    var DisplayName = view.Properties.FirstOrDefault(p => p.Name.Equals("DisplayName"));
    DisplayName.Value = "A Newly Renamed Catalog"
    
3.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## 選択したカタログを削除する(C#)

Entity Views and Actions APIを使ってC#を使ってカタログを削除できます。

選択したカタログを削除するには:

1.  カタログのエンティティビューを入手してください:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"",string.Empty,"DeleteCatalog", "Entity-Catalog-{CatalogId}");
    EntityView view = Proxy.GetValue(query);
    
2.  削除アクションを実行します:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## カテゴリを取得する(C#)

C#を使ってEntity Views and Actions APIを使ってカタログカテゴリを取得することができます。

カテゴリを得るには:

DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-{ParentType}-{ParentId}", string.Empty, string.Empty, "Entity-Category-{CategoryId}");
EntityView view = Proxy.GetValue(query);
## カテゴリを作成する(C#)

Entity Views and Actions APIを使ってC#を使ってカタログカテゴリを作成できます。

カタログカテゴリを作成するには:

1.  エンティティビューを入手:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-{ParentType}-{ParentId}", "Details", "AddCategory", string.Empty);
    EntityView view = Proxy.GetValue(query);
    
2.  新しいカテゴリの詳細、例えばカテゴリ名、表示名、説明などを提供してください。
    
    var Name = view.Properties.FirstOrDefault(p => p.Name.Equals("Name"));
    var DisplayName = view.Properties.FirstOrDefault(p => p.Name.Equals("DisplayName"));
    var Description = view.Properties.FirstOrDefault(p => p.Name.Equals("Description"));
    
    Name.Value = "ANewCategory";
    DisplayName.Value = "A New Category";
    Description.Value = "A Category to hold samples";
    
3.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## カテゴリを更新する(C#)

Entity Views and Actions APIを使ってC#を使ってカテゴリの詳細を更新できます。

カテゴリの情報詳細を更新するには:

1.  エンティティビューを入手:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Category-{CategoryId}", "Details", "EditCategory", string.Empty); EntityView view = Proxy.GetValue(query);
    
2.  カテゴリーの新しい詳細、例えば表示名や説明文を提供します:
    
    var DisplayName = view.Properties.FirstOrDefault(p => p.Name.Equals("DisplayName"));
    var Description = view.Properties.FirstOrDefault(p => p.Name.Equals("Description"));
    
    DisplayName.Value = "Even Hotter Stuff Category";
    Description.Value = "Like the Sun Steel Works";
    
3.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## カテゴリを削除(C#)

C#を使って、Entity Views and Actions APIを使ってカタログからカテゴリを削除することができます。

カタログからカテゴリを削除するには:

1.  エンティティビューを取得し、カタログを削除してください:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-{ParentType}-{ParentId}",string.Empty,"DeleteCategory","Entity-Category-{CategoryId}");
    EntityView view = Proxy.GetValue(query);
    
2.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## カテゴリを解消する(C#)

Entity Views and Actions APIを使って、カテゴリとサブカテゴリをリンクするアソシエーションを解除できます。例えば、C#を使ってカテゴリを削除せずにアソシエーションを解除できます。

関連付けを解除するには:

1.  エンティティビューを入手:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-{ParentType}-{ParentId}",string.Empty,"DeleteCategory","Entity-Category-{CategoryId}");
    EntityView view = Proxy.GetValue(query);
    
2.  カテゴリーを切り離す:
    
    var action = view.Properties.FirstOrDefault(p =>; p.Name.Equals("DeleteOption")); action.Value = "Disassociate";
    
3.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));