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

Crear cadena de ofertasServer-sideAdmin

Solicitud

Crea una cadena de ofertas.

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

date_endstring or null(date-time)(offer_chain_date_end)

Fecha en la que finaliza la cadena de ofertas. Puede ser null. Si date_end es null, la cadena de ofertas no tendrá límite de tiempo.

Ejemplo: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)requerido

Fecha de inicio de la cadena de ofertas.

Ejemplo: "2020-04-15T18:16:00+05:00"
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.

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
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
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule_create_update)

Periodo de reinicio de la cadena de ofertas.

One of:

Reinicio semanal de la cadena de ofertas.

stepsArray of objects(create-offer-chain-step-model)requerido
steps[].​is_freeboolean(offer_chain_is_free)requerido

Indica si el paso de la cadena de ofertas es gratuito:

steps[].​itemsArray of objects(modify-offer-chain-item-model)non-emptyrequerido
steps[].​items[].​orderinteger or null>= 0

Orden de recompensa para el paso de la cadena de ofertas.

steps[].​items[].​quantityinteger>= 1requerido

Cantidad del artículo de recompensa para este paso de cadena.

steps[].​items[].​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_numberinteger(offer_chain_step_number)>= 1requerido

Número del paso.

Ejemplo: 2
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/es/api/shop-builder/v2/project/44056/admin/offer_chain \
  -H 'Content-Type: application/json' \
  -d '{
    "date_end": null,
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "de": "Eine kurze Beschreibung einer regulären Angebotskette",
      "en": "A short description of a regular offer chain",
      "fr": "Une brève description d'\''une chaîne d'\''offres régulière",
      "it": "Una breve descrizione di una catena di offerte regolare",
      "ru": "Краткое описание обычной цепочки предложений"
    },
    "is_always_visible": true,
    "is_enabled": true,
    "name": {
      "de": "Neue Angebotskette",
      "en": "New offer chain",
      "fr": "Nouvelle chaîne d'\''offres",
      "it": "Nuova catena di offerte",
      "ru": "Новая цепочка предложений"
    },
    "order": 4,
    "recurrent_schedule": null,
    "steps": [
      {
        "is_free": false,
        "items": [
          {
            "quantity": 2,
            "sku": "chain_step_1_paid_bundle_sku"
          }
        ],
        "step_number": 1
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_2_free_virtual_good_sku"
          }
        ],
        "step_number": 2
      },
      {
        "is_free": false,
        "items": [
          {
            "quantity": 5,
            "sku": "chain_step_3_paid_virtual_currency_package_sku"
          }
        ],
        "step_number": 3
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_4_free_bundle_sku"
          }
        ],
        "step_number": 4
      }
    ]
  }'

Respuestas

La cadena de ofertas se ha creado correctamente.

Cuerpoapplication/json
offer_chain_idinteger
Ejemplo: 10
Respuesta
application/json
{ "offer_chain_id": 10 }

Eliminar cadena de ofertasServer-sideAdmin

Solicitud

Elimina una cadena de ofertas determinada.

Tras la eliminación:

  • Se mantienen todas las recompensas ya recibidas por los usuarios.
  • Los pasos no completados dejan de estar disponibles y ya no se pueden obtener sus recompensas.

A diferencia de la desactivación de la cadena de ofertas mediante la llamada Activar o desactivar cadena de ofertas, la eliminación es irreversible y no se mantiene el progreso del usuario.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
offer_chain_idintegerrequerido

ID de cadena de ofertas.

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

Respuestas

La cadena de ofertas se ha eliminado correctamente.

Cuerpo
Respuesta
Sin contenido

Obtener cadena de ofertasServer-sideAdmin

Solicitud

Obtiene una cadena de ofertas concreta para su administración.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

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

Ejemplo: 44056
offer_chain_idintegerrequerido

ID de cadena de ofertas.

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

Respuestas

Los datos de la cadena de ofertas se han obtenido correctamente.

Cuerpoapplication/json
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.

date_endstring or null(date-time)(offer_chain_date_end)

Fecha en la que finaliza la cadena de ofertas. Puede ser null. Si date_end es null, la cadena de ofertas no tendrá límite de tiempo.

Ejemplo: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)

Fecha de inicio de la cadena de ofertas.

Ejemplo: "2020-04-15T18:16:00+05:00"
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.

idinteger(offer_chain_id)

ID único de cadena de ofertas.

Ejemplo: 9
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
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
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule)

Periodo de reinicio recurrente de la cadena de ofertas.

One of:

Reinicio semanal de la cadena de ofertas.

stepsArray of objects(admin-offer-chain-step-model)
Respuesta
application/json
{ "attribute_conditions": [ {}, {}, {} ], "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich", "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive", "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus", "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi", "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно" }, "id": 3, "is_always_visible": false, "is_enabled": true, "name": { "de": "Angebotskette", "en": "Offer chain", "fr": "Chaîne d'offres", "it": "Catena di offerte", "ru": "Цепочка" }, "order": 1, "recurrent_schedule": null, "steps": [ {}, {}, {} ] }
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones
Operaciones