コンテンツへスキップ

Catalog API (2.0.0)

概要

  • バージョン: 2.0.0
  • サーバーhttps://store.xsolla.com/api
  • メールでお問い合わせ
  • 連絡先URL: https://xsolla.com/
  • 要求されるTLSバージョン: 1.2

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

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

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

APIコール

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

  • Admin — カタログアイテムやグループの作成、更新、削除、および設定を行うためのコール。マーチャントまたはプロジェクトの認証情報による基本アクセス認証で認証されます。ストアフロントでの使用は想定されていません。
  • Catalog — アイテムの取得や、エンドユーザー向けのカスタムストアフロントを構築するためのコール。高負荷なシナリオに対応できるよう設計されています。ユーザー個別の制限事項や実施中のプロモーションなど、パーソナライズされたデータを返すための、ユーザーJWTによる任意認証をサポートしています。
OpenAPI記述をダウンロード
言語
サーバー
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ja/api/catalog/
操作
操作
操作
操作
操作
操作
操作
操作

カート(クライアント側)

操作

カート(サーバー側)

操作

カートにアイテムを入れるServer-side

リクエスト

現在のカートにアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテムは渡された値で置き換えられます。

セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横にあります。

例: 44056
クエリ
localestring

応答言語。ISO 639-1に基づく小文字の2文字言語コード。

デフォルト "en"
ヘッダー
x-user-forstring

ユーザー識別子は、エクソーラログインユーザーJWTまたはペイステーションアクセストークンを使用して転送することができます。

例: ACCESS_TOKEN/LOGIN_JWT
x-user-idstring<= 32 characters

ゲーム付きカートを販売する場合、自分のユーザーIDを使用することができます。

例: UNIQUE_ID
ボディapplication/json
countrystring= 2 characters

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国の詳細情報については、ドキュメントを確認してください。
例:country=US

例: "US"
currencystring= 3 characters

カートに表示されるアイテム価格の通貨。ISO4217規格詳細については、ドキュメントを参照してください。エクソーラでサポートされている通貨

例: "USD"
itemsArray of objectsnon-empty必須
items[].​quantitynumber>= 1必須

アイテムの数量。

例: 2
items[].​skustringnon-empty必須

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

例: "t-shirt"
curl -i -X PUT \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/admin/project/44056/cart/fill?locale=en' \
  -H 'Content-Type: application/json' \
  -H 'x-user-for: ACCESS_TOKEN/LOGIN_JWT' \
  -H 'x-user-id: UNIQUE_ID' \
  -d '{
    "currency": "USD",
    "items": [
      {
        "quantity": 2,
        "sku": "com.xsolla.cup01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.t-shirt01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.cup02"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.hat01"
      }
    ]
  }'

レスポンス

アイテムの入ったカートは正常に返送されました。

ボディapplication/json
cart_idstring

カートID。購入ページや決済APIのエンドポイントへの問い合わせに渡します。

例: "cart_id"
is_freeboolean(value-cart_is_free)

trueの場合で、カートは無料です。

デフォルト false
例: false
itemsArray of objects
priceobject or null

カート価格。

promotionsArray of objects(Catalog_cart_promotions)

カート全体に適用されたプロモーション。この配列は、次の場合に返されます:

  • プロモーションがカート合計金額に影響する場合。例えば、購入割引設定が適用されたプロモーションコード。

  • プロモーションがボーナスアイテムをカートに追加する場合。

注文レベルに適用されるプロモーションがない場合は、空の配列が返されます。

warningsArray of objects
レスポンス
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {}, {} ], "price": { "amount": "15.97", "amount_without_discount": "22.96", "currency": "USD" }, "promotions": [ {} ], "warnings": [ {} ] }

カートIDでカートにアイテムを入れるServer-side

リクエスト

カートIDによるカートにアイテムを入れます。カートにすでに同じSKUのアイテムがある場合、既存のアイテムは渡された値で置き換えられます。

セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横にあります。

例: 44056
cart_idstring必須

カートID。

例: custom_id
クエリ
localestring

応答言語。ISO 639-1に基づく小文字の2文字言語コード。

デフォルト "en"
ヘッダー
x-user-forstring

ユーザー識別子は、エクソーラログインユーザーJWTまたはペイステーションアクセストークンを使用して転送することができます。

例: ACCESS_TOKEN/LOGIN_JWT
x-user-idstring<= 32 characters

ゲーム付きカートを販売する場合、自分のユーザーIDを使用することができます。

例: UNIQUE_ID
ボディapplication/json
countrystring= 2 characters

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国の詳細情報については、ドキュメントを確認してください。
例:country=US

例: "US"
currencystring= 3 characters

カートに表示されるアイテム価格の通貨。ISO4217規格詳細については、ドキュメントを参照してください。エクソーラでサポートされている通貨

例: "USD"
itemsArray of objectsnon-empty必須
items[].​quantitynumber>= 1必須

アイテムの数量。

例: 2
items[].​skustringnon-empty必須

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

例: "t-shirt"
curl -i -X PUT \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/admin/project/44056/cart/custom_id/fill?locale=en' \
  -H 'Content-Type: application/json' \
  -H 'x-user-for: ACCESS_TOKEN/LOGIN_JWT' \
  -H 'x-user-id: UNIQUE_ID' \
  -d '{
    "currency": "USD",
    "items": [
      {
        "quantity": 2,
        "sku": "com.xsolla.cup01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.t-shirt01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.cup02"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.hat01"
      }
    ]
  }'

レスポンス

アイテムの入ったカートは正常に返送されました。

ボディapplication/json
cart_idstring

カートID。購入ページや決済APIのエンドポイントへの問い合わせに渡します。

例: "cart_id"
is_freeboolean(value-cart_is_free)

trueの場合で、カートは無料です。

デフォルト false
例: false
itemsArray of objects
priceobject or null

カート価格。

promotionsArray of objects(Catalog_cart_promotions)

カート全体に適用されたプロモーション。この配列は、次の場合に返されます:

  • プロモーションがカート合計金額に影響する場合。例えば、購入割引設定が適用されたプロモーションコード。

  • プロモーションがボーナスアイテムをカートに追加する場合。

注文レベルに適用されるプロモーションがない場合は、空の配列が返されます。

warningsArray of objects
レスポンス
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {}, {} ], "price": { "amount": "15.97", "amount_without_discount": "22.96", "currency": "USD" }, "promotions": [ {} ], "warnings": [ {} ] }

決済(クライアント側)

操作

決済(サーバー側)

操作
操作

無料アイテム

操作
操作
操作

ウェブフック

操作
操作

マーチャント

操作

カタログ

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

操作
操作
操作