Saltar al contenido

Descripción general

La API de catálogo le permite configurar un catálogo de artículos de juego en el lado de Xsolla y mostrar dicho catálogo a los usuarios de su tienda.

La API le permite gestionar las siguientes entidades de catálogo:

  • Artículos virtuales: artículos de juego, como armas, apariencias o potenciadores.
  • Moneda virtual: dinero virtual que se utiliza para comprar productos virtuales.
  • Paquetes de moneda virtual: lotes predefinidos de moneda virtual.
  • Lotes: paquetes combinados de artículos virtuales, moneda o claves de juego que se venden como un único SKU.
  • Claves de juego: claves para juegos y DLC distribuidos a través de plataformas como Steam u otros proveedores de DRM.
  • Grupos: agrupaciones lógicas para organizar y clasificar artículos dentro del catálogo.

Llamadas API

La API se divide en los siguientes grupos:

  • Admin: llamadas para crear, actualizar, eliminar y configurar artículos de catálogo y grupos. La autenticación se realiza mediante autenticación de acceso básica con sus credenciales de comerciante o de proyecto. No está diseñado para uso en escaparates.
  • Catalog: llamadas para buscar artículos y crear escaparates personalizados para los usuarios finales. Diseñado para gestionar situaciones de alta carga. Admite la autorización JWT opcional de usuarios para devolver datos personalizados, como límites específicos para determinados usuarios y promociones activas.
Descargar descripción de OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/es/api/catalog/
Operaciones
Operaciones
Operaciones
Operaciones

Solicitud

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

Atención

Todos los proyectos tienen la limitación de número de artículos que se pueden obtener en la respuesta. El valor por defecto y máximo es de 50 artículos por respuesta. Para obtener más datos, página por página, utilice los campos limit y offset.

Nota

El uso de las llamadas API del catálogo de artículos está disponible sin autorización, pero para obtener un catálogo personalizado, debe transmitir el JWT de usuario en el encabezado Authorization.
Seguridad
XsollaLoginUserJWT
Ruta
project_idintegerrequerido

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto.

Ejemplo: 44056
Consulta
limitinteger>= 1

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

Ejemplo: limit=50
offsetinteger>= 0

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

La lista de campos adicionales. Estos campos estarán en la respuesta si los envía en su solicitud.

Elementos Enumeración"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país.

Ejemplo: country=US
promo_codestring[ 1 .. 128 ] characters

Código único que distingue entre mayúsculas y minúsculas. Contiene letras y números.

Ejemplo: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Muestra los artículos de duración limitada que no están disponibles para el usuario. El periodo de validez de dichos artículos no ha comenzado o ya ha expirado.

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

Respuestas

La lista de juegos se recibió correctamente.

Cuerpoapplication/json
has_moreboolean(Pagination_has-more)

Se utiliza como indicador de que hay más páginas.

Ejemplo: true
itemsArray of objects
Ejemplo: [{"attributes":[{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"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","promotions":[],"sku":"com.xsolla.game_1","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_1","has_keys":true,"is_free":false,"is_pre_order":true,"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":"2020-08-11T10:00:00+03:00","sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]},{"can_be_bought":true,"drm_name":"Origin","drm_sku":"origin_key_1","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.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","promotions":[],"sku":"com.xsolla.game_2","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_2","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[{"date_from":null,"date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
Respuesta
application/json
{ "has_more": false, "items": [ {}, {} ] }

Obtener lista de sistemas de DRMClient-side

Solicitud

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

Ruta
project_idintegerrequerido

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto.

Ejemplo: 44056
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/items/game/drm

Respuestas

La lista de sistemas de DRM se ha recibido correctamente.

Cuerpoapplication/json
drmArray of objects
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_key_1"},{"drm_id":2,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":null,"name":"Playstation","redeem_instruction_link":"https://support.us.playstation.com","sku":"playstation_key_1"}]
Respuesta
application/json
{ "drm": [ {}, {} ] }

Obtener lista de juegos por grupo especificadoClient-side

Solicitud

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

Atención

Todos los proyectos tienen la limitación de número de artículos que se pueden obtener en la respuesta. El valor por defecto y máximo es de 50 artículos por respuesta. Para obtener más datos, página por página, utilice los campos limit y offset.

Nota

El uso de las llamadas API del catálogo de artículos está disponible sin autorización, pero para obtener un catálogo personalizado, debe transmitir el JWT de usuario en el encabezado Authorization.
Seguridad
XsollaLoginUserJWT
Ruta
project_idintegerrequerido

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto.

Ejemplo: 44056
external_idstringrequerido

ID externo del grupo.

Predeterminado "all"
Consulta
limitinteger>= 1

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

Ejemplo: limit=50
offsetinteger>= 0

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

La lista de campos adicionales. Estos campos estarán en la respuesta si los envía en su solicitud.

Elementos Enumeración"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país.

Ejemplo: country=US
promo_codestring[ 1 .. 128 ] characters

Código único que distingue entre mayúsculas y minúsculas. Contiene letras y números.

Ejemplo: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Muestra los artículos de duración limitada que no están disponibles para el usuario. El periodo de validez de dichos artículos no ha comenzado o ya ha expirado.

Predeterminado 0
Ejemplo: show_inactive_time_limited_items=1
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=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Respuestas

La lista de juegos se recibió correctamente.

Cuerpoapplication/json
has_moreboolean(Pagination_has-more)

Se utiliza como indicador de que hay más páginas.

Ejemplo: true
itemsArray of objects
Ejemplo: [{"attributes":[{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"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","promotions":[],"sku":"com.xsolla.game_1","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_1","has_keys":true,"is_free":false,"is_pre_order":true,"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":"2020-08-11T10:00:00+03:00","sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]},{"can_be_bought":true,"drm_name":"Origin","drm_sku":"origin_key_1","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.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","promotions":[],"sku":"com.xsolla.game_2","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_2","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[{"date_from":null,"date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
Respuesta
application/json
{ "has_more": false, "items": [ {}, {} ] }
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones

Catálogo

Esta API permite obtener cualquier tipo de artículo vendible o artículo específico.

Operaciones
Operaciones
Operaciones