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

Solicitud

Carga códigos por SKU de clave de juego.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
item_skustringrequerido

Código (SKU) del artículo.

Ejemplo: booster_mega_1
Cuerpomultipart/form-datarequerido
filestring(binary)requerido

Archivo con códigos.

Ejemplo: "keys.txt"
region_idinteger

ID de la región.

Ejemplo: 1
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/game/key/upload/sku/booster_mega_1 \
  -H 'Content-Type: multipart/form-data' \
  -F file=keys.txt \
  -F region_id=1

Respuestas

Los códigos que cargan la información de sesión se recibieron correctamente.

Cuerpoapplication/json
count_skippedinteger
Ejemplo: 10
count_totalinteger
Ejemplo: 100
count_uploadedinteger
Ejemplo: 0
session_idstring
Ejemplo: "fc7105b6e8ee01339582970b37697242"
statusstring
Ejemplo: "processing"
Respuesta
application/json
{ "count_skipped": 10, "count_total": 100, "count_uploaded": 0, "session_id": "fc7105b6e8ee01339582970b37697242", "status": "processing" }

Eliminar juego por SKUServer-sideAdmin

Solicitud

Elimina un juego del proyecto por SKU.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
item_skustringrequerido

Código (SKU) del artículo.

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

Respuestas

El juego se eliminó correctamente.

Respuesta
Sin contenido

Obtener juego (admin)Server-sideAdmin

Solicitud

Obtiene un juego para administración. El juego se compone de claves del juego que podrían ser compradas por un usuario.

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
item_skustringrequerido

Código (SKU) del artículo.

Ejemplo: booster_mega_1
Consulta
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
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/items/game/sku/booster_mega_1?promo_code=WINTER2021'

Respuestas

El juego se recibió correctamente.

Cuerpoapplication/json
attributesArray of objects(Game-Keys_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"}}]}]
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

Grupos a los que pertenece el artículo.

Ejemplo: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring

URL de la imagen.

Ejemplo: "https://image.example.com"
is_enabledboolean
is_freeboolean(value-is_free)

Si es true, el artículo es gratuito.

Predeterminado false
Ejemplo: false
is_show_in_storeboolean
item_idinteger

ID único interno del artículo que se proporciona al crearlo.

Ejemplo: 1
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

Recursos adicionales del juego, como capturas de pantalla, vídeos de partidas del juego, etc.

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

Prioridad de orden del juego en la lista.

Ejemplo: 1
skustring

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: "game_1"
typestring

Tipo de artículo. En este caso es siempre unit.

Ejemplo: "unit"
unit_itemsArray of objects

Claves del juego para diferentes DRM (gestión de derechos digitales).

Respuesta
application/json
{ "attributes": [ {} ], "description": { "en": "Example game 1" }, "groups": [ {} ], "image_url": "https://image.example.com", "is_enabled": true, "is_free": false, "is_show_in_store": false, "item_id": 1, "long_description": { "en": "Example game's long description" }, "media_list": [ {} ], "name": { "en": "Game 1" }, "order": 1, "sku": "com.xsolla.game_1", "type": "unit", "unit_items": [ {}, {} ] }
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