Skip to content

Overview

Digital Distribution Hub is a new Xsolla solution that aims to connect digital and cash based payments via push payments technology and e-commerce.

This reference combines API endpoints for two Xsolla products: In-Game Store and Pay Station. There are two base URLs:

  • https://store.xsolla.com/api for the Common, Catalog, Cart, and Order groups.
  • https://ps.xsolla.com for the Notifications group.

API endpoints in the Catalog group don’t require authorization.

To work with operations in the Cart and Order groups, you need to generate a token via Create user token.

Note

This reference shows a design of a future API and not a fully functioning interface. Currently, you can try only Catalog and Notifications groups endpoints. If you’d like to share your feedback, please email us at techdoc@xsolla.com.
Download OpenAPI description
Languages
Servers
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/api/digital-distribution-hub/
Operations
Operations
Operations
Operations

Request

Gets a list of bundles for building a catalog.

Attention. All projects have the limitation to the number of items that you can get in the response. The default and maximum value is 50 items per response.
Security
AuthForClient
Path
project_idintegerrequired

Project ID.

Example: 44056
Query
limitinteger

Limit for the number of elements on the page.

Example: limit=50
offsetinteger

Number of the element from which the list is generated (the count starts from 0).

Example: offset=0
localestring

Response language. Two-letter lowercase language code per ISO 639-1.

Default "en"
additional_fields[]Array of strings

The list of additional fields. These fields will be in the response if you send them in your request. Available fields media_list, order, long_description.

countrystring

Country to calculate regional prices and restrictions for catalog. Two-letter uppercase country code per ISO 3166-1 alpha-2. If you do not specify the country explicitly, it will be calculated based on user's IP address.

Default "US"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The list of bundles was successfully received.

Bodyapplication/json
itemsArray of objects(Catalog_client_bundle)
items[].​skustring(Catalog_sku)

Unique item ID. The SKU may only contain lowercase Latin alphanumeric characters, periods, dashes, and underscores.

Example: "bundle_1"
items[].​namestring(Catalog_client_name)

Item name.

Example: "Big Rocket"
items[].​groupsArray of objects(Catalog_groups_response)

Groups the item belongs to.

Default []
Example: [{"external_id":"horror","name":{"en":"Horror"}}]
items[].​groups[].​external_idstring
Example: "horror"
items[].​groups[].​nameobject
Example: {"en":"Horror"}
items[].​descriptionstring or null(Catalog_client_description)

Item description.

Example: "Big Rocket - description."
items[].​attributesArray of objects(Catalog_client-attributes-common)

List of attributes and their values corresponding to the item. Can be used for catalog filtering.

Default []
items[].​attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

Unique attribute ID. The external_id may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "attribute_1"
items[].​attributes[].​namestring

Name of attribute.

Example: "Genre"
items[].​attributes[].​valuesArray of objects
items[].​attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

Unique value ID for an attribute. The external_id may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "attribute_value"
items[].​attributes[].​values[].​valuestring

Value of attribute.

Example: "Strategy"
items[].​typestring(Catalog_type)

Type of item.

Example: "bundle"
items[].​bundle_typestring(Catalog_bundle_type)

Type of bundle. In this case, it is always standart.

Example: "standart"
items[].​image_urlstring or null(Catalog_image_url)

Image URL.

Example: "https://image.example.com"
items[].​is_freestring(Catalog_is_free)

Always false.

Default "false"
Example: "false"
items[].​priceobject or null(Catalog_price)

Item price.

items[].​price.​amountstring(Catalog_amount)^\d*\.?\d*$required

Item price with a discount.

Example: "100.99"
items[].​price.​amount_without_discountstring(Catalog_amount_without_discount)^\d*\.?\d*$required

Item price.

Example: "100.99"
items[].​price.​currencystring(Catalog_currency)required

Purchase currency. Three-letter code per ISO 4217.

Example: "USD"
items[].​total_content_priceobject or null(Catalog_total_content_price)

Sum of the bundle content prices.

items[].​total_content_price.​amountstring

Sum of the bundle content prices with a discount.

Example: "100.99"
items[].​total_content_price.​amount_without_discountstring

Sum of the bundle content prices.

Example: "100.99"
items[].​total_content_price.​currencystring(Catalog_currency)

Purchase currency. Three-letter code per ISO 4217.

Example: "USD"
items[].​virtual_pricesArray of objects(Catalog_virtual_prices)

Virtual prices.

items[].​virtual_prices[].​amountinteger

Item price in virtual currency with a discount.

Example: 100
items[].​virtual_prices[].​amount_without_discountinteger

Item price in virtual currency.

Example: 200
items[].​virtual_prices[].​skustring

Virtual currency item SKU.

Example: "gold"
items[].​virtual_prices[].​is_defaultboolean

Whether the price is default for an item.

Example: true
items[].​virtual_prices[].​image_urlstring or null

Image of virtual currency.

Example: "http://image.png"
items[].​virtual_prices[].​namestring

Virtual currency name.

Example: "Gold"
items[].​virtual_prices[].​typestring

Virtual currency type.

Example: "virtual_currency"
items[].​virtual_prices[].​descriptionstring or null

Virtual currency description.

Example: "Most popular gold"
items[].​contentArray of objects(Catalog_client_content)

Bundle package content.

Example: [{"description":"Big Rocket - short description.","image_url":"https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png","sku":"big_rocket","name":"Big Rocket","type":"virtual_currency","quantity":100,"attributes":[],"is_free":false,"groups":[],"price":{"amount":10.99,"currency":"USD","amount_without_discount":10.99}}]
items[].​content[].​skustring

Unique item ID. The SKU may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "big_rocket"
items[].​content[].​namestring

Item name.

Example: "Big Rocket"
items[].​content[].​typestring

Type of item: virtual_good/virtual_currency/bundle.

Example: "virtual_currency"
items[].​content[].​descriptionstring

Item description.

Example: "Big Rocket - description"
items[].​content[].​image_urlstring

Image URL.

Example: "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png"
items[].​content[].​quantityinteger

Quantity of item in a package.

Example: 250
items[].​content[].​priceobject or null

Item prices.

items[].​content[].​price.​amountstring

Item price with a discount.

Example: "100.99"
items[].​content[].​price.​amount_without_discountstring

Item price.

Example: "100.99"
items[].​content[].​price.​currencystring

Default purchase currency. Three-letter code per ISO 4217.

Example: "USD"
items[].​content[].​virtual_pricesArray of objects

Virtual prices.

items[].​content[].​virtual_prices[].​amountinteger

Item price in virtual currency with a discount.

Example: 100
items[].​content[].​virtual_prices[].​amount_without_discountinteger

Item price.

Example: 200
items[].​content[].​virtual_prices[].​skustring

Virtual currency item SKU.

Example: "vc_test"
items[].​content[].​virtual_prices[].​is_defaultboolean

Whether the price is default for an item.

Example: true
items[].​content[].​virtual_prices[].​image_urlstring

Image of virtual currency.

Example: "http://image.png"
items[].​content[].​virtual_prices[].​namestring

Virtual currency name.

Example: "SHOTGUN FOR TRUE RAIDERS"
items[].​content[].​virtual_prices[].​typestring

Virtual currency type.

Example: "virtual_currency"
items[].​content[].​virtual_prices[].​descriptionstring

Virtual currency description.

Example: "Big Rocket - description"
Response
application/json
{ "items": [ {} ] }

Request

Gets a specified bundle.

Security
AuthForClient
Path
project_idintegerrequired

Project ID.

Example: 44056
skustringrequired

Bundle SKU.

Example: kg_1
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/items/bundle/sku/kg_1 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The specified bundle was successfully received.

Bodyapplication/json
skustring(Catalog_sku)

Unique item ID. The SKU may only contain lowercase Latin alphanumeric characters, periods, dashes, and underscores.

Example: "bundle_1"
namestring(Catalog_client_name)

Item name.

Example: "Big Rocket"
groupsArray of objects(Catalog_groups_response)

Groups the item belongs to.

Default []
Example: [{"external_id":"horror","name":{"en":"Horror"}}]
groups[].​external_idstring
Example: "horror"
groups[].​nameobject
Example: {"en":"Horror"}
descriptionstring or null(Catalog_client_description)

Item description.

Example: "Big Rocket - description."
attributesArray of objects(Catalog_client-attributes-common)

List of attributes and their values corresponding to the item. Can be used for catalog filtering.

Default []
attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

Unique attribute ID. The external_id may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "attribute_1"
attributes[].​namestring

Name of attribute.

Example: "Genre"
attributes[].​valuesArray of objects
attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

Unique value ID for an attribute. The external_id may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "attribute_value"
attributes[].​values[].​valuestring

Value of attribute.

Example: "Strategy"
typestring(Catalog_type)

Type of item.

Example: "bundle"
bundle_typestring(Catalog_bundle_type)

Type of bundle. In this case, it is always standart.

Example: "standart"
image_urlstring or null(Catalog_image_url)

Image URL.

Example: "https://image.example.com"
is_freestring(Catalog_is_free)

Always false.

Default "false"
Example: "false"
priceobject or null(Catalog_price)

Item price.

price.​amountstring(Catalog_amount)^\d*\.?\d*$required

Item price with a discount.

Example: "100.99"
price.​amount_without_discountstring(Catalog_amount_without_discount)^\d*\.?\d*$required

Item price.

Example: "100.99"
price.​currencystring(Catalog_currency)required

Purchase currency. Three-letter code per ISO 4217.

Example: "USD"
total_content_priceobject or null(Catalog_total_content_price)

Sum of the bundle content prices.

total_content_price.​amountstring

Sum of the bundle content prices with a discount.

Example: "100.99"
total_content_price.​amount_without_discountstring

Sum of the bundle content prices.

Example: "100.99"
total_content_price.​currencystring(Catalog_currency)

Purchase currency. Three-letter code per ISO 4217.

Example: "USD"
virtual_pricesArray of objects(Catalog_virtual_prices)

Virtual prices.

virtual_prices[].​amountinteger

Item price in virtual currency with a discount.

Example: 100
virtual_prices[].​amount_without_discountinteger

Item price in virtual currency.

Example: 200
virtual_prices[].​skustring

Virtual currency item SKU.

Example: "gold"
virtual_prices[].​is_defaultboolean

Whether the price is default for an item.

Example: true
virtual_prices[].​image_urlstring or null

Image of virtual currency.

Example: "http://image.png"
virtual_prices[].​namestring

Virtual currency name.

Example: "Gold"
virtual_prices[].​typestring

Virtual currency type.

Example: "virtual_currency"
virtual_prices[].​descriptionstring or null

Virtual currency description.

Example: "Most popular gold"
contentArray of objects(Catalog_client_content)

Bundle package content.

Example: [{"description":"Big Rocket - short description.","image_url":"https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png","sku":"big_rocket","name":"Big Rocket","type":"virtual_currency","quantity":100,"attributes":[],"is_free":false,"groups":[],"price":{"amount":10.99,"currency":"USD","amount_without_discount":10.99}}]
content[].​skustring

Unique item ID. The SKU may only contain lowercase Latin alphanumeric characters, dashes, and underscores.

Example: "big_rocket"
content[].​namestring

Item name.

Example: "Big Rocket"
content[].​typestring

Type of item: virtual_good/virtual_currency/bundle.

Example: "virtual_currency"
content[].​descriptionstring

Item description.

Example: "Big Rocket - description"
content[].​image_urlstring

Image URL.

Example: "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png"
content[].​quantityinteger

Quantity of item in a package.

Example: 250
content[].​priceobject or null

Item prices.

content[].​price.​amountstring

Item price with a discount.

Example: "100.99"
content[].​price.​amount_without_discountstring

Item price.

Example: "100.99"
content[].​price.​currencystring

Default purchase currency. Three-letter code per ISO 4217.

Example: "USD"
content[].​virtual_pricesArray of objects

Virtual prices.

content[].​virtual_prices[].​amountinteger

Item price in virtual currency with a discount.

Example: 100
content[].​virtual_prices[].​amount_without_discountinteger

Item price.

Example: 200
content[].​virtual_prices[].​skustring

Virtual currency item SKU.

Example: "vc_test"
content[].​virtual_prices[].​is_defaultboolean

Whether the price is default for an item.

Example: true
content[].​virtual_prices[].​image_urlstring

Image of virtual currency.

Example: "http://image.png"
content[].​virtual_prices[].​namestring

Virtual currency name.

Example: "SHOTGUN FOR TRUE RAIDERS"
content[].​virtual_prices[].​typestring

Virtual currency type.

Example: "virtual_currency"
content[].​virtual_prices[].​descriptionstring

Virtual currency description.

Example: "Big Rocket - description"
Response
application/json
{ "sku": "kg_1", "name": "kg_10.00_bundle", "type": "bundle", "description": "pricePoint_44056_1.", "attributes": [], "is_free": false, "order": 999, "groups": [], "price": { "amount": 9.99, "currency": "USD", "amount_without_discount": 9.99 }, "total_content_amount": { "amount": 10.99, "currency": "USD", "amount_without_discount": 10.99 }, "media_list": [], "virtual_prices": [], "bundle_type": "standard", "content": [ {} ] }
Operations
Operations
Operations