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

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://xsolla.redocly.app/_mock/es/api/shop-builder/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_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_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": [ {} ] }

Solicitud

Actualiza 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
Cuerpoapplication/jsonrequerido

Objeto con datos del lote.

attributesArray of objects(Bundles_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.
bundle_typestring(Bundles_bundle_type)

Tipo de lote. Utilice standard para crear un lote con artículos y especifique los SKU de los artículos incluidos en el lote. Utilice partner_side_content para crear un lote vacío y añadir artículos en su lado utilizando un webhook. Este tipo solo se utiliza para la Personalización del catálogo en el lado del socio.

Predeterminado "standard"
Enumeración"standard""partner_side_content"
Ejemplo: "standard"
contentArray of objects(Bundles_admin_content_request)non-empty
Ejemplo: [{"quantity":1,"sku":"com.xsolla.kg_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(Bundles_groups_request)

Grupos a los que pertenece el artículo.

Nota. El valor de la cadena (string) se refiere al grupo `external_id`.
Predeterminado []
Ejemplo: ["honor"]
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_show_in_storeboolean(Bundles_is_show_in_store)

El artículo está disponible para la compra.

Predeterminado false
Ejemplo: true
limitsobject(bundle-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 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)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(Bundles_order)

Prioridad de orden del lote en la lista.

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

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_\-–.]*$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: "bundle_1"
vc_pricesArray of objects or null
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/items/bundle/sku/kg_1 \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "class",
        "name": {
          "en": "Class"
        },
        "values": [
          {
            "external_id": "soldier",
            "value": {
              "en": "Soldier"
            }
          },
          {
            "external_id": "officer",
            "value": {
              "en": "Officer"
            }
          }
        ]
      }
    ],
    "content": [
      {
        "quantity": 1,
        "sku": "com.xsolla.iron_gloves_1"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.iron_boots_1"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.iron_shield_1"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.iron_armour_1"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.iron_helmet_1"
      }
    ],
    "custom_attributes": {
      "purchased": 0,
      "type": "lootbox"
    },
    "description": {
      "de": "Brustpanzer für Soldaten",
      "en": "Chest of armour for soldiers"
    },
    "groups": [
      "chests"
    ],
    "image_url": "https://picture.bundle-with-many-stuff.png",
    "is_enabled": true,
    "is_free": true,
    "limits": {
      "per_item": null,
      "per_user": null
    },
    "long_description": {
      "de": "Brustpanzer für Soldaten",
      "en": "Chest of armour for soldiers"
    },
    "media_list": [
      {
        "type": "image",
        "url": "https://test.com/image0"
      },
      {
        "type": "image",
        "url": "https://test.com/image1"
      }
    ],
    "name": {
      "de": "Brustpanzer",
      "en": "Chest of armour"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": "9.99",
        "currency": "USD",
        "is_default": true,
        "is_enabled": true
      },
      {
        "amount": "9.99",
        "currency": "EUR",
        "is_default": false,
        "is_enabled": true
      }
    ],
    "sku": "com.xsolla.armour_chest_1",
    "vc_prices": []
  }'

Respuestas

El lote se actualizó correctamente.

Cuerpo
Respuesta
Sin contenido

Ocultar lote en el catálogoServer-sideAdmin

Solicitud

Oculta un lote en un catálogo.

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 PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/items/bundle/sku/kg_1/hide

Respuestas

El lote se ocultó correctamente.

Cuerpo
Respuesta
Sin contenido
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
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones