# プロジェクト内のアップセルアイテムのリストを取得する

すでに設定されている場合、プロジェクト内のアップセルアイテムのリストを取得します。<br>
<div class="note">
<strong>注意</strong><br><br>
このAPIコールはユーザーJWTを使用して認証を行います。<br><br>
トークンは<code>Authorization</code>ヘッダーへ次の形式でトークンを設定します：<code>Bearer <user_JWT></code>。ユーザーJWTに関する詳細情報は、該当コールの<strong>セキュリティ</strong>ブロックで確認できます。
</div>

Endpoint: GET /v2/project/{project_id}/items/upsell
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

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

## Response 200 fields (application/json):

  - `has_more` (boolean)
    ページ数がもっとあることを示す指標として使用されます。
    Example: true

  - `items` (array)

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

  - `items.name` (string)
    アイテム名。
    Example: Big Rocket

  - `items.groups` (array)
    アイテムが所属するグループ。
    Example: [{"external_id":"horror","name":{"en":"Horror"}}]

  - `items.groups.external_id` (string)
    Example: horror

  - `items.attributes` (array)
    アイテムに対応する属性と値のリスト。カタログのフィルタリングに使用できます。
    Example: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7…

  - `items.attributes.external_id` (string)
    一意の属性ID。`external_id`には、小文字と大文字のラテン英数字、ダッシュ、およびアンダースコアのみが含まれます。
    Example: attribute_1

  - `items.attributes.values` (array)

  - `items.attributes.values.external_id` (string)
    属性の一意の値ID。`external_id`には、半角小文字の英数字、ハイフン、アンダースコアのみを含めることができます。
    Example: attribute_value

  - `items.attributes.values.value` (string)
    属性値。
    Example: Strategy

  - `items.type` (string)
    アイテムタイプ：`virtual_good`/`virtual_currency`/`bundle`。
    Example: virtual_good

  - `items.description` (string)
    アイテムの説明。
    Example: Big Rocket - description

  - `items.image_url` (string)
    画像URL。
    Example: https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png

  - `items.is_free` (boolean)
    アイテムが無料かどうか。
    Example: false

  - `items.price` (object | null)
    アイテム価格。

  - `items.price.amount` (string)
    割引後のアイテム価格。
    Example: 100.99

  - `items.price.amount_without_discount` (string)
    アイテム価格。
    Example: 100.99

  - `items.price.currency` (string)
    商品価格通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) による3文字コード。
    Example: USD

  - `items.virtual_prices` (array)
    仮想価格。

  - `items.virtual_prices.amount` (integer)
    仮想通貨建てのアイテム価格。
    Example: 100

  - `items.virtual_prices.amount_without_discount` (integer)
    割引適用前の仮想通貨建てのアイテム価格。仮想通貨の価格には割引が適用されないため、常に`amount`と等しくなります。
    Example: 200

  - `items.virtual_prices.sku` (string)
    仮想通貨SKU。
    Example: vc_gold

  - `items.virtual_prices.is_default` (boolean)
    仮想通貨でのデフォルト価格であるかどうか。
    Example: true

  - `items.virtual_prices.image_url` (string | null)
    仮想通貨の画像URL。
    Example: http://image.png

  - `items.virtual_prices.name` (string)
    仮想通貨名。
    Example: Gold

  - `items.virtual_prices.type` (string)
    アイテムタイプ。仮想通貨の場合は`virtual_currency`になります。
    Example: virtual_currency

  - `items.virtual_prices.description` (string | null)
    仮想通貨の説明。
    Example: In-game currency used to purchase weapons and upgrades

  - `items.can_be_bought` (boolean)
    `true`の場合、ユーザーはアイテムを購入することができます。
    Example: true

  - `items.virtual_item_type` (string)
    仮想アイテムタイプ。
指定可能な値：
- `consumable` — 使用後にインベントリから消滅するアイテム（例：弾薬など）。
- `non_consumable` — 期間の制限なくインベントリに残り続けるアイテム。
- `non_renewing_subscription` — 制限された期間内に限り、サービスやコンテンツへのアクセス権を付与する期間限定アイテム。
    Enum: "consumable", "non_consumable", "non_renewing_subscription"

  - `items.promotions` (array)
    カート内の特定アイテムに適用されるプロモーション。この配列は、以下のケースで返されます：
* 特定のアイテムに対して、割引キャンペーンが構成されている場合。
* **選択されたアイテムの割引**設定を持つプロモーションコードが適用された場合。

アイテムレベルのプロモーションが適用されない場合は、空の配列が返されます。

  - `items.promotions.name` (string)

  - `items.promotions.date_start` (string | null)

  - `items.promotions.date_end` (string | null)

  - `items.promotions.discount` (object | null)

  - `items.promotions.discount.percent` (string | null)

  - `items.promotions.discount.value` (string | null)

  - `items.promotions.bonus` (array)

  - `items.promotions.bonus.sku` (string)

  - `items.promotions.bonus.quantity` (integer)

  - `items.promotions.bonus.type` (string)
    ボーナスアイテムタイプ。
    Enum: "virtual_good", "virtual_currency", "bundle", "physical_good", "game_key", "nft"

  - `items.promotions.bonus.name` (string)
    ボーナスアイテムの名前です。ボーナスアイテムのタイプ`physical_good`では使用できません。

  - `items.promotions.bonus.image_url` (string)
    ボーナスアイテムの画像URLです。ボーナスアイテムのタイプ `physical_good` では使用できません。ー

  - `items.promotions.bonus.bundle_type` (string)
    ボーナスバンドルアイテムタイプ。ボーナスアイテムタイプ`bundle`のみで利用可能です。
    Enum: "standard", "virtual_currency_package"

  - `items.promotions.limits` (object)

  - `items.promotions.limits.per_user` (object)

  - `items.promotions.limits.per_user.available` (integer)

  - `items.promotions.limits.per_user.total` (integer)

  - `items.limits` (object | null)
    アイテム制限。

  - `items.limits.per_user` (object | null)
    ユーザーのアイテム制限。

  - `items.limits.per_user.total` (integer)
    1ユーザーあたりのユーザーが購入できるアイテムの最大数。
    Example: 5

  - `items.limits.per_user.available` (integer)
    現在のユーザーが購入できるアイテムの残り数。
    Example: 3

  - `items.limits.per_user.recurrent_schedule` (any)
    ユーザーのアイテム制限の定期更新期間。

  - `items.limits.per_user.recurrent_schedule.interval_type` (string)
    定期更新期間のタイプ。
    Enum: "daily"

  - `items.limits.per_user.recurrent_schedule.reset_next_date` (integer)
    制限がリセットされた日時（UNIXタイムスタンプ）。
    Example: 1677553200

  - `items.limits.per_user.limit_exceeded_visibility` (string)
    購入制限に達してから次回の制限リセットまでの間、カタログ内でのアイテムの表示・非表示を決定します。
これは、`recurrent_schedule`配列で定期的な制限リセットが設定されているアイテムに適用されます。
購入制限のリセットが設定されていない場合、購入制限に達した後は、`limit_exceeded_visibility`の値に関わらず、そのアイテムはカタログに表示されなくなります。
指定可能な値：
- `show` — 購入制限に達した後も、カタログ取得用のAPIコールに対してアイテム情報が返却されます。クライアントサイドのカタログ取得APIコールにおいては、制限に達した時点でアイテムに`can_be_bought: false`フラグが付与されて返されます。次回のリセット日時は`reset_next_date`に格納されて返却されます。
- `hide` — 購入制限に達した時点から、制限値がリセットされるまでの間、カタログ取得用のAPIコールにおいてアイテムは返されなくなります。
    Enum: "show", "hide"

  - `items.limits.per_item` (object | null)
    アイテムのアイテム制限。

  - `items.limits.per_item.total` (integer)
    すべてのユーザーが購入できるアイテムの最大数。
    Example: 5

  - `items.limits.per_item.available` (integer)
    すべてのユーザーが購入できるアイテムの残り数。
    Example: 3

  - `items.periods` (array)
    アイテム販売期間。

  - `items.periods.date_from` (string | null)
    指定されたアイテムの販売開始日。
    Example: 2020-08-11T10:00:00+03:00

  - `items.periods.date_until` (string | null)
    指定されたアイテムが販売できなくなる日付。`null`を指定することもできます。
    Example: 2020-08-11T20:00:00+03:00

  - `items.custom_attributes` (object)
    アイテムの属性と値を含むJSONオブジェクト。

  - `items.vp_rewards` (array)
    アイテムのバリューポイント報酬のリスト。

  - `items.vp_rewards.item_id` (integer)
    内部の一意のアイテムID。
    Example: 1

  - `items.vp_rewards.sku` (string)
    一意のバリューポイントID。

  - `items.vp_rewards.amount` (integer)
    バリューポイントの量。

  - `items.vp_rewards.name` (string)
    バリューポイント名。

  - `items.vp_rewards.image_url` (string)
    画像URL。
    Example: https://image.example.com

  - `items.vp_rewards.is_clan` (boolean)
    バリューポイントがクランリワードチェーンで使用されるかどうか。
    Example: true

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1501

  - `errorMessage` (string)
    Example: [0401-1501]: Authorization failed: Provide authorization

