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

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 позволяет получать продаваемые товары любого вида или конкретный товар.

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

Отзыв права владения (admin)Server-sideAdmin

Запрос

Отзывает право владения у пользователя.

Внимание

Могут быть отозваны только игровые ключи или игры для DRM-free-платформ.
Безопасность
basicAuth
Путь
project_idintegerобязательный

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

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

Объект со свойствами DRM.

Пример: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)обязательный

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

Перечисление"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
Пример: "steam"
gameobjectобязательный

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

Пример: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$обязательный

Уникальный ID пакета ключей.

Пример: "theGreatestGameSku"
modestringобязательный

Какой тип прав владения должен быть отозван. Если параметру присвоено значение sandbox, у пользователя будет отозвано право в режиме тестового окружения. Если для параметра установлено значение default, у пользователя будет отозвано право в режиме боевого окружения.

Перечисление"default""sandbox"
Пример: "default"
user_external_idstringобязательный

Уникальный идентификатор пользователя.

Пример: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/admin/entitlement/revoke \
  -H 'Content-Type: application/json' \
  -d '{
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_external_id": "user-external-id"
  }'

Ответы

Отозвано успешно.

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

Получение списка игр, принадлежащих пользователюClient-side

Запрос

Получает список игр, принадлежащих пользователю. Ответ будет содержать массив игр, принадлежащих определенному пользователю.

Внимание

Все проекты имеют ограничение на количество товаров, которые вы можете получить в ответе. Значение по умолчанию и максимальное значение — 50 товаров на ответ.Чтобы получить больше данных постранично, используйте поля limit и offset.
Безопасность
XsollaLoginUserJWT
Путь
project_idintegerобязательный

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

Пример: 44056
Запрос
limitinteger>= 1

Лимит количества элементов на странице.

Пример: limit=50
offsetinteger>= 0

Номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).

Пример: offset=0
sandboxinteger

Какой тип прав владения должен быть возвращен. Если параметру присвоено значение 1, возвращаются права владения, полученные пользователем только в режиме тестового окружения. Если параметр не передан или установлен в 0, возвращаются права владения, полученные пользователем только в режиме боевого окружения.

По умолчанию 0
additional_fields[]Array of strings

Список дополнительных полей. Эти поля будут в ответе, если вы отправите их в своем запросе. Доступные поля: attributes.

curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Ответы

Список игровых ключей, принадлежащих пользователю, успешно получен.

Телоapplication/json
has_moreboolean(Pagination_has-more)

Используется как индикатор того, что остались еще страницы.

Пример: true
itemsArray of objects(Game-Keys_entitlement_item)
total_items_countinteger(Pagination_total-items-count)

Общее количество игр, которыми владеет пользователь.

Пример: 10
Ответ
application/json
{ "has_more": false, "items": [ {} ], "total_items_count": 1 }

Активация игрового ключа на стороне клиентаClient-side

Запрос

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

Внимание

Могут быть погашены только игровые коды для DRM-free-платформ.
Безопасность
XsollaLoginUserJWT
Путь
project_idintegerобязательный

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

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

Игровой ключ.

Пример: "AAAA-BBBB-CCCC-DDDD"
sandboxboolean

Погашает игровой ключ в режиме тестового окружения. Данная опция доступна пользователям, указанным в списке пользователей компании.

По умолчанию false
Пример: false
curl -i -X POST \
  https://xsolla.redocly.app/_mock/ru/api/shop-builder/v2/project/44056/entitlement/redeem \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "AAAA-BBBB-CCCC-DDDD",
    "sandbox": false
  }'

Ответы

Успешная операция.

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

Купоны

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

Операции

Промокоды

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

Операции

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

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

Операции

Скидки

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

Операции

Бонусы

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

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