Saltar al contenido

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.

Descargar descripción de OpenAPI
Idiomas
Servidores
Mock server
https://xsolla.redocly.app/_mock/es/api/shop-builder/
https://store.xsolla.com/api/
Operaciones

Catálogo personalizado

Esta API permite especificar reglas para los atributos de usuario. Si el usuario cumple todas las condiciones de una regla específica, se mostrarán los elementos personalizados.

Para promociones personalizadas, consulte la sección Promotions.

Para transmitir atributos antes de una compra, puede utilizar Xsolla Login API o transmitirlos a la propiedad user.attributes mientras se genera el token utilizando Pay Station API.

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

Cupones

Esta API le permite gestionar cupones.

Operaciones

Códigos promocionales

Esta API permite gestionar códigos promocionales.

Operaciones

Ofertas únicas por catálogo

Esta API le permite gestionar ofertas de catálogo únicas.

Operaciones

Descuentos

Esta API le permite gestionar promociones de descuento.

Operaciones

Bonificaciones

Esta API permite gestionar promociones de bonificaciones.

Operaciones
Operaciones

Crear moneda virtualServer-sideAdmin

Solicitud

Crea una moneda virtual.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
Cuerpoapplication/json
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

Lista de atributos.

Atención. No puede especificar más de 20 atributos para el artículo. Cualquier intento de superar el límite provocará un error.
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

Un objeto JSON que contiene atributos y valores de artículos. Los artículos le permiten añadir más información a los artículos, tal como el nivel requerido del jugador para usar el artículo. Los atributos enriquecen la lógica interna del juego y son accesibles a través de métodos GET y webhooks específicos.

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(Virtual-Items-Currency_admin-groups-response)

Grupos a los que pertenece el artículo.

Predeterminado []
Ejemplo: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring(Virtual-Items-Currency_admin-image_url)
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

Si es true, el artículo es gratuito.

Predeterminado false
Ejemplo: false
is_hardboolean(Virtual-Items-Currency_is_hard)
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Currency-item-limit)

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(Virtual-Items-Currency_admin-media_list)

Recursos adicionales del artículo 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)requerido

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.

name.​arstring or null

Árabe

name.​bgstring or null

Búlgaro

name.​cnstring or null

Chino (simplificado)

name.​csstring or null

Checo

name.​destring or null

Alemán

name.​enstring or null

Inglés

name.​esstring or null

Español (España)

name.​frstring or null

Francés

name.​hestring or null

Hebreo

name.​idstring or null

Indonesio

name.​itstring or null

Italiano

name.​jastring or null

Japonés

name.​kmstring or null

Jemer

name.​kostring or null

Coreano

name.​lostring or null

Lao

name.​mystring or null

Birmano

name.​nestring or null

Nepalí

name.​phstring or null

Filipino

name.​plstring or null

Polaco

name.​ptstring or null

Portugués

name.​rostring or null

Rumano

name.​rustring or null

Ruso

name.​thstring or null

Tailandés

name.​trstring or null

Turco

name.​twstring or null

Chino (tradicional)

name.​vistring or null

Vietnamita

orderinteger(Virtual-Items-Currency_order)

Define el orden de disposición.

Ejemplo: 1
periodsArray of objects or null(item-periods)

Periodo de venta del artículo.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items-Currency_admin-prices)
Ejemplo: [{"amount":10.5,"country_iso":"US","currency":"USD","is_default":true,"is_enabled":true}]
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$requerido

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: "booster_mega_1"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
Ejemplo: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/items/virtual_currency \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "material",
        "name": {
          "en-US": "Material"
        },
        "values": [
          {
            "external_id": "gold",
            "value": {
              "en-US": "Gold"
            }
          }
        ]
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "de-DE": "Die Hauptwährung deines Königreichs",
      "en-US": "The main currency of your kingdom"
    },
    "groups": [
      "gold"
    ],
    "is_enabled": true,
    "is_free": false,
    "limits": {
      "per_item": 10000,
      "per_user": 5
    },
    "name": {
      "de-DE": "Goldmünze",
      "en-US": "Gold coin"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 100,
        "currency": "USD",
        "is_default": true,
        "is_enabled": true
      }
    ],
    "sku": "com.xsolla.coin_1"
  }'

Respuestas

El artículo virtual se creó correctamente.

Cuerpoapplication/json
skustring
Ejemplo: "com.xsolla.item_1"
Respuesta
application/json
{ "sku": "com.xsolla.item_1" }

Obtener lista de paquetes de moneda virtual (admin)Server-sideAdmin

Solicitud

Obtiene la lista de paquetes de moneda virtual dentro de un proyecto para su 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
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://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/items/virtual_currency/package?limit=50&offset=0'

Respuestas

La lista de paquetes de moneda virtual se recibió correctamente.

Cuerpoapplication/json
itemsArray of objects(Virtual-Items-Currency_admin-virtual-currency-package)
Respuesta
application/json
{ "items": [ {}, {}, {}, {}, {}, {} ] }

Crear un paquete de moneda virtualServer-sideAdmin

Solicitud

Crea un paquete de moneda virtual.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
Cuerpoapplication/json
Any of:
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

Lista de atributos.

Atención. No puede especificar más de 20 atributos para el artículo. Cualquier intento de superar el límite provocará un error.
contentArray of objects= 1 charactersrequerido

El paquete de moneda virtual debe contener sólo 1 posición de moneda virtual.

content[].​quantityinteger
content[].​skustring(Virtual-Items-Currency_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: "booster_mega_1"
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

Un objeto JSON que contiene atributos y valores de artículos. Los artículos le permiten añadir más información a los artículos, tal como el nivel requerido del jugador para usar el artículo. Los atributos enriquecen la lógica interna del juego y son accesibles a través de métodos GET y webhooks específicos.

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

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.

description.​arstring or null

Árabe

description.​bgstring or null

Búlgaro

description.​cnstring or null

Chino (simplificado)

description.​csstring or null

Checo

description.​destring or null

Alemán

description.​enstring or null

Inglés

description.​esstring or null

Español (España)

description.​frstring or null

Francés

description.​hestring or null

Hebreo

description.​idstring or null

Indonesio

description.​itstring or null

Italiano

description.​jastring or null

Japonés

description.​kmstring or null

Jemer

description.​kostring or null

Coreano

description.​lostring or null

Lao

description.​mystring or null

Birmano

description.​nestring or null

Nepalí

description.​phstring or null

Filipino

description.​plstring or null

Polaco

description.​ptstring or null

Portugués

description.​rostring or null

Rumano

description.​rustring or null

Ruso

description.​thstring or null

Tailandés

description.​trstring or null

Turco

description.​twstring or null

Chino (tradicional)

description.​vistring or null

Vietnamita

groupsArray of strings(Virtual-Items-Currency_admin-groups-create)

Grupos a los que pertenece el artículo.

Nota. El valor de la cadena (string) se refiere al grupo `external_id`.
image_urlstring(Virtual-Items-Currency_admin-image_url)
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

Si es true, el artículo es gratuito.

Predeterminado false
Ejemplo: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Currency-Package-item-limit)

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(Virtual-Items-Currency_admin-media_list)

Recursos adicionales del artículo 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)requerido

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.

name.​arstring or null

Árabe

name.​bgstring or null

Búlgaro

name.​cnstring or null

Chino (simplificado)

name.​csstring or null

Checo

name.​destring or null

Alemán

name.​enstring or null

Inglés

name.​esstring or null

Español (España)

name.​frstring or null

Francés

name.​hestring or null

Hebreo

name.​idstring or null

Indonesio

name.​itstring or null

Italiano

name.​jastring or null

Japonés

name.​kmstring or null

Jemer

name.​kostring or null

Coreano

name.​lostring or null

Lao

name.​mystring or null

Birmano

name.​nestring or null

Nepalí

name.​phstring or null

Filipino

name.​plstring or null

Polaco

name.​ptstring or null

Portugués

name.​rostring or null

Rumano

name.​rustring or null

Ruso

name.​thstring or null

Tailandés

name.​trstring or null

Turco

name.​twstring or null

Chino (tradicional)

name.​vistring or null

Vietnamita

orderinteger(Virtual-Items-Currency_order)

Define el orden de disposición.

Ejemplo: 1
periodsArray of objects or null(item-periods)

Periodo de venta del artículo.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items-Currency_admin-prices)requerido
Ejemplo: [{"amount":10.5,"country_iso":"US","currency":"USD","is_default":true,"is_enabled":true}]
prices[].​amountnumber> 0requerido

Importe.

Ejemplo: 10.5
prices[].​country_isostring or null

País en el que está disponible este precio. Código de dos letras según la norma ISO 3166-1 alfa 2.

Ejemplo: "US"
prices[].​currencystringrequerido

Divisa del precio del artículo. Código de tres letras según ISO 4217. Consulte la documentación para obtener información detallada sobre monedas soportadas por Xsolla.

Ejemplo: "USD"
prices[].​is_defaultboolean
Predeterminado false
Ejemplo: true
prices[].​is_enabledboolean
Predeterminado true
Ejemplo: true
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$requerido

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: "booster_mega_1"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
Ejemplo: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/items/virtual_currency/package \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "event",
        "name": {
          "en-US": "Event"
        },
        "values": [
          {
            "external_id": "10-anniversary",
            "value": {
              "en-US": "10th anniversary"
            }
          },
          {
            "external_id": "christmas",
            "value": {
              "en-US": "Christmas"
            }
          }
        ]
      }
    ],
    "content": [
      {
        "quantity": 500,
        "sku": "com.xsolla.novigrad_crown"
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "en-US": "The Crown (also known as the Novigradian crown) is a monetary unit which is used in some Northern Kingdoms",
      "ru-RU": "Крона (Также известна как Новиградская крона) - платежная единица, используемая в северных королевствах"
    },
    "groups": [
      "witcher"
    ],
    "image_url": "https://vignette.wikia.nocookie.net/witcher/images/7/7c/Items_Orens.png/revision/latest?cb=20081113120917",
    "is_enabled": true,
    "is_free": false,
    "limits": {
      "per_item": null,
      "per_user": null
    },
    "long_description": {
      "en-US": "Long Test new",
      "ru-RU": "Длинное описание"
    },
    "media_list": [
      {
        "type": "image",
        "url": "https://test.com/image0"
      },
      {
        "type": "image",
        "url": "https://test.com/image1"
      }
    ],
    "name": {
      "en-US": "500x Novigradian crown",
      "ru-RU": "500x Новиградских крон"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 99.99,
        "currency": "USD",
        "is_default": true
      },
      {
        "amount": 80.03,
        "currency": "EUR",
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.novigrad_crown_500",
    "vc_prices": null
  }'

Respuestas

El artículo virtual se creó correctamente.

Cuerpoapplication/json
skustring
Ejemplo: "com.xsolla.item_1"
Respuesta
application/json
{ "sku": "com.xsolla.item_1" }
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones