---
title: "プロモーションAPIの活用"
slug: "work-with-the-promotions-api"
abstract: "Sitecore XCプロモーションAPIを活用して、C#プログラミングを用いて他のビジネスシステムとプロモーション関連業務を統合する方法。"
---
# プロモーションAPIの活用

このトピックには、[Sitecore XCプロモーション](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/promotions-service.html "Promotions service")APIを他のビジネスシステムとC#プログラムを活用してプロモーション関連業務を統合する方法についての情報が含まれています。

コンテナコール内にはCommerce Engineの操作やコマンド(C#を使用)を含める必要があります(この[例](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/build-a-container--c--.html "Build a container (C#)")参照)。

Sitecore Experience Commerce(XC)システムでいかなる操作を実行するにも、呼び出し先はSitecore Identity Serverの[有効なベアラー認証トークンを取得する](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/obtain-an-authentication-token--c--.html "Obtain an authentication token (C#)") 必要があります。

## プロモーションブック(C#)を用意してください

プロモーションブックとは、複数のカタログに含まれる販売可能な商品に適用されるプロモーションの集合体です。

フレンドリーIDを使ってプロモーションブックを取得できます。オプションとして、ODataクエリの一環としてプロモーションブックのコンポーネント [を拡張](https://www.odata.org/getting-started/basic-tutorial/#expand) することもできます。

例えば、C#を使って昇進のコンポーネントを含む昇進を取得するには、以下のリクエストをご利用ください。

DataServiceQuerySingle<PromotionBook> query = container.PromotionBooks.ByKey(bookFriendlyId).Expand("Components");
PriceBook book = Proxy.GetValue(query);
## プロモーションブック(C#)に関連付けられたカタログを入手しましょう。

プロモーションブックは複数のカタログに関連付けられることがあります。

例えば、C#を使って特定のプロモーションブックに関連するカタログを取得するには:

DataServiceQuerySingle<PromotionBook> query = container.GetPromotionBookAssociatedCatalogs("MyPromotionBook");
IEnumerable<AssociatedCatalogModel> associatedCatalogs = Proxy.GetValue(query);
## 昇進(C#)

プロモーションのフレンドリーIDを指定することで取得できます。オプションとして、ODataクエリの一環としてプロモーションブックのコンポーネント [を拡張](https://www.odata.org/getting-started/basic-tutorial/#expand) することもできます。

例えば、昇進とその構成要素を取得するには、C#を用います:

DataServiceQuerySingle<Promotion> query = container.Promotions.ByKey(promotionFriendlyId).Expand("Components");
PriceBook book = Proxy.GetValue(query);