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

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/shop-builder/
https://store.xsolla.com/api/
Операции

Персонализированный каталог

Данный API позволяет задавать правила для пользовательских атрибутов. Если пользователь соответствует всем условиям для конкретного правила, будут показаны персонализированные товары.

Узнать о персонализированных акциях можно в подразделе "Скидки" раздела "Акции".

Чтобы передать атрибуты перед покупкой, вы можете использовать API Авторизации Иксолла или передать их в свойство user.attributes при генерации токена с помощью API Платежей Иксолла.

Операции
Операции
Операции

Корзина (на стороне клиента)

Операции

Корзина (на стороне сервера)

Операции

Оплата (на стороне клиента)

Операции

Оплата (на стороне сервера)

Операции
Операции
Операции
Операции
Операции
Операции

Catalog

Данный API позволяет получать продаваемые товары любого вида или конкретный товар.

Операции
Операции
Операции
Операции
Операции

Создание игрыServer-sideAdmin

Запрос

Создает игру в проекте.

Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
Телоapplication/jsonобязательный

Объект с игровыми данными.

attributesArray of objects(Game-Keys_admin-post-put-attributes)<= 20 items

Список атрибутов.

Внимание. Для товара невозможно указать более 20 атрибутов. Любые попытки превысить данное ограничение вызовут ошибку.
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

groupsArray of objects

Группы, к которым принадлежит товар.

Пример: ["new_games"]
image_urlstring

URL-адрес изображения.

Пример: "http://image.png"
is_enabledboolean

Если этот параметр отключен, товар нельзя приобрести и получить к нему доступ через инвентарь.

Пример: true
is_show_in_storeboolean

Товар доступен для покупки.

Пример: true
long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

Any of:

Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

media_listArray of objects

Дополнительные ассеты игры, такие как скриншоты, видео игрового процесса и т.д.

Пример: [{"type":"image","url":"http://image.png"},{"type":"video","url":"http://video.png"}]
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)обязательный

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

name.​arstring or null

Арабский

name.​bgstring or null

Болгарский

name.​cnstring or null

Китайский упрощенный

name.​csstring or null

Чешский

name.​destring or null

Немецкий

name.​enstring or null

Английский

name.​esstring or null

Spanish (Spain)

name.​frstring or null

Французский

name.​hestring or null

Иврит

name.​idstring or null

Индонезийский

name.​itstring or null

Итальянский

name.​jastring or null

Японский

name.​kmstring or null

Кхмерский

name.​kostring or null

Корейский

name.​lostring or null

Лаосский

name.​mystring or null

Бирманский

name.​nestring or null

Непальский

name.​phstring or null

Филиппинский

name.​plstring or null

Польский

name.​ptstring or null

Португальский

name.​rostring or null

Румынский

name.​rustring or null

Русский

name.​thstring or null

Тайский

name.​trstring or null

Турецкий

name.​twstring or null

Китайский традиционный

name.​vistring or null

Вьетнамский

orderinteger

Приоритет порядка игры в списке.

Пример: 1
skustring[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$обязательный

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

Пример: "com.xsolla.game_1"
unit_itemsArray of objectsобязательный

Платформы публикации игры.

Пример: [{"drm_sku":"steam_key_1","is_enabled":true,"is_free":false,"is_show_in_store":true,"limits":{"per_item":{"available":5000,"reserved":500,"sold":4500,"total":10000},"per_user":{"total":5}},"name":{"en-US":"Game key name","ru-RU":"Название игрового ключа"},"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"pre_order":{"description":"Some description","is_enabled":true,"release_date":"2020-08-11T10:00:00+03:00"},"prices":[{"amount":35.5,"currency":"USD","is_default":true,"is_enabled":true}],"regions":[{"id":12},{"id":64}],"sku":"com.xsolla.game_key_1","vc_prices":[{"amount":35.5,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]}]
unit_items[].​attributesArray of objects(Game-Keys_admin-attributes)

Список атрибутов.

Пример: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
unit_items[].​drm_skustringобязательный

Уникальный ID платформы.

Пример: "steam"
unit_items[].​groupsArray of objects

Группы, к которым принадлежит товар.

unit_items[].​is_enabledboolean

Если этот параметр отключен, товар нельзя приобрести и получить к нему доступ через инвентарь.

unit_items[].​is_freeboolean(value-is_free)

Если true, товар бесплатный.

По умолчанию false
Пример: false
unit_items[].​is_show_in_storeboolean

Товар доступен для покупки.

unit_items[].​limitsobject(Game-key-item-limit)

Ограничения на продажу товара.

unit_items[].​name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

unit_items[].​orderinteger

Приоритет порядка игры в списке.

Пример: 1
unit_items[].​periodsArray of objects or null(item-periods)

Период продажи товара.

unit_items[].​pre_orderobject

Настройки предзаказа.

unit_items[].​pricesArray of objectsобязательный

Цены в реальных валютах.

unit_items[].​prices[].​amountnumberобязательный
Пример: 1299.99
unit_items[].​prices[].​currencystringобязательный

Валюта, в которой указана цена товара. Трехбуквенный код в соответствии с ISO 4217. Подробную информацию о валютах, поддерживаемых Xsolla, смотрите в документации.

Пример: "RUB"
unit_items[].​prices[].​is_defaultbooleanобязательный

Цена по умолчанию используется для построения каталога, если цена в валюте пользователя не указана.

unit_items[].​prices[].​is_enabledbooleanобязательный
unit_items[].​regionsArray of objects(Game-Keys_regions)
unit_items[].​skustring[ 1 .. 255 ] charactersобязательный

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

Пример: "game_1"
unit_items[].​vc_pricesArray of objects
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/items/game \
  -H 'Content-Type: application/json' \
  -d '{
    "description": {
      "en-US": "Game description",
      "ru-RU": "Краткое описание игры"
    },
    "groups": [
      "new_games"
    ],
    "image_url": "http://image.png",
    "is_enabled": true,
    "is_show_in_store": true,
    "long_description": {
      "en-US": "Game long description",
      "ru-RU": "Полное описание игры"
    },
    "media_list": [
      {
        "type": "image",
        "url": "http://image.png"
      },
      {
        "type": "video",
        "url": "http://video.png"
      }
    ],
    "name": {
      "en-US": "Game name",
      "ru-RU": "Название игры"
    },
    "sku": "com.xsolla.game_1",
    "unit_items": [
      {
        "drm_sku": "steam_key_1",
        "is_enabled": true,
        "is_free": false,
        "is_show_in_store": true,
        "limits": {
          "per_item": {
            "available": 5000,
            "reserved": 500,
            "sold": 4500,
            "total": 10000
          },
          "per_user": {
            "total": 5
          }
        },
        "name": {
          "en-US": "Game key name",
          "ru-RU": "Название игрового ключа"
        },
        "periods": [
          {
            "date_from": "2020-08-11T10:00:00+03:00",
            "date_until": "2020-08-11T20:00:00+03:00"
          }
        ],
        "pre_order": {
          "description": "Some description",
          "is_enabled": true,
          "release_date": "2020-08-11T10:00:00+03:00"
        },
        "prices": [
          {
            "amount": 35.5,
            "currency": "USD",
            "is_default": true,
            "is_enabled": true
          }
        ],
        "regions": [
          {
            "id": 12
          },
          {
            "id": 64
          }
        ],
        "sku": "com.xsolla.game_key_1",
        "vc_prices": [
          {
            "amount": 35.5,
            "is_default": true,
            "is_enabled": true,
            "sku": "com.xsolla.gold_1"
          }
        ]
      }
    ]
  }'

Ответы

Игра успешно создана.

Телоapplication/json
item_idinteger
Пример: 101
skustring
Пример: "com.xsolla.game_1"
Ответ
application/json
{ "item_id": 101, "sku": "com.xsolla.game_1" }

Удаление игры по IDServer-sideAdmin

Запрос

Удаляет игру в проекте по ID.

Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
item_idstringобязательный

ID предмета (артикул).

Пример: 656
curl -i -X DELETE \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/items/game/id/656

Ответы

Игра успешно удалена.

Ответ
Нет содержимого

Получение игры по ID (admin)Server-sideAdmin

Запрос

Получает игру для администрирования. Игра состоит из игровых ключей, которые могут быть приобретены пользователем.

Примечание

Не используйте данный метод для построения каталога магазина.
Безопасность
basicAuth
Путь
project_idintegerобязательный

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Пример: 44056
item_idstringобязательный

ID предмета (артикул).

Пример: 656
Запрос
promo_codestring[ 1 .. 128 ] characters

Уникальный код, чувствительный к регистру. Содержит буквы и цифры.

Пример: promo_code=WINTER2021
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/items/game/id/656?promo_code=WINTER2021'

Ответы

Игра успешно получена.

Телоapplication/json
attributesArray of objects(Game-Keys_admin-attributes)

Список атрибутов.

Пример: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

groupsArray of objects

Группы, к которым принадлежит товар.

Пример: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring

URL-адрес изображения.

Пример: "https://image.example.com"
is_enabledboolean
is_freeboolean(value-is_free)

Если true, товар бесплатный.

По умолчанию false
Пример: false
is_show_in_storeboolean
item_idinteger

Внутренний уникальный ID товара, который задается при создании товара.

Пример: 1
long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

Any of:

Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

media_listArray of objects

Дополнительные ассеты игры, такие как скриншоты, видео игрового процесса и так далее.

Пример: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

One of:

Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в документации.

orderinteger

Приоритет порядка игры в списке.

Пример: 1
skustring

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

Пример: "game_1"
typestring

Тип товара. В данном случае это всегда unit.

Пример: "unit"
unit_itemsArray of objects

Платформы публикации игры.

Ответ
application/json
{ "attributes": [ {} ], "description": { "en": "Example game 1" }, "groups": [ {} ], "image_url": "https://image.example.com", "is_enabled": true, "is_free": false, "is_show_in_store": false, "item_id": 1, "long_description": { "en": "Example game's long description" }, "media_list": [ {} ], "name": { "en": "Game 1" }, "order": 1, "sku": "com.xsolla.game_1", "type": "unit", "unit_items": [ {}, {} ] }
Операции

Купоны

Этот API позволяет вам управлять купонами.

Операции

Промокоды

Этот API позволяет вам управлять промокодами.

Операции

Уникальный каталог предложений

Этот API позволяет вам управлять уникальными предложениями каталога.

Операции

Скидки

Этот API позволяет вам управлять скидочными акциями.

Операции

Бонусы

Этот API позволяет вам управлять бонусными акциями.

Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции
Операции