# カタログAPI

# 概要 {% #overview %}

- **バージョン：** 2.0.0
- **サーバー：** `https://store.xsolla.com/api`
- [メールでのお問い合わせ](mailto：integration@xsolla.com)
- **お問い合わせURL：** https://xsolla.com/
- **必要なTLSバージョン：** 1.2

カタログAPIを使用すると、ゲーム内アイテムのカタログをエクソーラ側で設定し、そのカタログをストア内でユーザーに表示することができます。

本APIでは、以下のカタログエンティティを管理できます：

* **仮想アイテム** — 武器、スキン、ブースターなどのゲーム内アイテム。
* **仮想通貨** — 仮想商品の購入に使用される仮想通貨。
* **仮想通貨パッケージ** — 事前定義された仮想通貨のバンドル。
* **バンドル** — 仮想アイテム、通貨、またはゲームキーを1つのSKUとしてまとめたパッケージ。
* **ゲームキー** — Steamやその他のDRMプロバイダーを通じて配布される、ゲームおよびDLCのキー。
* **グループ** — カタログ内のアイテムを整理または並べ替えするための論理的なグループ分け。

## APIコール {% #api-calls %}

本APIは、以下のグループに分かれています：

* **<nt>Admin</nt>** — カタログアイテムやグループの作成、更新、削除、および設定を行うためのコール。マーチャントまたはプロジェクトの認証情報による[基本アクセス認証](https://developers.xsolla.com/ja/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth)で認証されます。ストアフロントでの使用は想定されていません。
* **<nt>Catalog</nt>** — アイテムの取得や、エンドユーザー向けのカスタムストアフロントを構築するためのコール。高負荷なシナリオに対応できるよう設計されています。ユーザー個別の制限事項や実施中のプロモーションなど、パーソナライズされたデータを返すための、ユーザーJWTによる任意認証をサポートしています。

# 認証 {% #authentication %}

APIコールには、ユーザーまたはプロジェクトのいずれかに代わって認証が必要です。使用される認証スキームは、各コールの説明の**セキュリティ**セクションに指定されています。

## ユーザーのJWTを使用した認証 {% #authentication-using-users-jwt %}

ユーザーのJWTを使用した認証は、ブラウザ、モバイルアプリケーション、またはゲームからリクエストが送信される場合に使用されます。デフォルトでは、`XsollaLoginUserJWT`スキームが適用されます。トークンの作成方法の詳細については、[エクソーラログインAPIに関するドキュメント](/ja/api/login/authentication-schemes#getting-user-token)を参照してください。

トークンは`Authorization`ヘッダーに次の形式で渡されます：`Authorization: Bearer <user_JWT>`。ここで`<user_JWT>`はユーザートークンです。このトークンによってユーザーが特定され、パーソナライズされたデータへのアクセスが可能になります。

別の方法として、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用することも可能です。

## 基本HTTP認証 {% #basic-http-authentication %}

基本HTTP認証は、ユーザーのブラウザやモバイルアプリケーションからではなく、サーバーから直接APIコールが送信される場合のサーバー間のやり取りに使用されます。通常、[APIキーを使用したHTTP基本認証](/ja/api/getting-started/#api_keys_overview)が使用されます。

<div class="note"><b>注意</b><br><br>APIキーは機密性高いため、クライアントアプリケーション側での保存および使用は厳禁とします。</div>

基本的なサーバーサイド認証では、すべてのAPIリクエストに以下のヘッダーを含める必要があります：

- `basicAuth`の場合 — `Authorization: Basic <your_authorization_basic_key>`。ここで`your_authorization_basic_key`は、Base64でエンコードされた`project_id:api_key`ペアです。
- `basicMerchantAuth`の場合 — `Authorization: Basic <your_authorization_basic_key>`。ここで`your_authorization_basic_key`は、Base64でエンコードされた`merchant_id:api_key`ペアです。

パラメータの値は[パブリッシャーアカウント](https://publisher.xsolla.com/)で確認できます：

- `merchant_id`は次の場所に表示されます：
  - **会社設定 > 会社**。
  - パブリッシャーアカウントの任意のページのブラウザアドレスバーのURLに。URLの形式は以下の通りです： `https://publisher.xsolla.com/<merchant_id>`。
- `project_id`は次の場所に表示されます：
  - パブリッシャーアカウントのプロジェクト名の横に。
  - パブリッシャーアカウントでプロジェクトを操作しているときのブラウザアドレスバーのURLに。URLの形式は以下の通りです：`https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`。
- `api_key`は作成時にのみパブリッシャーアカウントに表示され、あなたの側で安全に保管する必要があります。APIキーは次のセクションで作成できます：
  - [会社設定 > APIキー](https://publisher.xsolla.com/0/settings/api_key)
  - [プロジェクト設定 > APIキー](https://publisher.xsolla.com/0/projects/0/edit/api_key)

<div class="notice"><b>注意</b><br><br>必要なAPIコールに<code>project_id</code>パスパラメータが含まれていない場合、認証を行うには、会社のすべてのプロジェクト共通で有効なAPIキーを使用してください。</div>

APIキーの操作に関する詳細は、[APIリファレンス](/ja/api/getting-started/#api_keys_overview)を参照してください。

## ゲストアクセスをサポートする認証 {% #authentication-with-guest-access-support %}

`AuthForCart`認証スキームはカートでの購入用であり、以下の2つのモードに対応しています：

1. **ユーザーのJWTを使用した認証。** トークンは、次の形式で`Authorization`ヘッダーに渡されます： `Authorization: Bearer <user_JWT>`。ここで`<user_JWT>`はユーザートークンです。このトークンはユーザーを識別し、パーソナライズされたデータへのアクセスを提供します。
または、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用することもできます。

2. **認証ヘッダーを使用しない簡易モード。** このモードは未認証ユーザーにのみ使用され、[ゲームキー販売](/ja/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users)にのみ適用できます。リクエストにはトークンの代わりに、以下のヘッダーを含める必要があります：
   - リクエストIDを含む`x-unauthorized-id`
   - Base64でエンコードされたユーザーのメールアドレスを含む`x-user`

## 関連リンク {% #authentication-useful-links %}

- [相互作用モデルに基づくAPIコール](/ja/api/getting-started/#api_interaction_model)
- [エンドポイントタイプ](/ja/api/getting-started/#api_endpoint_types)
- [エラー処理](/ja/api/getting-started/#api_errors_handling)
- [APIキー](/ja/api/getting-started/#api_keys_overview)
- [ウェブフック](/ja/webhooks/overview)

# 主要なエンティティ構造 {% #core-entity-structure %}

すべてのタイプ（仮想アイテム、バンドル、仮想通貨、キー）のアイテムは、同様のデータ構造を使用しています。この基本構造を理解することで、APIの利用が簡素化され、ドキュメントをよりスムーズに読み進められるようになります。

<div class="note"><b>注意</b><br><br>一部のコールには追加のフィールドが含まれる場合がありますが、基本構造が変わることはありません。</div>

**識別**

- `merchant_id` — [パブリッシャーアカウント](https://publisher.xsolla.com/)における会社ID
- `project_id` — パブリッシャーアカウントにおけるプロジェクトID
- `sku` — アイテムSKU、プロジェクト内で一意です

**ストア表示**

- `name` — アイテム名
- `description` — アイテム説明
- `image_url` — 画像URL
- `is_enabled` — アイテムの可用性
- `is_show_in_store` — アイテムがカタログに表示されるかどうか

カタログ内のアイテムの可用性管理に関する詳細は、[ドキュメント](/ja/items-catalog/catalog-features/items-availability/)を参照してください。

**組織**

- `type` — アイテムタイプ、例：仮想アイテム（`virtual_item`）またはバンドル（`bundle`）
- `groups` — アイテムが属するグループ
- `order` — カタログ内の表示順序

**販売条件**

- `prices` — 実際通貨または仮想通貨での価格
- `limits` — 購入制限
- `periods` — 可用期間
- `regions` — 地域別制限

**主要なエンティティ構造の例：**

```json
{
  "attributes": [],
  "bundle_type": "virtual_currency_package",
  "content": [
    {
      "description": {
        "en": "Main in-game currency"
      },
      "image_url": "https://.../image.png",
      "name": {
        "en": "Crystals",
        "de": "Kristalle"
      },
      "quantity": 500,
      "sku": "com.xsolla.crystal_2",
      "type": "virtual_currency"
    }
  ],
  "description": {
    "en": "Crystals x500"
  },
  "groups": [],
  "image_url": "https://.../image.png",
  "is_enabled": true,
  "is_free": false,
  "is_show_in_store": true,
  "limits": {
    "per_item": null,
    "per_user": null,
    "recurrent_schedule": null
  },
  "long_description": null,
  "media_list": [],
  "name": {
    "en": "Medium crystal pack"
  },
  "order": 1,
  "periods": [
    {
      "date_from": null,
      "date_until": "2020-08-11T20:00:00+03:00"
    }
  ],
  "prices": [
    {
      "amount": 20,
      "country_iso": "US",
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "regions": [],
  "sku": "com.xsolla.crystal_pack_2",
  "type": "bundle",
  "vc_prices": []
}
```

# 基本的な購入フロー {% #basic-purchase-flow %}

エクソーラAPIを使用すると、ゲーム内ストアのロジックを実装でき、アイテムカタログの取得、カートの管理、注文の作成、そのステータスの追跡が可能です。統合シナリオに応じて、APIコールは**管理者**と**カタログ**のサブセクションに分かれ、異なる[認証スキーム](/ja/api/catalog/authentication)を使用します。

以下の例は、アイテムの作成から購入に至るまで、ストアのセットアップおよび運用の基本フローを示しています。

## アイテムおよびグループの作成（管理者向け） {% #create-items-and-groups-admin %}

仮想アイテム、バンドル、仮想通貨など、ストアのアイテムカタログを作成します。

APIコールの例：
- [仮想アイテムを作成する](/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [バンドルを作成する](/ja/api/catalog/bundles-admin/admin-create-bundle)
- [仮想通貨を作成する](/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)

## プロモーション、チェーン、および制限の設定（管理者向け） {% #set-up-promotions-chains-and-limits-admin %}

割引、ボーナス、デイリー報酬、またはオファーチェーンなど、ユーザー獲得および収益化のためのツールを設定します。

APIコールの例：
- [ボーナスプロモーションを作成する](/ja/api/liveops/promotions-bonuses/create-bonus-promotion)
- [デイリー報酬を作成する](/ja/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [ユニークなカタログオファープロモーションを作成する](/ja/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)

## アイテム情報の取得（クライアント向け） {% #get-item-information-client %}

アプリケーション内でのアイテム表示を設定します。

<div class="notice">
  <b>注意</b><br><br>
    ユーザーカタログを構築するために管理サブセクションのAPIコールを使用しないでください。これらのAPIコールには<a href="https://developers.xsolla.com/ja/api/getting-started/#api_rate_limits" target="_blank">レート制限</a>があり、ユーザーのトラフィックを対象としていません。
</div>

<br>

APIコールの例：
- [仮想アイテムリストを取得する](/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [アイテムグループリストを取得する](/ja/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [バンドルリストを取得する](/ja/api/catalog/bundles-catalog/get-bundle-list)
- [販売可能なアイテムリストを取得する](/ja/api/catalog/common-catalog/get-sellable-items)

<div class="note">
  <b>注意</b><br><br>
    デフォルトでは、カタログAPIコールはリクエスト時にストアで現在利用可能なアイテムを返します。まだ利用可能でない、または利用できなくなったアイテムを取得するには、カタログリクエストにパラメータ<code>"show_inactive_time_limited_items": 1</code>を含めてください。
</div>

## アイテムの販売 {% #sell-items %}

アイテムは以下の方法で販売できます：
- 迅速な購入 — 1つのSKUを複数回販売します。
- カート購入 — ユーザーがアイテムをカートに追加し、アイテムを削除し、単一の注文内で数量を更新します。

アイテムが実際のお金ではなく仮想通貨で購入された場合は、[仮想通貨で購入した指定アイテムで注文を作成する](/ja/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency)APIコールを使用してください。当該APIコールの実行時に課金処理が行われるため、決済UIを表示する必要はありません。

無料アイテムの購入には、[指定した無料アイテムで注文を作成する](/ja/api/catalog/free-item/create-free-order-with-item)APIコールまたは[無料カートで注文を作成する](/ja/api/catalog/free-item/create-free-order)APIコールを使用してください。決済UIを表示する必要はありません。注文は即時に<code>done</code>ステータスに設定されます。

### 迅速な購入 {% #fast-purchase %}

クライアント側のAPIコールを使用して、[指定したアイテムで注文を作成](/ja/api/catalog/payment-client-side/create-order-with-item)します。このコールは、決済UIを開くために使用するトークンを返します。

<div class="note">
  <b>注意</b><br><br>
    割引情報は決済UIでのみユーザーに提供されます。プロモーションコードはサポートされていません。
</div>

### カート購入 {% #cart-purchase %}

カートの設定と購入は、クライアントまたはサーバー側で実行できます。

**クライアント側でのカートのセットアップと購入**

アイテムの追加および削除のロジックは、独自に実装してください。カートを設定するためのAPIを呼び出す前は、購入にどのプロモーションが適用されるかに関する情報は取得できません。つまり、合計金額や、追加されるボーナスアイテムの詳細を事前に知ることはできません。

以下のカートロジックを実装します：
1. プレイヤーがカートにアイテムを入れた後、[カートにアイテムを入れる](/ja/api/shop-builder/operation/cart-fill/)APIコールを使用します。このコールは、選択されたアイテムに関する現在の情報（割引前後の価格、ボーナスアイテム）を返します。
2. ユーザーのアクションに基づいてカートの内容を更新します：
   - アイテムの追加または数量の変更を行うには、[カートIDでカートアイテムを更新する](/ja/api/shop-builder/operation/put-item-by-cart-id/)APIコールを使用します。
   - アイテムを削除するには、[カートIDでカートアイテムを削除する](/ja/api/shop-builder/operation/delete-item-by-cart-id/)APIコールを使用します。

<div class="note">
  <b>注意</b><br><br>
    カートの現在のステータスを取得するには、現在のユーザーのカートを取得するAPIコールを使用してください。
</div>

3. [現在のカートからすべてのアイテムで注文を作成する](/ja/api/shop-builder/operation/create-order/)APIコールを使用します。このコールは注文IDと決済トークンを返します。新しく作成された注文はデフォルトで<code>new</code>ステータスに設定されます。

**サーバー側でのカートのセットアップと購入**

カートへの変更ごとにAPIコールを伴う必要があるため、この設定オプションではカートの設定に時間がかかる場合があります。

以下のカートロジックを実装します：
1. プレイヤーがカートにアイテムを入れた後、[カートにアイテムを入れる](/ja/api/catalog/cart-server-side)APIコールを使用します。このコールは、選択されたアイテムに関する現在の情報（割引前後の価格、ボーナスアイテム）を返します。
2. [現在のカートのすべてのアイテムで注文を作成する](/ja/api/shop-builder/operation/create-order/)APIコールを使用します。このコールは、注文IDと支払いトークンを返します。新しく作成された注文は、デフォルトで<code>new</code>ステータスに設定されます。

## 決済UIを開く {% #open-payment-ui %}

返されたトークンを使用して、新しいウィンドウで決済UIを開きます。決済UIを開くその他の方法は、[ドキュメント](/ja/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui)に記載されています。

| アクション                          | エンドポイント                                                     |
|:--------------------------------|:--------------------------------------------------------------------------|
| 本番環境で開きます。 | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |
| サンドボックスモードで開きます。           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |

<div class="note">
  <b>注意</b><br><br>
    開発およびテスト中はサンドボックスモードを使用してください。テスト購入では実際のアカウントに料金は発生しません。<a href="https://developers.xsolla.com/ja/dev-resources/testing/test-cards/">テスト用銀行カード</a>を使用できます。

    最初の実際の支払いが行われた後、厳格なサンドボックス決済ポリシーが適用されます。サンドボックスモードでの支払いは、[パブリッシャーアカウント > 会社設定 > ユーザー](https://publisher.xsolla.com/0/settings/users)で指定されたユーザーのみが利用可能です。

    実際通貨で仮想通貨やアイテムを購入するには、エクソーラとのライセンス契約を締結する必要があります。これを行うには、[パブリッシャーアカウント](https://publisher.xsolla.com/)で**契約と税金 > 契約**に移動し、契約フォームを記入して確認を待ちます。契約の審査には最大3営業日かかる場合があります。
</div>

サンドボックスモードを有効または無効にするには、迅速な購入およびカート購入のリクエストで`sandbox`パラメータの値を変更します。サンドボックスモードはデフォルトでオフになっています。

可能な注文状況：
- `new` — 注文作成済み
- `paid` — 支払い受領済み
- `done` — アイテム付与完了
- `canceled` — 注文キャンセル済み
- `expired` — 注文期限切れ

以下のいずれかの方法を使用して、注文ステータスを追跡します：
- [サーバーサイドで設定されたウェーブフック](/ja/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [ショートポーリング](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [WebSocket API](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)

## 関連リンク {% #basic-purchase-flow-useful-links %}

- 認証
- [インタラクションモデルに基づくAPIコール](/ja/api/catalog/authentication)
- [決済テスト](/ja/dev-resources/testing/general-info/#general_overview)
- [注文状況の追跡設定](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [ウェブフック](/ja/webhooks/overview)
- [レート制限](/ja/api/login/rate-limits)
- [エラー処理](/ja/api/getting-started/#api_errors_handling)
- [APIキー](/ja/api/getting-started/#api_keys_overview)

# ページネーション {% #pagination %}

大規模なレコードセットを返すAPIコール（カタログを構築する場合など）では、データがページ分割されて返されます。ページネーションは、単一のAPI応答で返されるアイテム数を制限し、下一ページのデータを順次取得できるようにするための仕組みです。

返されるアイテム数を制御するには、以下のパラメータを使用します：

- `limit` — 1ページあたりのアイテム件数
- `offset` — ページ上の最初のアイテムのインデックス（番号付けは0から始まります）
- `has_more` — 次のページが利用可能かどうかを示します
- `total_items_count` — アイテムの総数

リクエスト例：

```
GET /items?limit=20&offset=40
```

応答例：

```json
{
  "items": [...],
  "has_more": true,
  "total_items_count": 135
}
```

応答が`has_more = false`を返すまで、後続のリクエストを送信することをお勧めします。

# 日付と時刻の形式 {% #date-and-time-format %}

日付と時間の値は、[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)フォーマットで渡されます。

以下がサポートされています：

- UTCオフセット
- アイテムの表示に時間制限がない場合は`null`値
- 一部のフィールドで使用される[Unixタイムスタンプ](https://www.unixtimestamp.com/)（秒単位）

フォーマット：`YYYY-MM-DDTHH:MM:SS±HH:MM`

例：`2026-03-16T10:00:00+03:00`

# ローカリゼーション {% #localization %}

エクソーラは、アイテム名や説明などのユーザー向けフィールドのローカライズをサポートしています。ローカライズされた値は、言語コードをキーとするオブジェクトとして渡されます。サポートされている言語の完全なリストは、[ドキュメント](/ja/doc/shop-builder/references/supported-languages/)で確認できます。

**サポートされているフィールド**

次のパラメータに対してローカリゼーションを指定できます：

- `name`
- `description`
- `long_description`

**ロケール形式**

ロケールキーは、以下のいずれかのフォーマットで指定できます：

- 2文字の言語コード：`en`、`ru`
- 5文字の言語コード： `en-US`、`ru-RU`、`de-DE`

**例**

2文字の言語コードの例：

```json
{
  "name": {
    "en": "Starter Pack",
    "ru": "Стартовый набор"
  }
}
```

5文字の言語コードの例：

```json
{
  "description": {
    "en-US": "Premium bundle",
    "de-DE": "Premium-Paket"
  }
}
```

# 国および通貨の判定 {% #country-and-currency-determination %}

ユーザーの国は、カタログの価格、決済通貨、および決済UIで利用可能な決済方法を決定します。
APIコールによって、国は次のように判定されます：
<ul>
  <li><a href="https://developers.xsolla.com/ja/api/catalog/payment-client-side/create-order-by-cart-id">クライアント側のAPIコールでは</a>、
    リクエストのIPアドレスによって国が判定されます。</li>
  <li><a href="https://developers.xsolla.com/ja/api/catalog/payment-server-side/admin-create-payment-token">サーバー側のAPIコールでは</a>、
    <code>user.country.value</code>パラメータの値、または
    <code>X-User-Ip</code>ヘッダーのユーザーIPアドレスによって国が判定されます。両方が渡される場合は、<code>user.country.value</code>パラメータが優先されます。</li>
</ul>

<div class="note">
  <b>注意</b><br><br>
    国判定には<a href="https://en.wikipedia.org/wiki/IPv4">IPv4</a>アドレスのみをサポートしています。
    <a href="https://en.wikipedia.org/wiki/IPv6">IPv6</a>アドレスを渡すと、国および通貨の検出が正しく行われない可能性があります。
    サーバー側のAPIコールを使用する、ユーザーのIPv4アドレスを提供できない場合は、
    <code>user.country.value</code>パラメータで国を渡してください。
</div>

# エラー応答フォーマット {% #error-response-format %}

エラーが発生した場合、APIはHTTPステータスとJSON応答本文を返します。ストア関連のエラーの全リストは[ドキュメント](/ja/dev-resources/references/errors/store-errors/)で確認できます。

**応答例：**

```json
{
  "errorCode": 1102,
  "errorMessage": "Validation error",
  "statusCode": 422,
  "transactionId": "c9e1a..."
}
```

- `errorCode` — エラーコード。
- `errorMessage` — エラーの簡潔な説明。
- `statusCode` — HTTPレスポンスステータス。
- `transactionId` — リクエストID。一部の場合にのみ返されます。
- `errorMessageExtended` — リクエストパラメータなどの追加エラー詳細。一部の場合にのみ返されます。

**拡張応答例：**

```json
{
  "errorCode": 7001,
  "errorMessage": "Chain not found",
  "errorMessageExtended": {
    "chain_id": "test_chain_id",
    "project_id": "test_project_id",
    "step_number": 2
  },
  "statusCode": 404
}
```

**共通のHTTPステータスコード**

- `400` — 無効なリクエスト
- `401` — 認証エラー
- `403` — 権限不足
- `404` — リソースが見つかりません
- `422` — 検証エラー
- `429` — レート制限超過

**推奨事項**

- HTTPステータスと応答本文を一緒に処理します。
- `errorCode`を使用してアプリケーションロジックに関連するエラーを処理します。
- `transactionId`を使用して、エラーを分析する際にリクエストをより迅速に特定します。

Version: 2.0.0

## Servers

```
https://store.xsolla.com/api
```

## Security

### basicAuth

サーバー側からのAPIコールには、`basicAuth`認証スキームを使用します。すべてのAPIリクエストには
`Authorization: Basic <your_authorization_basic_key>`ヘッダーを含める必要があります。
ここで`your_authorization_basic_key`は`project_id:api_key`
のペアをBase64標準に従ってエンコードしたものです。

必要に応じて、`project_id`の代わりに`merchant_id`を使用することができます。機能には影響しません。

[パブリッシャーアカウント](https://publisher.xsolla.com/)に移動して、パラメータの値を確認します：

* `merchant_id`は次の場所に表示されます：
  * **会社設定 > 会社**セクション
  * パブリッシャーアカウントの任意のページのブラウザアドレスバーのURLに表示されます。URLの形式は以下の通りです：`https://publisher.xsolla.com/<merchant_id>`。
* `api_key`は作成時にパブリッシャーアカウントで一度だけ表示され、お客様側で保存する必要があります。新しいキーは次のセクションで作成できます：
  * [会社設定 > APIキー](https://publisher.xsolla.com/0/settings/api_key)
  * [プロジェクト設定 > APIキー](https://publisher.xsolla.com/0/projects/0/edit/api_key)

{% html name="div" attrs={"class": "notice"} %}
**注意**

必須のAPIコールにパスパラメータの`project_id`が含まれていない場合は、認証のために会社のすべてのプロジェクトにわたって有効なAPIキーを使用します
{% /html %}

* `project_id`は次の場所に表示されます：
  * パブリッシャーアカウントのプロジェクト名の横。
  * パブリッシャーアカウントでプロジェクトを処理する際のブラウザのアドレスバー内URL。URLの形式は以下の通りです：`https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`。

APIキーの操作に関する詳細は、[APIリファレンス](https://developers.xsolla.com/ja/api/getting-started/#api_keys_overview)を参照してください。

Type: http
Scheme: basic

### XsollaLoginUserJWT

クライアント側からのAPIコールには、`XsollaLoginUserJWT`認証スキームを使用します。リクエストの`Authorization`ヘッダーには、「Bearer `<user_JWT>`」という形式でユーザーのJWTを含める必要があります：このトークンによってユーザーが識別され、パーソナライズされたデータへのアクセスが可能になります。トークンの作成方法の詳細については、[エクソーラログインAPIに関するドキュメント](/ja/api/login/authentication-schemes#getting-user-token)を参照してください。

別の方法として、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用することも可能です。

Type: http
Scheme: bearer
Bearer Format: JWT

### AuthForCart

`AuthForCart`認証スキームはカートでの購入用であり、以下の2つのモードに対応しています：

1. ユーザーのJWTによる認証。トークンは次の形式で認証ヘッダーに渡されます：`Authorization: Bearer <user_JWT>`。ここで`<user_JWT>`はユーザートークンです。トークンはユーザーを識別し、パーソナライズされたデータへのアクセスを提供します。

別の方法として、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用することも可能です。

`Authorization`ヘッダーなしの簡易モード。これは未認証ユーザー専用のモードであり、[ゲームキー販売](/ja/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users)のケースにのみ利用できます。トークンの代わりに、リクエストには以下のヘッダーを含める必要があります：
* リクエストIDを指定した`x-unauthorized-id`
* Base64でエンコードされたユーザーのメールアドレスを指定した`x-user`

Type: http
Scheme: bearer

### basicMerchantAuth

サーバー側のコールでは、`basicMerchantAuth`認証スキームを使用します。APIへのすべてのリクエストには、`Authorization: Basic <your_authorization_basic_key>`ヘッダーを含める必要があります。ここで、`your_authorization_basic_key`は、Base64標準に従ってエンコードされた`merchant_id:api_key`ペアです。

[パブリッシャーアカウント](https://publisher.xsolla.com/)に移動して、パラメータの値を確認します：

* `merchant_id`は次の場所に表示されます：
  * **会社設定 > 会社**セクション
  * パブリッシャーアカウントの任意のページのブラウザアドレスバーのURLに表示されます。URLの形式は以下の通りです：`https://publisher.xsolla.com/<merchant_id>`。
* `api_key`は作成時にパブリッシャーアカウントで一度だけ表示され、お客様側で保存する必要があります。新しいキーは次のセクションで作成できます：
  * [会社設定 > APIキー](https://publisher.xsolla.com/0/settings/api_key)

APIキーの操作に関する詳細は、[APIリファレンス](https://developers.xsolla.com/ja/api/getting-started/#api_keys_overview)を参照してください。

Type: http
Scheme: basic

## Download OpenAPI description

[カタログAPI](https://xsolla.redocly.app/_bundle/@l10n/ja/api/catalog/index.yaml)

## 管理者

### 仮想アイテムのリストを取得

 - [GET /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list.md): 管理用のプロジェクト内の仮想アイテムリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想アイテムを作成

 - [POST /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-item.md): 仮想アイテムを作成します。

### 指定されたグループ外部IDによる仮想アイテムのリストを取得します。

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/external_id/{external_id}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-external-id.md): 管理用のグループ内の仮想アイテムリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 指定されたグループIDによる仮想アイテムのリストを取得します。

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/id/{group_id}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-id.md): 管理用のグループ内の仮想アイテムリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想アイテムを取得

 - [GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-item.md): 管理用のプロジェクト内の仮想アイテムを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想アイテムを更新

 - [PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-update-virtual-item.md): 仮想アイテムを更新します。

### 仮想アイテムを削除

 - [DELETE /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-delete-virtual-item.md): 仮想アイテムを削除します。

### 仮想通貨のリストを取得

 - [GET /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-currencies-list.md): 管理用のプロジェクト内の仮想通貨リストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想通貨を作成

 - [POST /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency.md): 仮想通貨を作成します。

### 仮想通貨を取得

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency.md): 管理用のプロジェクト内の仮想通貨を取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想通貨を更新

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency.md): 仮想通貨を更新します。

### 仮想通貨を削除

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency.md): 仮想通貨を削除します。

### 仮想通貨パッケージリストを取得（管理者）

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-packages-list.md): 管理用のプロジェクト内の仮想通貨パッケージリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 仮想通貨パッケージを作成

 - [POST /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency-package.md): 仮想通貨パッケージを作成します。

### 仮想通貨パッケージを更新

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency-package.md): 仮想通貨パッケージを更新します。

### 仮想通貨パッケージを削除

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency-package.md): 仮想通貨パッケージを削除します。

### 仮想通貨パッケージを取得

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-package.md): 管理用のプロジェクト内の仮想通貨パッケージを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

## カタログ

### 仮想アイテムリストを取得

 - [GET /v2/project/{project_id}/items/virtual_items](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items.md): カタログ構築のために、仮想アイテムのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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


 関連情報： クライアント側の検索またはインデックス作成のためのすべての仮想アイテムリストを取得するAPIコール。

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

 - [GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items-sku.md): カタログを作成するためにSKUによる仮想アイテムを取得します。


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

### すべての仮想アイテムリストを取得

 - [GET /v2/project/{project_id}/items/virtual_items/all](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-all-virtual-items.md): ククライアント側での検索用に、すべての仮想アイテムのリストを取得します。


  注意
    アイテムSKU、名前、グループ、および説明のみを返します。





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


 関連情報： ページネーションに対応した詳細なアイテムデータをを取得するため仮想アイテムリストを取得するAPIコール。

### 仮想通貨リストを取得

 - [GET /v2/project/{project_id}/items/virtual_currency](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency.md): カタログ構築のために、仮想通貨のリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### SKUによる仮想通貨を取得

 - [GET /v2/project/{project_id}/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency-sku.md): カタログを作成するためにSKUによる仮想通貨を取得します。


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

### 仮想通貨パッケージリストを取得

 - [GET /v2/project/{project_id}/items/virtual_currency/package](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package.md): カタログ構築のために、仮想通貨パッケージを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### SKUによる販売可能なアイテムを取得する

 - [GET /v2/project/{project_id}/items/virtual_currency/package/sku/{virtual_currency_package_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-sku.md): カタログを作成するためにSKUによる仮想通貨パッケージを取得します。


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

### 指定されたグループによるアイテムリストを取得

 - [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items-group.md): カタログを作成するために、指定されたグループからアイテムリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### 指定されたグループの仮想通貨リストを取得します

 - [GET /v2/project/{project_id}/items/virtual_currency/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency-group.md): カタログを構築するために、指定されたグループから仮想通貨リストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### 指定されたグループの仮想通貨パッケージリストを取得します

 - [GET /v2/project/{project_id}/items/virtual_currency/package/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-group.md): カタログを構築するために、指定されたグループから仮想通貨パッケージリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

## 仮想決済

### 仮想通貨で購入した指定商品で注文を作成する

 - [POST /v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}](https://xsolla.redocly.app/ja/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency.md): 仮想通貨を使用したアイテム購入を作成します。


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

## カタログ

### ゲームリストを取得

 - [GET /v2/project/{project_id}/items/game](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-games-list.md): カタログ構築のために、ゲームのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### 指定されたグループによるゲームリストを取得

 - [GET /v2/project/{project_id}/items/game/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-games-group.md): カタログ構築のために、指定されたグループからゲームリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### カタログ用ゲームを取得

 - [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-game-by-sku.md): カタログのゲームを取得します。


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

### カタログ用のゲームキーを取得

 - [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-game-key-by-sku.md): カタログのゲームキーを取得します。


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

### 指定されたグループのゲームキーリストを取得

 - [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-game-keys-group.md): カタログ構築のために、指定されたグループからゲームキーのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### DRMリストを取得

 - [GET /v2/project/{project_id}/items/game/drm](https://xsolla.redocly.app/ja/api/catalog/game-keys-catalog/get-drm-list.md): 利用可能なDRMのリストを取得します。

## 資格

### ユーザーが所有しているゲームソフトのリストを取得

 - [GET /v2/project/{project_id}/entitlement](https://xsolla.redocly.app/ja/api/catalog/game-keys-entitlement/get-user-games.md): ユーザーが所有しているゲームソフトのリストを取得します。応答には特定のユーザーが所有するゲームの配列が含まれます。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### クライアントによるゲームコードを引き換える

 - [POST /v2/project/{project_id}/entitlement/redeem](https://xsolla.redocly.app/ja/api/catalog/game-keys-entitlement/redeem-game-pin-code.md): 提供されたゲームコードで権利を付与します。


  注意
    コードの引き換えは、DRMフリーのプラットフォームのみに対応しています。





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

### 資格付与（管理者）

 - [POST /v2/project/{project_id}/admin/entitlement/grant](https://xsolla.redocly.app/ja/api/catalog/game-keys-entitlement/grant-entitlement-admin.md): ユーザーに権利を付与します。

注意 ゲームコードやDRM-freeプラットフォームのゲームのみ付与可能です。

### 資格の取り消し（管理者）

 - [POST /v2/project/{project_id}/admin/entitlement/revoke](https://xsolla.redocly.app/ja/api/catalog/game-keys-entitlement/revoke-entitlement-admin.md): ユーザーの権利を取り消します。

注意ゲームコードやDRMフリープラットフォームのゲームのみ取り消すことができます。

## 管理者

### ゲームを作成

 - [POST /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-create-game.md): プロジェクト内のゲームを作成します。

### ゲームリストを取得（管理者）

 - [GET /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-game-list.md): 管理用プロジェクト内のゲームのリストを取得します。
ゲームは、ユーザーが購入可能なゲームキーで構成されています。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### ゲームを取得（管理者）

 - [GET /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-game-by-sku.md): 管理用ゲームを取得します。
ゲームは、ユーザーが購入可能なゲームキーで構成されています。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### SKUによるゲームを更新

 - [PUT /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-update-game-by-sku.md): SKUによるプロジェクト内のゲームを更新します。

### ゲームをSKUで削除

 - [DELETE /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-delete-game-by-sku.md): SKUによるプロジェクト内のゲームを削除します。

### IDでゲームを取得（管理者）

 - [GET /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-game-by-id.md): 管理用ゲームを取得します。
ゲームは、ユーザーが購入可能なゲームキーで構成されています。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### IDによるゲームを更新

 - [PUT /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-update-game-by-id.md): IDによるプロジェクト内のゲームを更新します。

### IDによるゲームを削除

 - [DELETE /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-delete-game-by-id.md): IDによるプロジェクト内のゲームを削除します。

### コードをアップロード

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-upload-codes-by-sku.md): ゲームキーSKUによるコードをアップロードします。

### IDによるコードをアップロード

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-upload-codes-by-id.md): ゲームキーIDによるコードをアップロードします。

### コード読み込みセッションに関する情報を取得

 - [GET /v2/project/{project_id}/admin/items/game/key/upload/session/{session_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-codes-session.md): コード読み込みセッションに関する情報を取得します。

### コードを取得

 - [GET /v2/project/{project_id}/admin/items/game/key/request/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-codes-by-sku.md): ゲームキーSKUによる一定数のコードを取得します。

### IDによるコードを取得

 - [GET /v2/project/{project_id}/admin/items/game/key/request/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-get-codes-by-id.md): ゲームキーIDによる一定数のコードを取得します。

### コードを削除

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-delete-codes-by-sku.md): ゲームキーSKUによる全コードを削除します。

### IDによるコードを削除

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/game-keys-admin/admin-delete-codes-by-id.md): ゲームキーIDによりすべてのコードを削除します。

## 管理者

### バンドルのリストを取得

 - [GET /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-get-bundle-list.md): 管理用のプロジェクト内のバンドルリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### バンドルを作成

 - [POST /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-create-bundle.md): 複数のアイテムを1つの単位としてセット販売するバンドルを作成します。バンドルには、仮想アイテム、仮想通貨パッケージ、ゲームキー、および他のバンドルを含めることができます。詳細については、バンドルセクションを参照してください。

注意content配列内のすべてのアイテムは、事前にプロジェクト内で作成されている必要があります。指定されたSKUが存在しない場合、システムはエラーを返します。

### 指定されたグループIDのバンドルリストを取得する

 - [GET /v2/project/{project_id}/admin/items/bundle/group/id/{group_id}](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-id.md): 管理用にグループ内のバンドルリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### 指定されたグループexternal IDのバンドルリストを取得

 - [GET /v2/project/{project_id}/admin/items/bundle/group/external_id/{external_id}](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-external-id.md): 管理用にグループ内のバンドルリストを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### バンドルを更新

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-update-bundle.md): バンドルを更新します。このAPIコールはバンドル情報を完全に上書きします。変更したいフィールドだけでなく、リクエスト本文に必要なすべてのフィールドを渡してください。詳細については、バンドルセクションを参照してください。

注意content配列内のすべてのアイテムは、事前にプロジェクト内で作成されている必要があります。指定されたSKUが存在しない場合、システムはエラーを返します。

### バンドルを削除

 - [DELETE /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-delete-bundle.md): バンドルを削除します。

### バンドルを取得

 - [GET /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-get-bundle.md): 管理用プロジェクト内のバンドルを取得します。

注このエンドポイントは、ストアカタログの構築に使用しないでください。

### カタログにバンドルを表示

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/show](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-show-bundle.md): カタログにバンドルを表示します。

### カタログにバンドルを非表示

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/hide](https://xsolla.redocly.app/ja/api/catalog/bundles-admin/admin-hide-bundle.md): カタログにバンドルを非表示します。

## カタログ

### バンドルのリストを取得

 - [GET /v2/project/{project_id}/items/bundle](https://xsolla.redocly.app/ja/api/catalog/bundles-catalog/get-bundle-list.md): カタログ構築のために、バンドルのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### 指定されたバンドルを取得

 - [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://xsolla.redocly.app/ja/api/catalog/bundles-catalog/get-bundle.md): 指定されたバンドルを取得します。


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

### 指定されたグループのバンドルリストを取得

 - [GET /v2/project/{project_id}/items/bundle/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/bundles-catalog/get-bundle-list-in-group.md): カタログ構築のために、グループ内のバンドルのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

## カート（クライアント側）

このセクションのコールを使用して、クライアント側でカートを管理します。

### カートIDによりカートを取得

 - [GET /v2/project/{project_id}/cart/{cart_id}](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/get-cart-by-id.md): カートIDによりユーザーのカートを返します。

### 現在のユーザーのカートを取得

 - [GET /v2/project/{project_id}/cart](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/get-user-cart.md): 現在のユーザーのカートを返します。

### カートIDによるすべてカートアイテムを削除

 - [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/cart-clear-by-id.md): カートのアイテムをすべて削除します。

### 現在のカートからすべてのカートアイテムを削除

 - [PUT /v2/project/{project_id}/cart/clear](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/cart-clear.md): カートのアイテムをすべて削除します。

### カートにアイテムを入れる

 - [PUT /v2/project/{project_id}/cart/fill](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/cart-fill.md): カートにアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテムは渡された値で置き換えられます。

### カートに特定のアイテムを入れる

 - [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/cart-fill-by-id.md): カートに特定のアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテム位置が渡された値で置き換えられます。

### カートIDによるカートアイテムを更新

 - [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/put-item-by-cart-id.md): 既存のカートアイテムを更新するか、カート内のアイテムを作成します。

### カートIDによるカートアイテムを削除

 - [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/delete-item-by-cart-id.md): カートからアイテムを削除します。

### 現在のカートからカートのアイテムを更新

 - [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/put-item.md): 既存のカートアイテムを更新するか、カート内のアイテムを作成します。

### 現在のカートからアイテムを削除

 - [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/cart-client-side/delete-item.md): カートからアイテムを削除します。

## カート（サーバー側）

このセクションのコールを使用して、サーバー側でカートを管理します。

### カートにアイテムを入れる

 - [PUT /v2/admin/project/{project_id}/cart/fill](https://xsolla.redocly.app/ja/api/catalog/cart-server-side/admin-cart-fill.md): 現在のカートにアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテムは渡された値で置き換えられます。

### カートIDでカートにアイテムを入れる

 - [PUT /v2/admin/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/ja/api/catalog/cart-server-side/admin-fill-cart-by-id.md): カートIDによるカートにアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテムは渡された値で置き換えられます。

## 決済（クライアント側）

このセクションのコールを使用して、クライアント側で決済トークンを作成します。

### 特定のカートの全アイテムを対象とした注文を作成する

 - [POST /v2/project/{project_id}/payment/cart/{cart_id}](https://xsolla.redocly.app/ja/api/catalog/payment-client-side/create-order-by-cart-id.md): クライアントサーバーへの統合に使用されます。特定のカートからのすべてのアイテムを含む注文を作成し、そのための決済トークンを生成します。作成された注文はnew注文ステータスを取得します。

クライアントIPは、ユーザーの国を決定するために使用され、注文に対応する通貨と利用可能な決済方法を適用するために使用されます。

決済UIを新しいウィンドウで開くには、以下のリンクをご利用ください：https://secure.xsolla.com/paystation4/?token={token}で{token}受信したトークン。

テスト目的には、以下のリンクを使用してください：https://sandbox-secure.xsolla.com/paystation4/?token={token}。

注意このメソッドはIPを使用してユーザーの国を決定し、注文の通貨を選択するため、このメソッドはクライアント側からのみ使用し、サーバー側からは使用しないことが重要です。サーバー側からこの方法を使用すると、通貨が正しく判定されず、ペイステーションの決済方法に影響を与える可能性があります。

### 現在のカートの全アイテムを対象とした注文を作成する

 - [POST /v2/project/{project_id}/payment/cart](https://xsolla.redocly.app/ja/api/catalog/payment-client-side/create-order.md): クライアントサーバーへの統合に使用されます。カートからのすべてのアイテムを含む注文を作成し、そのための決済トークンを生成します。作成された注文はnew注文ステータスを取得します。

クライアントIPは、ユーザーの国を決定するために使用され、注文に対応する通貨と利用可能な決済方法を適用するために使用されます。

決済UIを新しいウィンドウで開くには、以下のリンクをご利用ください：https://secure.xsolla.com/paystation4/?token={token}で{token}受信したトークン。

テスト目的には、以下のリンクを使用してください：https://sandbox-secure.xsolla.com/paystation4/?token={token}。

注意このメソッドはIPを使用してユーザーの国を決定し、注文の通貨を選択するため、このメソッドはクライアント側からのみ使用し、サーバー側からは使用しないことが重要です。サーバー側からこの方法を使用すると、通貨が正しく判定されず、ペイステーションの決済方法に影響を与える可能性があります。

### 指定したアイテムで注文を作成

 - [POST /v2/project/{project_id}/payment/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/payment-client-side/create-order-with-item.md): クライアントからサーバーへの統合に使用されます。指定したアイテムで注文を作成し、その注文用の決済トークンを生成します。作成された注文は、newの注文ステータスになります。

クライアントIPは、ユーザーの国を決定するために使用され、注文に対応する通貨と利用可能な決済方法を適用するために使用されます。

決済UIを新しいウィンドウで開くには、以下のリンクをご利用ください：https://secure.xsolla.com/paystation4/?token={token}で{token}受信したトークン。

テスト目的には、以下のリンクを使用してください：https://sandbox-secure.xsolla.com/paystation4/?token={token}。

注意このメソッドはIPを使用してユーザーの国を決定し、注文の通貨を選択するため、このメソッドはクライアント側からのみ使用し、サーバー側からは使用しないことが重要です。サーバー側からこの方法を使用すると、通貨が正しく判定されず、ペイステーションの決済方法に影響を与える可能性があります。




  注意
    このAPIコールは、認証にユーザーのJWTを使用します。
    以下の形式でAuthorizationヘッダーにトークンを含めます：Bearer &lt;user_JWT&gt;。ユーザーJWTの詳細については、このコールのセキュリティブロックを参照してください。

## 決済（サーバー側）

このセクションのコールを使用して、サーバー側で決済トークンを作成します。

### 購入用の決済トークンを作成

 - [POST /v3/project/{project_id}/admin/payment/token](https://xsolla.redocly.app/ja/api/catalog/payment-server-side/admin-create-payment-token.md): 注文とその支払いトークンを生成します。注文はリクエスト本文に渡されたアイテムに基づいて生成されます。

決済UIを新しいウィンドウで開くには、以下のリンクをご利用ください：https://secure.xsolla.com/paystation4/?token={token}で{token}受信したトークン。

テスト目的には、以下のリンクを使用してください：https://sandbox-secure.xsolla.com/paystation4/?token={token}。

通知
   
   正しく動作させるためには、user.country.valueパラメータ（国名コード）、
またはX-User-Ipヘッダー（国が不明な場合のユーザーのIPv4アドレス）のいずれかを渡してください。渡されたデータは決済通貨を決定するために使用されます。IPv6アドレスはサポートされていません。選択された通貨は、エクソーラの決済UIでの決済方法に使用されます。

## 注文

このセクションのコールを使用して、注文に関する情報を取得します。

### 注文

 - [GET /v2/project/{project_id}/order/{order_id}](https://xsolla.redocly.app/ja/api/catalog/order/get-order.md): 指定された注文を取得します。

### 指定期間の注文リストを取得する

 - [POST /v3/project/{project_id}/admin/order/search](https://xsolla.redocly.app/ja/api/catalog/order/admin-order-search.md): 作成日の古いものから新しいものへと並べられた注文リストを取得します。

## 無料アイテム

ユーザーに<a href="https://developers.xsolla.com/ja/items-catalog/catalog-features/free-items/">無料アイテム</a>を付与するには、このセクションのコールを使用してください。

### 無料カートで注文を作成

 - [POST /v2/project/{project_id}/free/cart](https://xsolla.redocly.app/ja/api/catalog/free-item/create-free-order.md): 無料カートのすべてのアイテムを含む注文を作成します。作成された注文はdoneという注文状況を取得します。

### 特定の無料カートで注文を作成

 - [POST /v2/project/{project_id}/free/cart/{cart_id}](https://xsolla.redocly.app/ja/api/catalog/free-item/create-free-order-by-cart-id.md): 特定の無料カートのすべてのアイテムを含む注文を作成します。作成された注文はdoneという注文状況を取得します。

### 指定された無料アイテムで注文を作成

 - [POST /v2/project/{project_id}/free/item/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/free-item/create-free-order-with-item.md): 指定された無料アイテムで注文を作成します。作成された注文は、doneの注文ステータスになります。


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

## 管理

### 指定したユーザーのすべての購入制限を更新

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/all](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/reset-all-user-items-limit.md): ユーザーが再度購入できるように、アイテムの購入制限を更新します。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

### 購入制限を更新

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/reset-user-item-limit.md): ユーザーが再び購入できるように、アイテムの購入制限を更新します。userパラメータがnullである場合、このコールはすべてのユーザーに対してこの制限を更新します。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

### 指定されたユーザが利用できるアイテムの数を取得

 - [GET /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/get-user-item-limit.md): 指定されたユーザーに対して適用された制限内で利用可能なアイテムの残り数を取得します。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

### 指定したユーザーが使用できるアイテムの数を増やす

 - [POST /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/add-user-item-limit.md): 適用される制限内で、指定されたユーザーが使用できるアイテムの残りの数を増やします。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

### 指定されたユーザーが利用できるアイテムの数を設定

 - [PUT /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/set-user-item-limit.md): 指定されたユーザーが、増減後に適用された制限の範囲内で購入できる数量を設定します。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

### 指定したユーザーが利用できるアイテムの数を減らす

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/user-limits-admin/remove-user-item-limit.md): 適用される制限内で、指定されたユーザーが使用できるアイテムの残りの数を減らします。

User limit APIを使用すると、アイテムを数量限定で販売できます。購入制限を構成するには、目的のアイテム タイプ モジュールの 管理セクションに移動します：
* ゲームキー
* 仮想アイテム & 通貨
* バンドル

## 管理者

### JSONファイル経由でアイテムをインポートする

 - [POST /v1/projects/{project_id}/import/from_external_file](https://xsolla.redocly.app/ja/api/catalog/connector-admin/import-items-from-external-file.md): 指定したURLを介してJSONファイルからストアにアイテムをインポートします。JSONファイルからのインポートの詳細については、ドキュメントを参照してください。

### アイテムのインポート状況を取得

 - [GET /v1/admin/projects/{project_id}/connectors/import_items/import/status](https://xsolla.redocly.app/ja/api/catalog/connector-admin/get-items-import-status.md): プロジェクトへのアイテムのインポートの進行状況に関する情報を取得します。このAPIコールでは、APIまたはPublisher Account APIを通じて最後に実行されたインポートに関するデータを取得します。

## 先行予約

### アイテム先行予約制限に関する情報を取得

 - [GET /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/get-pre-order-limit.md): アイテムの先行予約制限の取得を設定します。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### アイテム先行予約制限に数量を追加

 - [POST /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/add-pre-order-limit.md): アイテムの先行予約数に数量を追加します。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### アイテムの先行予約制限の数量を設定

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/set-pre-order-limit.md): アイテムの先行予約制限の数量を設定します。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### アイテムの先行予約制限の数量を削除

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/remove-pre-order-limit.md): アイテムの先行予約制限の数量を削除します。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### アイテムの先行予約制限をトグル

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/toggle](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/toggle-pre-order-limit.md): アイテムの先行予約制限を有効/無効にします。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/toggle

### アイテムの先行予約制限の数量をすべて削除

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/ja/api/catalog/common-pre-orders/remove-all-pre-order-limit.md): アイテムの先行予約制限のすべての数量を削除します。

Pre-Order limit APIは、アイテムを数量限定で販売するためのAPIです。先行予約の設定は、該当するアイテムモジュールの管理セクションから行います：
* ゲームキー
* 仮想アイテム & 仮想通貨
* バンドル

このエンドポイントの別名：
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/all

## マーチャント

### プロジェクトを取得

 - [GET /v2/merchant/{merchant_id}/projects](https://xsolla.redocly.app/ja/api/catalog/common-merchant/get-projects.md): マーチャントのプロジェクトのリストを取得します。


  注意このAPIコールには、project_idパスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。

## カタログ

このAPIは販売可能なアイテムや特定のアイテムを取得することができます。

### 販売可能なアイテムのリストを取得

 - [GET /v2/project/{project_id}/items](https://xsolla.redocly.app/ja/api/catalog/common-catalog/get-sellable-items.md): カタログ構築のために、販売可能なアイテムのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

### IDによる販売可能なアイテムを取得

 - [GET /v2/project/{project_id}/items/id/{item_id}](https://xsolla.redocly.app/ja/api/catalog/common-catalog/get-sellable-item-by-id.md): IDによる販売可能なアイテムを取得します。


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

### SKUによる販売可能なアイテムを取得

 - [GET /v2/project/{project_id}/items/sku/{sku}](https://xsolla.redocly.app/ja/api/catalog/common-catalog/get-sellable-item-by-sku.md): カタログを作成するためにSKUによる販売可能なアイテムを取得します。


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

### 指定されたグループの販売可能なアイテムリストを取得

 - [GET /v2/project/{project_id}/items/group/{external_id}](https://xsolla.redocly.app/ja/api/catalog/common-catalog/get-sellable-items-group.md): カタログ構築のために、指定されたグループから販売可能なアイテムのリストを取得します。


  注意
    すべてのプロジェクトには、応答で取得できるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり50アイテムです。ページごとにデータを取得するには、制限とオフセットフィールドを使用してください。





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

## 共通地域

地域別の販売制限を使用すると、特定の国または国グループにおけるアイテムの可用性を管理できます。例えば、ライセンスの制約により、特定の国だけでゲームを販売するといったことが可能です。

制限の設定には「地域」を使用します。各地域は、1つ以上の国を単一の`region_id`でまとめたものです。アイテムを1つ以上の地域に関連付けることができます。

アイテムの可用性は、以下のように判定されます：

* アイテムに地域の指定がない場合、すべての国で購入可能です。
* アイテムに地域が指定されており、ユーザーの国がそのいずれかに含まれている場合、そのユーザーはアイテムを購入できます。
* アイテムに地域が指定されており、ユーザーの国がどの地域にも含まれていない場合、そのユーザーはアイテムを購入できません。

ユーザーの国は、カタログセクションからのAPIコールを通じてカタログをリクエストする際、`country`パラメータとして渡されます。このパラメータが渡されない場合は、ユーザーのIPアドレスに基づいて国が判定されます。

ユーザーの国とアイテムの地域との照合は、カタログのリクエスト時と注文作成時の2回行われます。購入不可のアイテムはカタログのレスポンスには含まれず、そのようなアイテムを含む注文が作成されることはありません。

地域の作成、更新、および削除には、**共通地域**グループのAPIコールを使用します。

地域別の販売制限のセットアップフロー：

1. [地域を作成する](https://developers.xsolla.com/ja/api/catalog/common-regions/admin-create-region/)APIコールを使用して、対象となる国のリストを指定して地域を作成します。レスポンスには、次のステップで必要となる`region_id`が返されます。
2. アイテムを[作成する](https://developers.xsolla.com/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-item/)際、または[更新する](https://developers.xsolla.com/ja/api/catalog/virtual-items-currency-admin/admin-update-virtual-item/)際に、`regions`配列にその`region_id`を渡すことで、仮想アイテムを地域に関連付けます。
3. **カタログ**セクションのAPIコール（例：[仮想アイテムリストを取得する](https://developers.xsolla.com/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items)APIコール）を使用して、ユーザーにカタログを表示します。ユーザーの国は`country`パラメータによって決定されます。このパラメータが提供されない場合は、ユーザーのIPアドレスに基づいて判定されます。ユーザーの国で利用不可のアイテムは、カタログの応答には含まれません。
4. ユーザーがアイテムまたはカートの決済に進む際に、注文を作成します：
    * アイテムをカートに追加している場合 — [特定のカートの全アイテムを対象とした注文を作成する](https://developers.xsolla.com/ja/api/catalog/payment-client-side/create-order)または[現在のカートの全アイテムを対象とした注文を作成する](https://developers.xsolla.com/ja/api/catalog/payment-client-side/create-order)APIコールを使用します。
    * 単一アイテムの迅速な購入の場合 — アイテムのSKUを渡して[指定したアイテムで注文を作成する](https://developers.xsolla.com/ja/api/catalog/payment-client-side/create-order-with-item)APIコールを使用します。

  レスポンスには、決済UIを開くためのトークンが含まれています。

<div class="note">
  <b>注意</b><br><br>
エクソーラは、ユーザーの国がアイテムに指定された地域に含まれているかを確認します。国がアイテムの地域に含まれていない場合、注文を作成することはできません。
</div>

<br>

5. 注文を支払うための決済UIを開く処理を実装します。

![Common regions](https://cdn.xsolla.net/developers/current/images/api_docs/api-regions.svg)

### 地域リストを取得

 - [GET /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/ja/api/catalog/common-regions/admin-get-regions.md): 地域を取得します。

地域制限を管理するためにリージョンを使用することができます。

### 地域を作成

 - [POST /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/ja/api/catalog/common-regions/admin-create-region.md): 地域を作成します。

地域制限を管理するためにリージョンを使用することができます。

### 地域を取得

 - [GET /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/ja/api/catalog/common-regions/admin-get-region.md): 特定地域を取得します。

地域制限を管理するためにリージョンを使用することができます。

### 地域を更新

 - [PUT /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/ja/api/catalog/common-regions/admin-update-region.md): 特定地域を更新します。

地域制限を管理するためにリージョンを使用することができます。

### 地域を削除

 - [DELETE /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/ja/api/catalog/common-regions/admin-delete-region.md): 特定の地域を削除します。

## ウェブフック

### ウェブフックバージョンの更新

 - [PUT /v2/project/{project_id}/admin/webhook/version](https://xsolla.redocly.app/ja/api/catalog/common-webhooks/update-webhook-version.md): プロジェクトのウェブフックバージョンを更新します。バージョン2では、items配列に追加のパラメータが含まれます。

ウェブフックの詳細については、注文状況の追跡のセットアップを参照してください。

## 管理者

### 属性リストを取得（管理者）

 - [GET /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-get-attribute-list.md): 管理用プロジェクトから属性のリストを取得します。

### 属性を作成

 - [POST /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-create-attribute.md): 属性を作成します。

### 属性を更新

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-update-attribute.md): 属性を更新します。

### 指定された属性を取得

 - [GET /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-get-attribute.md): 指定された属性を取得します。

### 属性を削除

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/delete-attribute.md): 属性を削除します。

注意アイテム属性を削除すると、そのすべてのデータおよびアイテムとの関連付けが失われます。

### 属性値を作成

 - [POST /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-create-attribute-value.md): 属性値を作成します。

注意すべてのプロジェクトには、応答で得られる属性値に制限があります。初期値および最大値は、1属性あたり20個の値。

### 属性値をすべて削除

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-delete-all-attribute-value.md): 属性のすべての値を削除します。

注意属性の値を削除すると、その属性とアイテム間のすべての関連付けが失われます。アイテムの属性値を変更するには、値を削除して新しい値を作成するのではなく、属性値を更新するAPIコールを使用してください。

### 属性値を更新

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-update-attribute-value.md): 属性値を更新します。

### 属性値を削除

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/ja/api/catalog/attribute-admin/admin-delete-attribute-value.md): 一つの属性値を削除します。

注意属性の値を削除すると、その属性とアイテム間のすべての関連付けが失われます。アイテムの属性値を変更するには、値を削除して新しい値を作成するのではなく、属性値を更新するAPIコールを使用してください。

## 管理者

### アイテムグループリストを取得する

 - [GET /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-get-item-group-list.md): プロジェクト内のアイテムグループの完全なリストをページネーションなしで取得します。管理目的のため。

注意このエンドポイントは、ストアカタログの構築に使用しないでください。代わりに、アイテムグループリストを取得クライアント側エンドポイントを使用してください。

### アイテムグループの作成

 - [POST /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-create-item-group.md): プロジェクト内にアイテムグループを作成します。
カタログを構築するためにアイテムグループを取得するには、アイテムグループリストを取得するクライアント側エンドポイントを使用してください。

### 外部IDによるアイテムグループの取得

 - [GET /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-get-item-group.md): 管理目的で外部IDを指定してアイテムグループを取得します。

注意このエンドポイントは、ストアカタログの構築に使用しないでください。代わりに、アイテムグループリストを取得クライアント側エンドポイントを使用してください。

### アイテムグループの更新

 - [PUT /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-update-item-group.md): 外部IDによるアイテムグループを更新します。

### アイテムグループの削除

 - [DELETE /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-delete-item-group.md): 外部IDによるアイテムグループを削除します。

### アイテムタイプでフィルタリングされたアイテムグループリストの取得

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-get-item-group-list-by-item-type.md): アイテムタイプによる絞り込みを行ってアイテムグループリストを取得します。グループ内でカウントされるのは、指定されたタイプのアイテムのみです。これはアイテムグループリストを取得する エンドポイントと類似していますが、カウント時にアイテムタイプによる追加の絞り込みが行われます。

### アイテムタイプでフィルタリングされた外部IDによるアイテムグループの取得

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups/{external_id}](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-get-item-group-by-item-type.md): 外部IDでアイテムグループを取得します。グループ内でカウントされるのは、指定されたタイプのアイテムのみです。これは外部IDによるアイテムグループを取得するエンドポイントと類似していますが、カウント時にアイテムタイプによる追加の絞り込みが行われます。

### アイテムグループの並び替え

 - [PUT /v2/project/{project_id}/admin/group/order](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-reorder-item-groups.md): プロジェクト内のアイテムグループの表示順を設定します。新しい順序の値を持つグループの配列を渡します。

### グループ内（外部IDによる）のアイテムの並べ替え

 - [PUT /v2/project/{project_id}/admin/group/{external_id}/order/item](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-reorder-items-in-group.md): 外部IDによって識別されるグループ内のアイテムの表示順序を設定します。新しい順序の値を指定したアイテムの配列を渡します。

### グループ内（IDによる）のアイテムの並べ替え

 - [PUT /v2/project/{project_id}/admin/group/id/{id}/order/item](https://xsolla.redocly.app/ja/api/catalog/item-groups-admin/admin-reorder-items-in-group-by-id.md): 内部の数値IDによって識別されるグループ内のアイテムの表示順序を設定します。新しい順序の値を指定したアイテムの配列を渡します。

## カタログ

### アイテムグループリストを取得する

 - [GET /v2/project/{project_id}/items/groups](https://xsolla.redocly.app/ja/api/catalog/item-groups-catalog/get-item-groups.md): ページネーションなしでカタログを構築するためのアイテムグループリストを取得します。

NoteIn general, the use of catalog of items is available without authorization. Only authorized users can get a personalized catalog.

