Перейти к содержимому

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/ru/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обязательный

Идентификатор класса товара. Артикул может содержать только строчные латинские буквы, цифры, точки, тире и подчеркивания.

По умолчанию "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/ru/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 товара. Артикул может содержать только строчные и заглавные латинские буквы, цифры, точки, тире и подчеркивания.

По умолчанию "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/ru/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обязательный

Идентификатор класса товара. Артикул может содержать только строчные латинские буквы, цифры, точки, тире и подчеркивания.

По умолчанию "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/ru/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обязательный

Идентификатор класса товара. Артикул может содержать только строчные латинские буквы, цифры, точки, тире и подчеркивания.

По умолчанию "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/ru/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": [ {}, {} ] }

Кроссплатформенный инвентарь

Операции