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

Введение

Digital Distribution Hub — новое решение Иксоллы, которое соединяет электронные и физические платежи через технологию push-платежей и e-commerce.

Данная документация включает в себя описание методов API для продуктов Внутриигровой магазин и Платежи. Используется два базовых URL-адреса:

  • https://store.xsolla.com/api для групп Общие, Каталог, Корзина и Заказ.
  • https://ps.xsolla.com для группы Уведомления.

Использование методов API из группы Каталог не требует авторизации.

Чтобы использовать методы API из групп Корзина и Заказ, вам необходимо создать токен.

Примечание

Данная документация не является полностью функциональным интерфейсом и представляет собой дизайн будущего API. В настоящее время вы можете использовать только методы из групп Каталог и Уведомления. Если вы хотите поделиться обратной связью, отправьте нам письмо по адресу techdoc@xsolla.com.
Скачать описание OpenAPI
Языки
Серверы
Mock server
https://xsolla.redocly.app/_mock/ru/api/digital-distribution-hub/
https://store.xsolla.com/api/
Операции
Операции

Получение списка игр для указанной группы

Запрос

Получение списка игр из указанной группы для создания каталога.

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

ID проекта.

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

Внешний идентификатор группы.

По умолчанию "all"
Запрос
limitinteger

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

Пример: limit=50
offsetinteger

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

Пример: offset=0
localestring

Язык ответа. Используется двухбуквенное обозначение языка согласно стандарту ISO 639-1.

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

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

countrystring

Страна для расчета региональных цен и ограничений для каталога. Используется двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Если вы не укажете страну, она будет рассчитана на основе IP-адреса пользователя.

По умолчанию "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ru/api/digital-distribution-hub/v2/project/44056/items/game/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Ответы

Список игр успешно получен.

Телоapplication/json
itemsArray of objects(Catalog_inline_response_200_items)
Пример: [{"attributes":{"$ref":"#/components/examples/client-attribute-game/Catalog_value"},"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_1","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":true,"is_free":false,"is_pre_order":true,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_key_01","type":"game_key","virtual_prices":[]},{"drm_name":"Origin","drm_sku":"origin","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_2","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
Ответ
application/json
{ "items": [ {}, {} ] }

Получение игр с привязкой к платформе для указанной группы

Запрос

Получение списка игр из указанной группы с привязкой к платформе для построения каталога.

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

ID проекта.

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

Внешний идентификатор группы.

По умолчанию "all"
Запрос
limitinteger

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

Пример: limit=50
offsetinteger

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

Пример: offset=0
localestring

Язык ответа. Используется двухбуквенное обозначение языка согласно стандарту ISO 639-1.

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

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

countrystring

Страна для расчета региональных цен и ограничений для каталога. Используется двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Если вы не укажете страну, она будет рассчитана на основе IP-адреса пользователя.

По умолчанию "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ru/api/digital-distribution-hub/v2/project/44056/items/game/key/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Ответы

Список игр успешно получен.

Телоapplication/json
itemsArray of objects(Catalog_inline_response_200_3_items)
Пример: [{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":true,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_1","type":"game_key","virtual_prices":[]},{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":false,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_2","type":"game_key","virtual_prices":[]}]
Ответ
application/json
{ "items": [ {}, {} ] }

Получение игры на платформе для каталога

Запрос

Получение игры на платформе для каталога.

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

ID проекта.

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

Артикул предмета.

Пример: booster_mega_1
Запрос
localestring

Язык ответа. Используется двухбуквенное обозначение языка согласно стандарту ISO 639-1.

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

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

countrystring

Страна для расчета региональных цен и ограничений для каталога. Используется двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Если вы не укажете страну, она будет рассчитана на основе IP-адреса пользователя.

По умолчанию "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ru/api/digital-distribution-hub/v2/project/44056/items/game/key/sku/booster_mega_1?locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Ответы

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

Телоapplication/json
attributesArray of objects(Catalog_client-attributes-common)

Список атрибутов и их значений, соответствующих предмету. Может использоваться для фильтрации каталога.

По умолчанию []
descriptionstring

Описание предмета.

Пример: "Game description"
drm_namestring

Название DRM.

Пример: "Steam"
drm_skustring

Уникальный идентификатор DRM (артикул). Может содержать только строчные буквы латинского алфавита, цифры, точки, дефисы и подчеркивания.

Пример: "steam"
groupsArray of objects(Catalog_inline_response_200_groups)

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

Пример: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}]
has_keysboolean

Если передано значение true, у игры на платформе есть ключи для продажи.

Пример: true
image_urlstring

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

Пример: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
is_freeboolean

Если передано значение true, предмет бесплатный.

Пример: false
is_pre_orderboolean

Если передано значение true, игра на платформе доступна для предзаказа и дата выпуска еще не наступила.

Пример: true
namestring

Наименование предмета.

Пример: "Game name"
priceobject(Catalog_inline_response_200_price)

Стоимость предмета.

release_datestring

Дата выпуска игры на платформе в формате ISO 8601.

Пример: "2020-08-11T10:00:00+03:00"
skustring

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

Пример: "game_1"
typestring

Тип предмета: game_key.

Пример: "game_key"
virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Виртуальные цены.

Пример: []
Ответ
application/json
{ "attributes": { "$ref": "#/components/examples/client-attribute-game-horror/Catalog_value" }, "description": "Game description", "drm_name": "Steam", "drm_sku": "steam", "groups": [ {}, {} ], "has_keys": true, "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png", "is_free": false, "is_pre_order": true, "name": "Game name", "price": { "amount": "30.5", "amount_without_discount": "30.5", "currency": "USD" }, "release_date": "2020-08-11T10:00:00+03:00", "sku": "game_1", "type": "game_key", "virtual_prices": [] }

Виртуальные предметы и валюта

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