# SKUによる仮想アイテムを取得

カタログを作成するためにSKUによる仮想アイテムを取得します。


  注意
    このAPIコールは、認証なしで使用した場合、一般的なアイテムカタログデータを返します。認証を使用して、アイテムに関連付けられた制限やプロモーションなどのパーソナライズされたユーザーデータを取得します。これを行うには、AuthorizationヘッダーにユーザーJWTを渡します。ユーザーJWTの詳細については、このコールのセキュリティブロックを参照してください。

Endpoint: GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

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

  - `item_sku` (string, required)
    アイテムSKU。
    Example: "booster_mega_1"

## Query parameters:

  - `locale` (string)
    応答言語。ISO 639-1に準拠した2文字の小文字の言語コード（例：en）。nameやdescriptionなどのローカリゼーションフィールドでは5文字のロケールコード（例：en-US）がサポートされていますが、応答内では2文字のコードに正規化されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

  - `country` (string)
    ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国と国を決定するプロセスに関する詳細情報については、ドキュメントを確認してください。
    Example: "US"

  - `show_inactive_time_limited_items` (integer)
    ユーザーに利用可能でない、期限付きアイテムを表示します。このようなアイテムの有効期間はまだ開始されていないか、すでに期限切れです。
    Example: 1

  - `additional_fields[]` (array)
    応答に含める追加フィールド。デフォルトでは、これらのフィールドは返されません。追加フィールドを含めるには、必須の値を渡してください。
    Enum: "media_list", "order", "long_description", "custom_attributes", "item_order_in_group"

## Response 200 fields (application/json):

  - `item_id` (number)
    アイテムID。

  - `sku` (string)
    一意のアイテムID。SKUには、英大文字、英小文字、数字、ピリオド、ダッシュ、アンダースコアのみを含めることができます。
    Example: "big_rocket"

  - `name` (object)
    アイテム名。
    Example: "Big Rocket"

  - `groups` (array)
    アイテムが所属するグループ。

  - `groups.external_id` (string)
    作成時に指定された[外部アイテムグループID](/ja/api/catalog/item-groups-admin/admin-create-item-group#item-groups-admin/admin-create-item-group/t=request&path=external_id) 。
    Example: "exclusive"

  - `groups.name` (string)
    グループ名。
    Example: "Exclusive"

  - `groups.item_order_in_group` (integer)
    グループ内でのアイテムの配置位置は 表示順序を決定します。
additional_fields[]クエリパラメータを介してリクエストされた場合にのみ返されます。
    Example: 1

  - `attributes` (array)
    アイテムに対応する属性と値のリスト。カタログのフィルタリングに使用できます。

  - `attributes.external_id` (string)
    一意の属性ID。external_idには、英大文字、英小文字、数字、ダッシュ、アンダースコアのみを含めることができます。

  - `attributes.name` (object)
    属性名。
    Example: "Genre"

  - `attributes.values` (array)

  - `attributes.values.external_id` (string)
    属性の一意の値ID。external_idには、英小文字、数字、ダッシュ、アンダースコアのみを含めることができます。

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

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

  - `description` (object)
    アイテムの説明。
    Example: "Big Rocket - description"

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

  - `is_free` (boolean)
    アイテムが無料かどうか。

  - `price` (object,null)
    アイテム価格。

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

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

  - `price.currency` (string)
    商品価格の通貨。3文字のコード[ISO4217 規格](https://en.wikipedia.org/wiki/ISO_4217)詳細については、ドキュメントを参照してください。[エクソーラでサポートされている通貨](https://developers.xsolla.com/ja/doc/pay-station/references/supported-currencies/)。
    Example: "USD"

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

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

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

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

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

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

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

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

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

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

  - `virtual_item_type` (string)
    仮想アイテムタイプ。

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

  - `promotions` (array)
    カート内の特定アイテムに適用されるプロモーション。この配列は、以下のケースで返されます：

* 特定のアイテムに対して、割引キャンペーンが構成されている場合。

* 選択されたアイテムの割引設定を持つプロモーションコードが適用された場合。

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

  - `promotions.name` (string)

  - `promotions.date_start` (string,null)

  - `promotions.date_end` (string,null)

  - `promotions.discount` (object,null)

  - `promotions.discount.percent` (string,null)

  - `promotions.discount.value` (string,null)

  - `promotions.bonus` (array)

  - `promotions.bonus.sku` (string)

  - `promotions.bonus.quantity` (integer)

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

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

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

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

  - `promotions.limits` (object)

  - `promotions.limits.per_user` (object)

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

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

  - `limits` (object,null)
    アイテム制限。

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

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

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

  - `limits.per_user.recurrent_schedule` (any)

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

  - `limits.per_item` (object,null)
    グローバルアイテム制限。

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

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

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

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

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

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

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

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

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

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

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

  - `vp_rewards.image_url` (string)
    画像URL。

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

  - `loyalty_rewards` (array)
    アイテムを購入した際の報酬としてユーザーが付与されるロイヤルティポイント。

  - `loyalty_rewards.name` (string)
    ロイヤリティポイント名。

  - `loyalty_rewards.sku` (string)
    ロイヤルティポイントのSKUです。ロイヤルティポイントで支払う注文を作成する場合など、他のAPIコールのloyalty_point_skuパラメータにこの値を渡してください。

  - `loyalty_rewards.description` (string)
    ロイヤルティポイントの説明。

  - `loyalty_rewards.image_url` (string,null)
    画像URL。

  - `loyalty_rewards.amount` (integer)
    アイテムを購入した際にユーザーが付与されるロイヤルティポイントの数。

  - `loyalty_prices` (array)
    アイテムの購入に使用できるロイヤルティポイント。

  - `loyalty_prices.name` (string)
    ロイヤリティポイント名。

  - `loyalty_prices.sku` (string)
    ロイヤルティポイントのSKUです。ロイヤルティポイントで支払う注文を作成する場合など、他のAPIコールのloyalty_point_skuパラメータにこの値を渡してください。

  - `loyalty_prices.description` (string)
    ロイヤルティポイントの説明。

  - `loyalty_prices.image_url` (string,null)
    画像URL。

  - `loyalty_prices.amount` (integer)
    指定されたロイヤルティポイントでのアイテム価格。

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 4001

  - `errorMessage` (string)
    Example: "[0401-4001]: Item with Project Id = 44056 and Sku = booster_mega_12222 not found"


