Saltar al contenido

Información general

Digital Distribution Hub es una nueva solución de Xsolla que tiene por objetivo conectar los pagos digitales y en efectivo a través de la tecnología de pagos únicos inmediatos ('push') y de comercio electrónico.

Esta referencia combina puntos finales de API para dos productos de Xsolla: In-Game Store y Pay Station. Hay dos URL base:

  • https://store.xsolla.com/api para los grupos Common, Catalog, Cart, y Order.
  • https://ps.xsolla.com para el grupo Notifications.

Los puntos finales de API en el grupo Catalog no requieren autorización.

Para realizar operaciones en los grupos Cart y Order, necesita generar un token a través de Create user token.

Nota

Esta referencia muestra un diseño de una futura API y no una interfaz plenamente funcional. Actualmente, solo puede probar los puntos finales de los grupos Catalog y Notifications. Si desea compartir sus comentarios, envíenos un correo electrónico a techdoc@xsolla.com.
Descargar descripción de OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/es/api/digital-distribution-hub/
Operaciones
Operaciones

Solicitud

Obtiene una lista de juegos para crear un catálogo.

Atención. Todos los proyectos tienen la limitación del número de artículos que puede obtener en la respuesta. El valor por defecto y máximo es 50 artículos por cada respuesta. Para obtener más datos página por página, utilice los campos limit y offset.
Seguridad
AuthForClient
Ruta
project_idintegerrequerido

ID del proyecto.

Ejemplo: 44056
Consulta
limitinteger

Límite para el número de elementos presentes en la página.

Ejemplo: limit=50
offsetinteger

Número del elemento a partir del cual se genera la lista (el conteo empieza desde el 0).

Ejemplo: offset=0
localestring

Idioma de respuesta. Código de idioma de dos letras minúsculas según la norma ISO 639-1.

Predeterminado "en"
additional_fields[]Array of strings

Lista de campos adicionales. Estos campos estarán en la respuesta si los envía en su solicitud. Campos disponibles media_list, order y long_description.

countrystring

País para calcular los precios regionales y las restricciones del catálogo. Código de país de dos letras en mayúscula según la norma ISO 3166-1 alpha-2. Si no especifica el país explícitamente, se calculará en función de la dirección IP del usuario.

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

Respuestas

La lista de juegos se recibió correctamente.

Cuerpoapplication/json
itemsArray of objects(Catalog_inline_response_200_items)
Ejemplo: [{"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"}]
items[].​attributesArray of objects(Catalog_client-attributes-common)

Lista de atributos y sus valores correspondientes al artículo. Puede utilizarse para el filtrado de catálogos.

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

ID único del atributo. external_id solo puede contener caracteres alfanuméricos del alfabeto latino en minúsculas, guiones y guiones bajos.

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

Nombre del atributo.

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

ID de valor único para un atributo. external_id solo puede contener caracteres alfanuméricos del alfabeto latino en minúsculas, guiones y guiones bajos.

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

Valor del atributo.

Ejemplo: "Strategy"
items[].​descriptionstring

Descripción del artículo.

Ejemplo: "Game description"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

Grupos a los que pertenece el artículo.

Ejemplo: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
Ejemplo: "accessory"
items[].​groups[].​namestring
Ejemplo: "Accessory"
items[].​image_urlstring

URL de la imagen.

Ejemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​namestring

Nombre del artículo.

Ejemplo: "Game name"
items[].​skustring

ID único del artículo. El código de un artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "game_01"
items[].​typestring

Tipo de artículo: virtual_good/virtual_currency/bundle/physical_good/unit.

Ejemplo: "unit"
items[].​unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
items[].​unit_items[].​drm_namestring

Nombre del DRM (gestión de derechos digitales).

Ejemplo: "Steam"
items[].​unit_items[].​drm_skustring

ID único del DRM. El código de artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "steam"
items[].​unit_items[].​has_keysboolean

Si es true, la clave del juego tiene claves para la venta.

Ejemplo: false
items[].​unit_items[].​is_freeboolean

Si es true, el artículo es gratuito.

Ejemplo: false
items[].​unit_items[].​is_pre_orderboolean

Si es true, la clave del juego está reservada y la fecha de lanzamiento no ha pasado.

Ejemplo: true
items[].​unit_items[].​priceobject(Catalog_inline_response_200_price)

Precios de artículos.

items[].​unit_items[].​price.​amountstring

Precio del artículo con descuento.

Ejemplo: "2.9900"
items[].​unit_items[].​price.​amount_without_discountstring

Precio del artículo.

Ejemplo: "2.9900"
items[].​unit_items[].​price.​currencystring

Moneda de compra por defecto. Código de tres letras según la norma ISO 4217.

Ejemplo: "USD"
items[].​unit_items[].​release_datestring

Fecha de lanzamiento de la clave del juego en formato ISO 8601.

Ejemplo: "2020-08-11T10:00:00+03:00"
items[].​unit_items[].​skustring

ID único del artículo. El código de un artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "game_01"
items[].​unit_items[].​typestring

Tipo de artículo: game_key.

Ejemplo: "game_key"
items[].​unit_items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Precios virtuales.

items[].​unit_items[].​virtual_prices[].​amountinteger

Precio del artículo con descuento en moneda virtual.

Ejemplo: 100
items[].​unit_items[].​virtual_prices[].​amount_without_discountinteger

Precio del artículo.

Ejemplo: 200
items[].​unit_items[].​virtual_prices[].​descriptionstring

Descripción de la moneda virtual.

Ejemplo: "Big Rocket - description"
items[].​unit_items[].​virtual_prices[].​image_urlstring

Imagen de la moneda virtual.

Ejemplo: "http://image.png"
items[].​unit_items[].​virtual_prices[].​is_defaultboolean

Si el precio está predeterminado o no para el artículo.

Ejemplo: true
items[].​unit_items[].​virtual_prices[].​namestring

Nombre de la moneda virtual.

Ejemplo: "SHOTGUN FOR TRUE RAIDERS"
items[].​unit_items[].​virtual_prices[].​skustring

Código de artículo (SKU) de la moneda virtual.

Ejemplo: "vc_test"
items[].​unit_items[].​virtual_prices[].​typestring

Tipo de moneda virtual.

Ejemplo: "virtual_currency"
items[].​unit_typestring

Tipo de unidad: game.

Ejemplo: "game"
Respuesta
application/json
{ "items": [ {}, {} ] }

Solicitud

Obtiene la lista de sistemas de DRM (gestión de derechos digitales) disponibles.

Seguridad
AuthForClient
Ruta
project_idintegerrequerido

ID del proyecto.

Ejemplo: 44056
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/items/game/drm \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Respuestas

La lista de sistemas de DRM se recibió correctamente.

Cuerpoapplication/json
drmArray of objects(Catalog_inline_response_200_4_drm)
Ejemplo: [{"drm_id":1,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":"https://support.steampowered.com","name":"Steam","redeem_instruction_link":"https://support.steampowered.com","sku":"steam"},{"drm_id":2,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Playstation","redeem_instruction_link":"https://support.us.playstation.com","sku":"playstation"}]
drm[].​drm_idnumber

ID del DRM.

Ejemplo: 1
drm[].​imagestring

URL de la imagen.

Ejemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
drm[].​linkstring

Enlace para canjear.

Ejemplo: "https://support.us.playstation.com"
drm[].​namestring

Nombre del DRM (gestión de derechos digitales).

Ejemplo: "Steam"
drm[].​redeem_instruction_linkstring

Enlace de las instrucciones de canje.

Ejemplo: "https://support.us.playstation.com"
drm[].​skustring

ID único del DRM. El código de artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "steam"
Respuesta
application/json
{ "drm": [ {}, {} ] }

Obtener lista de juegos por grupo especificado

Solicitud

Obtiene una lista de juegos del grupo especificado para crear un catálogo.

Atención. Todos los proyectos tienen la limitación del número de artículos que puede obtener en la respuesta. El valor por defecto y máximo es 50 artículos por cada respuesta. Para obtener más datos página por página, utilice los campos limit y offset.
Seguridad
AuthForClient
Ruta
project_idintegerrequerido

ID del proyecto.

Ejemplo: 44056
external_idstringrequerido

ID externo del grupo.

Predeterminado "all"
Consulta
limitinteger

Límite para el número de elementos presentes en la página.

Ejemplo: limit=50
offsetinteger

Número del elemento a partir del cual se genera la lista (el conteo empieza desde el 0).

Ejemplo: offset=0
localestring

Idioma de respuesta. Código de idioma de dos letras minúsculas según la norma ISO 639-1.

Predeterminado "en"
additional_fields[]Array of strings

Lista de campos adicionales. Estos campos estarán en la respuesta si los envía en su solicitud. Campos disponibles media_list, order y long_description.

countrystring

País para calcular los precios regionales y las restricciones del catálogo. Código de país de dos letras en mayúscula según la norma ISO 3166-1 alpha-2. Si no especifica el país explícitamente, se calculará en función de la dirección IP del usuario.

Predeterminado "US"
curl -i -X GET \
  'https://store.xsolla.com/api/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>'

Respuestas

La lista de juegos se recibió correctamente.

Cuerpoapplication/json
itemsArray of objects(Catalog_inline_response_200_items)
Ejemplo: [{"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"}]
items[].​attributesArray of objects(Catalog_client-attributes-common)

Lista de atributos y sus valores correspondientes al artículo. Puede utilizarse para el filtrado de catálogos.

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

ID único del atributo. external_id solo puede contener caracteres alfanuméricos del alfabeto latino en minúsculas, guiones y guiones bajos.

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

Nombre del atributo.

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

ID de valor único para un atributo. external_id solo puede contener caracteres alfanuméricos del alfabeto latino en minúsculas, guiones y guiones bajos.

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

Valor del atributo.

Ejemplo: "Strategy"
items[].​descriptionstring

Descripción del artículo.

Ejemplo: "Game description"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

Grupos a los que pertenece el artículo.

Ejemplo: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
Ejemplo: "accessory"
items[].​groups[].​namestring
Ejemplo: "Accessory"
items[].​image_urlstring

URL de la imagen.

Ejemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​namestring

Nombre del artículo.

Ejemplo: "Game name"
items[].​skustring

ID único del artículo. El código de un artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "game_01"
items[].​typestring

Tipo de artículo: virtual_good/virtual_currency/bundle/physical_good/unit.

Ejemplo: "unit"
items[].​unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
items[].​unit_items[].​drm_namestring

Nombre del DRM (gestión de derechos digitales).

Ejemplo: "Steam"
items[].​unit_items[].​drm_skustring

ID único del DRM. El código de artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "steam"
items[].​unit_items[].​has_keysboolean

Si es true, la clave del juego tiene claves para la venta.

Ejemplo: false
items[].​unit_items[].​is_freeboolean

Si es true, el artículo es gratuito.

Ejemplo: false
items[].​unit_items[].​is_pre_orderboolean

Si es true, la clave del juego está reservada y la fecha de lanzamiento no ha pasado.

Ejemplo: true
items[].​unit_items[].​priceobject(Catalog_inline_response_200_price)

Precios de artículos.

items[].​unit_items[].​price.​amountstring

Precio del artículo con descuento.

Ejemplo: "2.9900"
items[].​unit_items[].​price.​amount_without_discountstring

Precio del artículo.

Ejemplo: "2.9900"
items[].​unit_items[].​price.​currencystring

Moneda de compra por defecto. Código de tres letras según la norma ISO 4217.

Ejemplo: "USD"
items[].​unit_items[].​release_datestring

Fecha de lanzamiento de la clave del juego en formato ISO 8601.

Ejemplo: "2020-08-11T10:00:00+03:00"
items[].​unit_items[].​skustring

ID único del artículo. El código de un artículo (SKU) solo puede contener caracteres alfanuméricos latinos en minúsculas, puntos, guiones y guiones bajos.

Ejemplo: "game_01"
items[].​unit_items[].​typestring

Tipo de artículo: game_key.

Ejemplo: "game_key"
items[].​unit_items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Precios virtuales.

items[].​unit_items[].​virtual_prices[].​amountinteger

Precio del artículo con descuento en moneda virtual.

Ejemplo: 100
items[].​unit_items[].​virtual_prices[].​amount_without_discountinteger

Precio del artículo.

Ejemplo: 200
items[].​unit_items[].​virtual_prices[].​descriptionstring

Descripción de la moneda virtual.

Ejemplo: "Big Rocket - description"
items[].​unit_items[].​virtual_prices[].​image_urlstring

Imagen de la moneda virtual.

Ejemplo: "http://image.png"
items[].​unit_items[].​virtual_prices[].​is_defaultboolean

Si el precio está predeterminado o no para el artículo.

Ejemplo: true
items[].​unit_items[].​virtual_prices[].​namestring

Nombre de la moneda virtual.

Ejemplo: "SHOTGUN FOR TRUE RAIDERS"
items[].​unit_items[].​virtual_prices[].​skustring

Código de artículo (SKU) de la moneda virtual.

Ejemplo: "vc_test"
items[].​unit_items[].​virtual_prices[].​typestring

Tipo de moneda virtual.

Ejemplo: "virtual_currency"
items[].​unit_typestring

Tipo de unidad: game.

Ejemplo: "game"
Respuesta
application/json
{ "items": [ {}, {} ] }
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones