# すべてのプロモーションリストを取得

プロジェクトのプロモーションリストを取得します。

Endpoint: GET /v3/project/{project_id}/admin/promotion
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横、またはプロジェクトの作業中にブラウザのアドレスバーで確認できます。URLの形式は以下の通りです：https://publisher.xsolla.com//projects/。
    Example: 44056

## Query parameters:

  - `limit` (integer)
    ページでの要素数の制限。
    Example: 50

  - `offset` (integer)
    リストが生成される要素番号（カウントは0から始まります）。

  - `enabled` (integer)
    is_enabledフラグで要素を絞り込みます。

## Response 200 fields (application/json):

  - `promotions` (array)

  - `promotions.id` (integer)
    プロモーションID。プロジェクト内での一意のプロモーション識別子。

  - `promotions.promotion_periods` (array)
    プロモーションの有効期間。複数の期間を指定する場合は、date_fromとdate_untilの両方が必須となります。

  - `promotions.promotion_periods.date_from` (string, required)
    指定されたプロモーションの開始日。
    Example: "2020-08-11T10:00:00+03:00"

  - `promotions.promotion_periods.date_until` (string,null)
    指定されたプロモーションの終了日。nullに設定した場合、プロモーションは無期限となります。単一の有効期間のみが指定されている場合に限り、nullに設定可能です。
    Example: "2020-08-11T20:00:00+03:00"

  - `promotions.name` (object)
    プロモーションの名前。キーと値のペアを含む必要があります。
キーは"^[a-z]{2}-[A-Z]{2}$"形式のロケール、値は文字列です。

  - `promotions.bonus` (array)

  - `promotions.bonus.item` (object)

  - `promotions.bonus.item.sku` (string)
    一意のアイテムID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。
    Example: "game_01"

  - `promotions.bonus.item.name` (object)
    アイテム名。
    Example: {"en":"Game name"}

  - `promotions.bonus.item.type` (string)
    アイテムタイプ。可能な値：virtual_good — 仮想アイテムvirtual_currency — 仮想通貨bundle — バンドルunit — ゲームキーパッケージ
    Example: "unit"

  - `promotions.bonus.item.bundle_type` (string)
    バンドルタイプ。アイテムタイプがバンドルの場合に返されます。
    Enum: "standard", "virtual_currency_package"

  - `promotions.bonus.item.description` (string,null)
    アイテムの説明。
    Example: "Game description"

  - `promotions.bonus.item.image_url` (string,null)
    画像URL。
    Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"

  - `promotions.bonus.item.content` (array)

  - `promotions.bonus.item.unit_items` (array)
    プラットフォーム指定のゲームキーの配列。アイテムタイプがunit (bonus.item.type = 'unit')の場合にのみ使用されます。ゲームキーパッケージにプラットフォーム指定のキーが含まれている場合、ユーザーはそのうちの1つをボーナスとして選択できます。

  - `promotions.bonus.item.unit_items.sku` (string)
    プラットフォーム指定のゲームキーパッケージの一意のID。使用可能な文字：a-z、A-Z、0-9、ピリオド（.）、ハイフン（-）、アンダースコア（_）。これはbonus.item.​skuとbonus.item.unit_items.drm_skuの値を組み合わせたものです。例えば、bonus.item.​sku = 'cool_game'とbonus.item.unit_items.drm_sku = 'steam'の場合、値はcool_game_steamになります。
    Example: "cool_game_steam"

  - `promotions.bonus.item.unit_items.is_free` (boolean)

  - `promotions.bonus.item.unit_items.type` (string)
    アイテムがゲームキーであることを示します。
    Enum: "game_key"

  - `promotions.bonus.item.unit_items.name` (string)
    ゲームタイトル。
    Example: "Awesome Game"

  - `promotions.bonus.item.unit_items.drm_name` (string)
    DRM名。
    Example: "Steam"

  - `promotions.bonus.item.unit_items.drm_sku` (string)
    プラットフォーム固有のゲームキーであることを示すサフィックスとして使用される、一意のDRM ID。使用可能な文字：a-z、A-Z、0-9、ピリオド（.）、ハイフン（-）、アンダースコア（_）。
    Example: "steam"

  - `promotions.bonus.quantity` (number)
    アイテム数量。

  - `promotions.condition` (array,null)

  - `promotions.condition.item` (object)

  - `promotions.condition.item.sku` (string)
    一意のアイテムID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

  - `promotions.condition.item.name` (object)
    アイテム名。キーと値のペアを含む必要があります。
キーは"^[a-z]{2}-[A-Z]{2}$"フォーマットのロケール、値は文字列です。

  - `promotions.condition.item.type` (string)
    アイテムタイプ：virtual_good/virtual_currency/bundle/physical_good/unit。

  - `promotions.condition.item.description` (string,null)
    アイテムの説明。
    Example: "Game description"

  - `promotions.condition.item.image_url` (string,null)
    画像URL。
    Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"

  - `promotions.condition.item.external_id` (string)
    プロモーションexternal ID。プロジェクト内での一意のプロモーション識別子。

  - `promotions.condition.item.is_enabled` (boolean)

  - `promotions.condition.item.redeem_total_limit` (integer,null)

  - `promotions.condition.item.redeem_user_limit` (integer,null)

  - `promotions.condition.item.redeem_code_limit` (integer,null)
    コードごとの引き換え回数。

  - `promotions.is_enabled` (boolean)

  - `promotions.type` (string)
    プロモーションタイプ。

  - `promotions.discount` (object,null)
    Example: {"discount":{"percent":"10.99"}}

  - `promotions.discount.percent` (string,null)
    割引率。
カートの価格は、この割引率で計算された値で減少し、小数点以下2桁に四捨五入されます。

  - `promotions.limits` (object)
    プロモーションの制限。

  - `promotions.limits.per_user` (object,null)
    別ユーザーでのプロモーション制限。

  - `promotions.limits.per_user.total` (integer)
    ユーザーが購入できるアイテムの総数。この数値はパブリッシャーアカウントで設定するか、ストアエンティティ（制限オブジェクト）の管理者エンドポイントを使用して設定することができます。
    Example: 5

  - `promotions.limits.per_item` (integer,null)
    グローバルアイテム制限。
    Example: 10

  - `promotions.limits.recurrent_schedule` (object,null)
    制限更新期間。

  - `promotions.limits.recurrent_schedule.per_user` (any)
    ユーザー制限更新期間。

  - `total_promotions_count` (integer)
    プロモーションの合計数。

  - `active_promotions_count` (integer)
    アクティブなプロモーションの数。

  - `inactive_promotions_count` (integer)
    非アクティブ化されたプロモーションの数。

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"


