コンテンツへスキップ

Shop Builder API (2.0.0)

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.

OpenAPI記述をダウンロード
言語
サーバー
Mock server
https://xsolla.redocly.app/_mock/ja/api/deprecated/inventory/
https://store.xsolla.com/api/

クライアント

操作
操作

購入したアイテムをユーザーに付与するServer-sideAdmin

リクエスト

指定されたユーザーインベントリに、指定された購入アイテムを追加します。

注意

一度に処理できる操作は最大50個です。この制限を超える操作は無視されます。
セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。

デフォルト 44056
ボディapplication/json必須Array [
commentstring[ 1 .. 255 ] characters

操作説明。例:「毎月のチャレンジリワード」。

デフォルト "Monthly challenge rewards"
custom_parametersobject(Player-Inventory_custom_parameters)[ 1 .. 200 ] properties

プロジェクト特有のパラメータ。

例: {"array_param":[{"user_device_info":{"engine_version":"Unity 2020.2.0b5","os":"windows"},"user_public_id":{"nickname":"player1"}},{"user_device_info":{"engine_version":"UE 4.25","os":"mac"},"user_public_id":{"nickname":"player1"}}],"bool_param":true,"int_param":100,"null_param":null,"object_param":{"key":"value"}}
itemsArray of objectsnon-empty必須
items[].​quantitynumber必須

このクラスのアイテムが付与されるために必要な数。

デフォルト 1
items[].​skustring必須

アイテムクラス識別子。SKUには、英小文字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

デフォルト "booster_mega_1"
platformstring

ユーザーがプレイするパブリッシングプラットフォーム。

デフォルト "xsolla"
列挙型"playstation_network""xbox_live""xsolla""pc_standalone""nintendo_shop""google_play""app_store_ios""android_standalone""ios_standalone""android_other"
purchaseobject必須
purchase.​amountstring必須

控除前の購入金額。

デフォルト "2.99"
purchase.​currencystring必須

ISO 4217に基づく通貨を購入します。

デフォルト "USD"
purchase.​external_purchase_datestring必須

ISO 8601に基づく購入日。

デフォルト "2020-01-01T05:00:00+05:00"
purchase.​external_purchase_idstring必須

購入したプラットフォームからの購入インボイス識別子。

デフォルト "10-534-35"
userobject必須
user.​idstring

プラットフォーム上でユニークなユーザー識別子。

デフォルト "d342dad2-9d59-11e9-a384-42010aa8003f"
]
curl -i -X POST \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/deprecated/inventory/v2/project/{project_id}/inventory/purchase' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "purchase": {
        "amount": "3.5",
        "comment": "xsolla",
        "currency": "USD",
        "custom_parameters": [
          {
            "user_device_info": {
              "engine_version": "Unity 2020.2.0b5",
              "os": "windows"
            },
            "user_public_id": {
              "nickname": "player1"
            }
          },
          {
            "comment": "xsolla",
            "custom_parameters": {
              "content_creator_rewards": [
                {
                  "content_creator": {
                    "id": "cc1"
                  },
                  "reward": {
                    "amount": "10.00",
                    "currency": "USD"
                  }
                },
                {
                  "content_creator": {
                    "id": "cc2"
                  },
                  "reward": {
                    "amount": "15.00",
                    "currency": "RUB"
                  }
                }
              ]
            },
            "items": [
              {
                "quantity": 5,
                "sku": "com.xsolla.panda_sdk3"
              },
              {
                "quantity": 3,
                "sku": "com.xsolla.panda_sdk2"
              }
            ],
            "platform": "xsolla",
            "purchase": {
              "amount": "3.5",
              "currency": "USD",
              "external_purchase_date": "2020-01-01T00:00:00+05:00",
              "external_purchase_id": "1000001"
            },
            "user": {
              "id": "83857636-65b4-11e8-9ccb-42010a8a001c"
            }
          }
        ],
        "external_purchase_date": "2020-01-01T00:00:00+05:00",
        "external_purchase_id": "1000000",
        "items": [
          {
            "quantity": 5,
            "sku": "com.xsolla.panda_sdk1"
          },
          {
            "quantity": 3,
            "sku": "com.xsolla.panda_sdk2"
          }
        ],
        "platform": "xsolla",
        "user": {
          "id": "672c91cd-65db-4b6e-ad68-6e93b21249d8"
        }
      }
    }
  ]'

レスポンス

ユーザーの購入に成功しました。

ボディapplication/json
countinteger
例: 10
operationsArray of objects
レスポンス
application/json
{ "count": 2, "operations": [ {}, {} ] }

インベントリアイテムを取り消すServer-sideAdmin

リクエスト

複数のユーザーのアイテムのアクセス権を剥奪します。

注意

一度に処理できる操作は最大50個です。この制限を超える操作は無視されます。
セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。

デフォルト 44056
ボディapplication/json必須Array [
commentstring[ 1 .. 255 ] characters

操作説明。例:「アイテムが他のプレイヤーに譲渡されました」。

デフォルト "Item was transferred to another player"
itemsArray of objectsnon-empty必須
items[].​quantityinteger>= 1必須

取り消す必要があるこのクラスのアイテムの数。

デフォルト 1
items[].​skustringnon-empty必須

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

デフォルト "booster_mega_1"
platformstring

ユーザーがプレイするパブリッシングプラットフォーム。

デフォルト "xsolla"
列挙型"playstation_network""xbox_live""xsolla""pc_standalone""nintendo_shop""google_play""app_store_ios""android_standalone""ios_standalone""android_other"
例: "xsolla"
userobject必須
user.​idstring

プラットフォーム上でユニークなユーザー識別子。

デフォルト "d342dad2-9d59-11e9-a384-42010aa8003f"
]
curl -i -X POST \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/deprecated/inventory/v2/project/{project_id}/inventory/revoke' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "comment": "Item was transferred to another player",
      "items": [
        {
          "quantity": 1,
          "sku": "booster_mega_1"
        }
      ],
      "platform": "xsolla",
      "user": {
        "id": "d342dad2-9d59-11e9-a384-42010aa8003f"
      }
    }
  ]'

レスポンス

ユーザーアイテムの取り消しに成功しました。

ボディapplication/json
countinteger

アイテムの取り消しに成功したユーザー数。

例: 10
operationsArray of objects

操作の説明。

レスポンス
application/json
{ "count": 2, "operations": [ {}, {} ] }

アイテムをユーザーに付与するServer-sideAdmin

リクエスト

指定されたユーザーインベントリに、指定されたアイテムを追加します。

注意

一度に処理できる操作は最大50個です。この制限を超える操作は無視されます。
セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。

デフォルト 44056
ボディapplication/json必須Array [
commentstring[ 1 .. 255 ] characters

操作説明。例:「毎月のチャレンジリワード」。

デフォルト "Monthly challenge rewards"
itemsArray of objectsnon-empty必須
items[].​quantitynumber必須

このクラスのアイテムが付与されるために必要な数。

デフォルト 1
items[].​skustring必須

アイテムクラス識別子。SKUには、英小文字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

デフォルト "booster_mega_1"
platformstring

ユーザーがプレイするパブリッシングプラットフォーム。

デフォルト "xsolla"
列挙型"playstation_network""xbox_live""xsolla""pc_standalone""nintendo_shop""google_play""app_store_ios""android_standalone""ios_standalone""android_other"
userobject必須
user.​idstring

プラットフォーム上でユニークなユーザー識別子。

デフォルト "d342dad2-9d59-11e9-a384-42010aa8003f"
]
curl -i -X POST \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/deprecated/inventory/v2/project/{project_id}/inventory/reward' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "comment": "Monthly challenge rewards",
      "items": [
        {
          "quantity": 1,
          "sku": "booster_mega_1"
        }
      ],
      "platform": "playstation_network",
      "user": {
        "id": "d342dad2-9d59-11e9-a384-42010aa8003f"
      }
    }
  ]'

レスポンス

成功したユーザーリワード。

ボディapplication/json
countinteger
例: 10
operationsArray of objects
レスポンス
application/json
{ "count": 2, "operations": [ {}, {} ] }

ユーザーにアイテムを設定するServer-sideAdmin

リクエスト

指定されたユーザーインベントリに指定された項目を設定します。ただし、新しいデータは古いデータに置き換わります。

注意

一度に処理できる操作は最大50個です。この制限を超える操作は無視されます。
セキュリティ
basicAuth
パス
project_idinteger必須

プロジェクトID。

デフォルト 44056
ボディapplication/json必須Array [
commentstring[ 1 .. 255 ] characters

操作説明。例:「毎月のインベントリ同期」。

デフォルト "Monthly inventory syncing"
itemsArray of objectsnon-empty必須
items[].​quantitynumber必須

このクラスのアイテムが付与されるために必要な数。

デフォルト 1
items[].​skustring必須

アイテムクラス識別子。SKUには、英小文字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

デフォルト "booster_mega_1"
platformstring

ユーザーがプレイするパブリッシングプラットフォーム。

デフォルト "xsolla"
列挙型"playstation_network""xbox_live""xsolla""pc_standalone""nintendo_shop""google_play""app_store_ios""android_standalone""ios_standalone""android_other"
userobject必須
user.​idstring

プラットフォーム上でユニークなユーザー識別子。

デフォルト "d342dad2-9d59-11e9-a384-42010aa8003f"
]
curl -i -X POST \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/deprecated/inventory/v2/project/{project_id}/inventory/set' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "comment": "Monthly inventory syncing",
      "items": [
        {
          "quantity": 1,
          "sku": "booster_mega_1"
        }
      ],
      "platform": "playstation_network",
      "user": {
        "id": "d342dad2-9d59-11e9-a384-42010aa8003f"
      }
    }
  ]'

レスポンス

成功した応答。

ボディapplication/json
countinteger
例: 10
operationsArray of objects
レスポンス
application/json
{ "count": 2, "operations": [ {}, {} ] }

クロスインベントリ

操作