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

Obtener cadena de recompensasServer-sideAdmin

Solicitud

Consigue una cadena de recompensas concreta.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
reward_chain_idintegerrequerido

ID de la cadena de recompensas.

Ejemplo: 101
curl -i -X GET \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v3/project/44056/admin/reward_chain/id/101

Respuestas

La cadena de recompensas especificada se recibió correctamente.

Cuerpoapplication/json
One of:

Una cadena de recompensas.

attribute_conditionsArray of tipo = string (object) or tipo = number (object) or tipo = date (object)(chain_user-attribute_conditions_model-get)[ 1 .. 100 ] items

Condiciones para validar los atributos de usuario. Determina la disponibilidad de la cadena en función de si los atributos de usuario cumplen todas las condiciones especificadas.

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.

image_urlstring or null(image_url)

URL de la imagen.

Ejemplo: "https://image.example.com"
is_always_visibleboolean(chain_is_always_visible)

Si todos los usuarios pueden ver la cadena:

  • Si es true, la cadena aparece siempre, independientemente del estado de autenticación o los atributos del usuario.
  • Si es false, la cadena aparece solo si no se encuentra ninguna cadena personalizada. Por ejemplo, si el usuario no está autenticado o sus atributos no coinciden con ninguna cadena personalizada.

Solo se aplica en el contexto de cadenas personalizadas y se utiliza si no se transmite la matriz attribute_conditions.

Predeterminado true
Ejemplo: true
is_enabledboolean(is_enabled)
Ejemplo: true
is_reset_after_endboolean(is_reset_after_end)

Si se reinicia la cadena de recompensas (puntos de valor y progreso de todos los usuarios) después de su fecha de finalización:

  • Si es true, la cadena de recompensas se reiniciará después de su fecha de finalización.
  • Si es false, la cadena de recompensas no se reiniciará después de su fecha de finalización.

Aviso

No puede ser true si:
  • se establece un periodo de reinicio en recurrent_schedule.
  • El valor null se transmite en periods.date_until.
Predeterminado false
Ejemplo: false
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.

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(order)

Define el orden de disposición.

Ejemplo: 1
periodsArray of objects(periods)

Periodos de validez de la cadena de recompensas. Si se especifican varios periodos, es necesario tanto date_from como date_until.

recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(admin_recurrent_schedule)

Periodo de reinicio recurrente de la cadena de recompensas.

One of:

Reinicio semanal de la cadena de recompensas.

reward_chain_idinteger(reward_chain_id)

ID único de la cadena de recompensas.

Ejemplo: 9
stepsArray of objects(reward_step_short)
value_pointobject
Respuesta
application/json
{ "clan_type": "guild", "description": { "en": "Clan reward chain description." }, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "is_enabled": true, "long_description": { "en": "Clan reward chain long description." }, "name": { "en": "Clan reward chain" }, "order": 1, "periods": [ {} ], "popup_header": { "en": "How to unlock rewards" }, "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "popup_instruction": { "en": "You must be a clan member in order to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan." }, "recurrent_schedule": { "day_of_week": 2, "displayable_reset_next_date": "2023-03-07T11:00:00+08:00", "displayable_reset_start_date": "2023-02-28T11:00:00+08:00", "interval_type": "weekly", "reset_next_date": 1677553200, "time": "11:00:00+08:00" }, "reward_chain_id": 1, "steps": [ {}, {} ], "value_point": { "description": {}, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "is_clan": true, "is_enabled": true, "long_description": {}, "media_list": [], "name": {}, "order": 1, "sku": "com.xsolla.clan_value_point_1" } }

Actualizar cadena de recompensasServer-sideAdmin

Solicitud

Actualiza una cadena de recompensas concreta.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
reward_chain_idintegerrequerido

ID de la cadena de recompensas.

Ejemplo: 101
Cuerpoapplication/json
One of:

Una cadena de recompensas.

attribute_conditionsArray of tipo = string (object) or tipo = number (object) or tipo = date (object)(chain_user-attribute_conditions_model-post)[ 1 .. 100 ] items

Condiciones para validar los atributos de usuario. Determina la disponibilidad de la cadena en función de si los atributos de usuario cumplen todas las condiciones especificadas.

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.

image_urlstring or null(image_url)

URL de la imagen.

Ejemplo: "https://image.example.com"
is_always_visibleboolean(chain_is_always_visible)

Si todos los usuarios pueden ver la cadena:

  • Si es true, la cadena aparece siempre, independientemente del estado de autenticación o los atributos del usuario.
  • Si es false, la cadena aparece solo si no se encuentra ninguna cadena personalizada. Por ejemplo, si el usuario no está autenticado o sus atributos no coinciden con ninguna cadena personalizada.

Solo se aplica en el contexto de cadenas personalizadas y se utiliza si no se transmite la matriz attribute_conditions.

Predeterminado true
Ejemplo: true
is_enabledboolean(is_enabled)requerido
Ejemplo: true
is_reset_after_endboolean(is_reset_after_end)

Si se reinicia la cadena de recompensas (puntos de valor y progreso de todos los usuarios) después de su fecha de finalización:

  • Si es true, la cadena de recompensas se reiniciará después de su fecha de finalización.
  • Si es false, la cadena de recompensas no se reiniciará después de su fecha de finalización.

Aviso

No puede ser true si:
  • se establece un periodo de reinicio en recurrent_schedule.
  • El valor null se transmite en periods.date_until.
Predeterminado false
Ejemplo: false
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.

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(order)

Define el orden de disposición.

Ejemplo: 1
periodsArray of objects(periods)requerido

Periodos de validez de la cadena de recompensas. Si se especifican varios periodos, es necesario tanto date_from como date_until.

periods[].​date_fromstring(date-time)requerido

Fecha de inicio de la cadena de recompensas especificada.

Ejemplo: "2020-08-11T10:00:00+03:00"
periods[].​date_untilstring or null(date-time)

Fecha de finalización de la cadena de recompensas especificada. Solo puede ser null si se especifica un único periodo de validez.

Ejemplo: "2020-08-11T20:00:00+03:00"
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(recurrent_schedule_create_update)

Periodo de reinicio recurrente de la cadena de recompensas.

One of:

Tipo semanal de actualización de la cadena de recompensas.

stepsArray of objects(modify_reward_step)requerido
steps[].​image_urlstring or null(image_url)

URL de la imagen.

Ejemplo: "https://image.example.com"
steps[].​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.

steps[].​name.​arstring or null

Árabe

steps[].​name.​bgstring or null

Búlgaro

steps[].​name.​cnstring or null

Chino (simplificado)

steps[].​name.​csstring or null

Checo

steps[].​name.​destring or null

Alemán

steps[].​name.​enstring or null

Inglés

steps[].​name.​esstring or null

Español (España)

steps[].​name.​frstring or null

Francés

steps[].​name.​hestring or null

Hebreo

steps[].​name.​idstring or null

Indonesio

steps[].​name.​itstring or null

Italiano

steps[].​name.​jastring or null

Japonés

steps[].​name.​kmstring or null

Jemer

steps[].​name.​kostring or null

Coreano

steps[].​name.​lostring or null

Lao

steps[].​name.​mystring or null

Birmano

steps[].​name.​nestring or null

Nepalí

steps[].​name.​phstring or null

Filipino

steps[].​name.​plstring or null

Polaco

steps[].​name.​ptstring or null

Portugués

steps[].​name.​rostring or null

Rumano

steps[].​name.​rustring or null

Ruso

steps[].​name.​thstring or null

Tailandés

steps[].​name.​trstring or null

Turco

steps[].​name.​twstring or null

Chino (tradicional)

steps[].​name.​vistring or null

Vietnamita

steps[].​priceobject(reward_step_price)requerido
steps[].​price.​amountinteger(step_price_amount)requerido

Precio del paso en puntos de valor.

Ejemplo: 100
steps[].​rewardArray of objectsrequerido
steps[].​reward[].​attribute_conditionsArray of tipo = string (object) or tipo = number (object) or tipo = date (object)(reward-chain-step-reward_user-attribute_conditions_model-post)[ 1 .. 100 ] items

Condiciones para validar los atributos de usuario. Determina la disponibilidad de recompensas para pasos de cadenas de recompensas en función de si los atributos de usuario cumplen todas las condiciones especificadas.

steps[].​reward[].​quantityinteger(reward_item_quantity)requerido

Cantidad del artículo.

Ejemplo: 2
steps[].​reward[].​skustring(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"
steps[].​step_idinteger or null(step_id)requerido

ID único del paso.

Ejemplo: 10
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v3/project/44056/admin/reward_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "clan_type": "guild",
    "description": {
      "en": "Clan reward chain description."
    },
    "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "is_enabled": true,
    "long_description": {
      "en": "Clan reward chain long description."
    },
    "name": {
      "en": "Clan reward chain"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2026-01-01T01:00:00+05:00",
        "date_until": "2026-01-31T23:59:59+05:00"
      },
      {
        "date_from": "2026-02-01T01:00:00+05:00",
        "date_until": "2026-02-28T23:59:59+05:00"
      }
    ],
    "popup_header": {
      "en": "How to unlock rewards"
    },
    "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "popup_instruction": {
      "en": "You should be a clan member to get clan rewards. You join a clan when a clan member invited you to the clan, and you accepted the invite. You can create your own clan."
    },
    "recurrent_schedule": {
      "day_of_week": 1,
      "interval_type": "weekly",
      "time": "01:00:00+08:00"
    },
    "steps": [
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "First step of the reward chain"
        },
        "price": {
          "amount": 10
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_1"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_2"
          }
        ],
        "step_id": 1
      },
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "Second step of the reward chain"
        },
        "price": {
          "amount": 15
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_3"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_4"
          }
        ],
        "step_id": 2
      }
    ]
  }'

Respuestas

La cadena de recompensas se actualizó correctamente.

Cuerpo
Respuesta
Sin contenido

Restablecer cadena de recompensasServer-sideAdmin

Solicitud

Restablece los puntos de valor y el progreso de todos los usuarios de la cadena de recompensas.
Tras el restablecimiento, puede actualizar el periodo de validez de la cadena de recompensas y el usuario puede volver a hacer progresos en ella.

Aviso

No debe restablecer la cadena de recompensas durante su periodo de validez. En este caso, los usuarios pueden perder los puntos de valor ganados antes de reclamar su recompensa.
Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
reward_chain_idintegerrequerido

ID de la cadena de recompensas.

Ejemplo: 101
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v3/project/44056/admin/reward_chain/id/101/reset

Respuestas

Se ha reiniciado la cadena de recompensas.

Cuerpo
Respuesta
Sin contenido
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones