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
Operaciones
Operaciones
Operaciones

Obtener lista de lotes por ID de grupo especificadoServer-sideAdmin

Solicitud

Obtiene la lista de lotes dentro de un grupo para administración.

Nota

No utilice este punto final para crear un catálogo de tienda.
Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
group_idintegerrequerido

ID del grupo.

Ejemplo: 10
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
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/items/bundle/group/id/10?limit=50&offset=0'

Respuestas

La lista de lotes se recibió correctamente.

Cuerpoapplication/json
itemsArray of objects(Bundles_admin_bundle_response)
Respuesta
application/json
{ "items": [ {}, {} ] }

Solicitud

Elimina un lote.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
skustringrequerido

SKU del lote.

Ejemplo: kg_1
curl -i -X DELETE \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/bundle/sku/kg_1

Respuestas

El lote se eliminó correctamente.

Cuerpo
Respuesta
Sin contenido

Solicitud

Obtiene el lote dentro de un proyecto para administración.

Nota

No utilice este punto final para crear un catálogo de tienda.
Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
skustringrequerido

SKU del lote.

Ejemplo: kg_1
curl -i -X GET \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/bundle/sku/kg_1

Respuestas

El lote especificado se recibió correctamente.

Cuerpoapplication/json
attributesArray of objects(Bundles_admin-attributes)

Lista de atributos.

Ejemplo: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
bundle_typestring(bundle_type)

Tipo de lote. Se devuelve si el tipo de artículo es un lote.

Enumeración"standard""virtual_currency_package""partner_side_content"
contentArray of objects(Bundles_admin_content_response)
custom_attributesobject(json)(item-custom-attributes-response)

Un objeto JSON que contiene los atributos y valores del artículo.

description(two-letter (object or null)) or (cinco letras (object or null))(description-localization-object)

Objeto con traducciones para la descripción del artículo. Acepta valores en uno de dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de configuración regional de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

One of:

Objeto con traducciones para la descripción del artículo. Acepta valores en uno de dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de configuración regional de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

groupsArray of objects(Bundles_groups_response)

Grupos a los que pertenece el artículo.

Predeterminado []
Ejemplo: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring or null(Bundles_image_url)

URL de la imagen.

Ejemplo: "https://image.example.com"
is_enabledboolean(Bundles_is_enabled)

Si está deshabilitado, el artículo no se puede encontrar ni comprar.

Predeterminado true
Ejemplo: true
is_freeboolean(value-is_free)

Si es true, el artículo es gratuito.

Predeterminado false
Ejemplo: false
is_paid_randomized_rewardboolean(value-is_paid_randomized_reward)

Si el artículo es o no una recompensa de pago aleatoria, p. ej., una caja de botín.

Predeterminado false
Ejemplo: false
is_show_in_storeboolean(Bundles_is_show_in_store)

El artículo está disponible para la compra.

Predeterminado false
Ejemplo: true
item_idinteger(Bundles_item_id)[ 1 .. 255 ] characters

ID único interno del artículo.

Ejemplo: 1
limitsobject or null(admin-item-limit-response)

Límites del artículo.

long_description(two-letter (object or null)) or (cinco letras (object or null))(long-description-localization-object)

Objeto con traducciones para la descripción larga del artículo. Acepta valores en uno de estos dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de configuración regional de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

Any of:

Objeto con traducciones para la descripción larga del artículo. Acepta valores en uno de estos dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de configuración regional de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

media_listArray of objects or null

Recursos adicionales del lote.

Ejemplo: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
name(two-letter (object or null)) or (cinco letras (object or null))(name-localization-object)

Objeto con traducciones para la descripción del artículo. Acepta valores en uno de estos dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de idioma de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

One of:

Objeto con traducciones para la descripción del artículo. Acepta valores en uno de estos dos formatos: códigos de idioma de dos letras en minúscula (p. ej., en) o códigos de idioma de cinco caracteres (p. ej., en-US). Aunque ambos formatos se aceptan como entradas, las respuestas devuelven códigos de idioma de dos letras en minúscula. Cuando se facilitan ambas opciones para el mismo idioma (p. ej. en y en-US), se almacena el último valor proporcionado. Puede consultar la lista completa de idiomas admitidos en la documentación.

orderinteger(Bundles_order)

Prioridad de orden del lote en la lista.

Predeterminado 1
Ejemplo: 1
periodsArray of objects(item-periods-response)

Periodo de venta del artículo.

pricesArray of objects(Bundles_prices)

Precios en monedas reales.

regionsArray of objects(Bundles_admin-regions)
skustring(Bundles_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

ID único del artículo. El SKU solo puede contener caracteres alfanuméricos latinos en minúsculas y mayúsculas, puntos, guiones y guiones bajos.

Ejemplo: "bundle_1"
total_content_priceobject or null(Bundles_total_content_price)

Suma de los precios del contenido del lote.

typestring(Bundles_type)

Tipo de artículo.

Ejemplo: "bundle"
virtual_pricesArray of objects(Bundles_admin-response-virtual_price)
Respuesta
application/json
{ "attributes": [], "bundle_type": "standard", "content": [ {}, {}, {} ], "custom_attributes": { "purchased": 0, "type": "lootbox" }, "description": { "en": "Empire bundle with items" }, "groups": [ {} ], "image_url": "https://cdn.xsolla.net/img/misc/images/685b21f9d9dca4aa0c953e8816b4eb4b.png", "is_enabled": true, "is_free": false, "is_paid_randomized_reward": true, "is_show_in_store": true, "item_id": 610316, "limits": { "per_item": null, "per_user": {}, "recurrent_schedule": null }, "long_description": { "en": "Empire bundle with some goods" }, "media_list": [], "name": { "en": "Empire bundle" }, "order": 1, "periods": [ {} ], "prices": [], "regions": [], "sku": "com.xsolla.EmpireBundle_1", "type": "bundle", "virtual_prices": [ {} ] }
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