Saltar al contenido

Descripción general

LiveOps es un conjunto de herramientas para estimular el compromiso continuo de los jugadores a través de promociones y ofertas personalizadas.

Utilice la API para gestionar las siguientes funciones:

  • Promociones: crear y gestionar cupones, códigos promocionales, descuentos y campañas de bonificaciones.
  • Personalización: especificar las condiciones para mostrar el catálogo de artículos y aplicar promociones solo para ciertos usuarios autorizados.
  • Límites de promoción: establecer un límite en cuántas veces un usuario puede utilizar una promoción y configurar reinicios programados para estos límites.
  • Cadenas de recompensas y puntos de valor: configurar progresiones de recompensas vinculadas a la acumulación de puntos de valor.
  • Cadenas diarias: configurar recompensas diarias recurrentes para estimular inicios de sesión regulares.
  • Cadenas de ofertas: construir ofertas de compra secuenciales con precios por cada paso y opciones de recompensa gratuita.
  • Venta adicional: un método de ventas en el que se ofrece al usuario comprar un artículo que posee un valor adicional.

Llamadas API

La API se divide en los siguientes grupos:

  • Admin: llamadas para crear, actualizar, activar y eliminar campañas y configuraciones de cadenas. Se autentican a través de autenticación básica de acceso con sus credenciales de comerciante o de proyecto.
  • Client: llamadas para recuperar promociones disponibles, obtener cadenas activas, canjear códigos y reclamar recompensas en nombre de usuarios finales autenticados. Se autentican a través del JWT del usuario.

Autenticación

Las llamadas API requieren autenticación ya sea en nombre de un usuario o en nombre de un proyecto. El esquema de autenticación utilizado se especifica en la sección Seguridad en la descripción de cada llamada.

Autenticación mediante el JWT del usuario

La autenticación mediante el JWT del usuario se utiliza cuando se envía una solicitud desde un navegador, aplicación móvil o juego. Por defecto, se aplica el esquema XsollaLoginUserJWT. Para obtener más detalles sobre cómo crear un token, consulte la documentación del API de Xsolla Login.

El token se transmite en el encabezado Authorization con el siguiente formato: Authorization: Bearer <user_JWT>, en el que <user_JWT> es el token de usuario. El token identifica al usuario y proporciona acceso a datos personalizados.

También puede utilizar un token para abrir la interfaz de pago.

Autenticación HTTP básica

La autenticación HTTP básica se utiliza para interacciones de servidor a servidor, cuando una llamada API se envía directamente desde tu servidor en lugar de desde el navegador de un usuario o aplicación móvil. Normalmente, se usa la autenticación HTTP básica con una clave de API.

Nota:

La clave de API es confidencial y no debe almacenarse ni usarse en aplicaciones cliente.

Con la autenticación básica del lado del servidor, todas las solicitudes de API deben incluir el siguiente encabezado:

  • para basicAuthAuthorization: Basic <your_authorization_basic_key>, en las que your_authorization_basic_key es el par project_id:api_key codificado en Base64
  • para basicMerchantAuthAuthorization: Basic <your_authorization_basic_key>, en las que your_authorization_basic_key es el par merchant_id:api_key codificado en Base64

Puede encontrar los valores de parámetro en Cuenta del editor:

  • Se muestra merchant_id:
    • En Configuración de la empresa > Empresa.
    • En la URL en la barra de direcciones del navegador en cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchant_id>.
  • Se muestra project_id:
    • Junto al nombre del proyecto en Cuenta del editor.
    • En la URL en la barra de direcciones del navegador al trabajar en un proyecto en la Cuenta del editor. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchant_id>/projects/<project_id>.
  • api_key se muestra en Cuenta del editor solo en el momento de la creación y debe almacenarse de forma segura en su servidor. Puede crear una clave de API en las siguientes secciones:
Aviso:

Si una llamada API requerida no incluye el parámetro de ruta project_id, utilice una clave de API que sea válida para todos los proyectos de la empresa para la autorización.

Para obtener más información sobre cómo trabajar con claves de API, consulte las referencias de la API.

Autenticación con compatibilidad con el acceso de invitado

El esquema de autenticación AuthForCart se utiliza para las compras con cesta y admite dos modos:

  1. Autenticación con el JWT de un usuario. El token se transmite en el encabezado Authorization en el siguiente formato: Authorization: Bearer <user_JWT>, en el que <user_JWT> es el token del usuario. El token identifica al usuario y proporciona acceso a datos personalizados. De forma alternativa, puede usar un token para abrir la interfaz de pago.

  2. Modo simplificado sin encabezado "Authorization". Este modo se utiliza solo para usuarios no autorizados y puede aplicarse solo para ventas de claves de juego. En lugar de un token, la solicitud debe incluir los siguientes encabezados:

    • x-unauthorized-id con un ID de solicitud
    • x-user con la dirección de correo electrónico del usuario codificada en Base64

Estructura de la entidad principal

Los artículos de todos los tipos (artículos virtuales, lotes, moneda virtual y claves) emplean una estructura de datos similar. Comprender la estructura básica simplifica el trabajo con la API y le ayuda a orientarse más fácilmente en la documentación.

Nota:

Algunas llamadas pueden incluir campos adicionales, pero no cambian la estructura básica.

Identificación

  • merchant_id — ID de la empresa en Cuenta del editor
  • project_id — ID del proyecto en Cuenta del editor
  • sku — SKU del artículo, único dentro del proyecto

Visualización en la tienda

  • name — nombre del artículo
  • description — descripción del artículo
  • image_url — URL de la imagen
  • is_enabled — disponibilidad del artículo
  • is_show_in_store — si el artículo se muestra o no en el catálogo

Para obtener más información sobre la gestión de la disponibilidad de artículos en el catálogo, consulte la documentación.

Organización

  • type — tipo de artículo, p. ej., un artículo virtual (virtual_item) o lote (bundle)
  • groups — grupos a los que pertenece el artículo
  • order — orden de visualización en el catálogo

Condiciones de venta

  • prices — precios en moneda real o virtual
  • limits — límites de compra
  • periods — periodos de disponibilidad
  • regions — restricciones regionales

Ejemplo de estructura de entidad principal:

{
  "attributes": [],
  "bundle_type": "virtual_currency_package",
  "content": [
    {
      "description": {
        "en": "Main in-game currency"
      },
      "image_url": "https://.../image.png",
      "name": {
        "en": "Crystals",
        "de": "Kristalle"
      },
      "quantity": 500,
      "sku": "com.xsolla.crystal_2",
      "type": "virtual_currency"
    }
  ],
  "description": {
    "en": "Crystals x500"
  },
  "groups": [],
  "image_url": "https://.../image.png",
  "is_enabled": true,
  "is_free": false,
  "is_show_in_store": true,
  "limits": {
    "per_item": null,
    "per_user": null,
    "recurrent_schedule": null
  },
  "long_description": null,
  "media_list": [],
  "name": {
    "en": "Medium crystal pack"
  },
  "order": 1,
  "periods": [
    {
      "date_from": null,
      "date_until": "2020-08-11T20:00:00+03:00"
    }
  ],
  "prices": [
    {
      "amount": 20,
      "country_iso": "US",
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "regions": [],
  "sku": "com.xsolla.crystal_pack_2",
  "type": "bundle",
  "vc_prices": []
}

Flujo de compra básico

La API de Xsolla le permite implementar la lógica de una tienda en el juego, incluyendo la recuperación del catálogo de artículos, la gestión de la cesta, la creación de pedidos y el seguimiento de su estado. Dependiendo del escenario de integración, las llamadas API se dividen en subsecciones de Admin y Catálogo, que usan diferentes esquemas de autenticación.

El siguiente ejemplo muestra un flujo básico para establecer y operar una tienda, desde la creación de artículos hasta la compra.

Crear artículos y grupos (Admin)

Cree un catálogo de artículos para su tienda, como artículos virtuales, lotes o moneda virtual.

Ejemplos de llamadas API:

Establecer promociones, cadenas y límites (Admin)

Configure herramientas de adquisición de usuarios y monetización, como descuentos, bonificaciones, recompensas diarias o cadenas de ofertas.

Ejemplos de llamadas API:

Obtener información del artículo (cliente)

Configure la visualización de artículos en su aplicación.

Aviso:

No utilice llamadas API de la subsección Admin para crear un catálogo de usuarios. Estas llamadas API tienen límites de frecuencia y no están destinadas para el tráfico de usuarios.

Ejemplos de llamadas a la API:

Nota:

Por defecto, las llamadas API del catálogo devuelven artículos que están actualmente disponibles en la tienda en el momento de la solicitud. Para recuperar artículos que aún no están disponibles o que ya no lo están, incluya el parámetro "show_inactive_time_limited_items": 1 en la solicitud del catálogo.

Vender artículos

Puede vender artículos utilizando los siguientes métodos:

  • Compra rápida: venda un código de artículo (SKU) varias veces.
  • Compra con cesta: el usuario añade artículos a la cesta, elimina artículos y actualiza cantidades dentro de un solo pedido.

Si un artículo se compra utilizando moneda virtual en lugar de dinero real, utilice la llamada API Crear pedido con artículo especificado comprado con moneda virtual. La interfaz de pago no es necesaria, ya que el cargo se procesa cuando se ejecuta la llamada API.

Para la compra de artículos gratuitos, utilice la llamada API Crear pedido con artículo gratuito especificado o la llamada API Crear pedido con cesta gratuita. La interfaz de pago no es necesaria: el pedido se establece inmediatamente con el estado done.

Compra rápida

Utilice la llamada API del lado del cliente para crear un pedido con un artículo especificado. La llamada devuelve un token utilizado para abrir la interfaz de pago.

Nota:

La información de descuento está disponible para el usuario únicamente en la interfaz de pago. Los códigos promocionales no son compatibles.

Compra con cesta

La configuración y compra de la cesta se puede realizar en el cliente o en el lado del servidor.

Configurar y comprar una cesta en el cliente

Implemente la lógica de añadir y eliminar artículos por usted mismo. Antes de llamar a la API para establecer una cesta, no tendrá información sobre qué promociones se aplicarán a la compra. Esto implica que el coste total y los detalles de los artículos de bonificación añadidos no se conocerán.

Implemente la siguiente lógica de cesta:

  1. Después de que el jugador haya llenado una cesta, utilice la llamada API Llenar la cesta con artículos. La llamada devuelve la información actual sobre los artículos seleccionados (precios antes y después de descuentos y artículos de bonificación).
  2. Actualice el contenido de la cesta basándose en las acciones de los usuarios:
Nota:

Para obtener el estado actual de la cesta, utilice la llamada API Obtener la cesta del usuario actual.
  1. Utilice la llamada API Crear pedido con todos los artículos de la cesta actual. La llamada devuelve el ID del pedido y el token de pago. El pedido recién creado se establece por defecto con el estado new.

Configurar y comprar una cesta en el servidor

Esta opción de configuración puede requerir más tiempo para configurar la cesta, ya que cada modificación que se realice en ella debe ir acompañada de llamadas API.

Implemente la siguiente lógica de cesta:

  1. Después de que el jugador haya llenado una cesta, utilice la llamada API Llenar la cesta con artículos. La llamada devuelve la información actual sobre los artículos seleccionados (precios antes y después de descuentos, y artículos de bonificación).
  2. Utilice la llamada API Crear pedido con todos los artículos de la cesta actual. La llamada devuelve el ID del pedido y el token de pago. El pedido recién creado se establece por defecto con el estado new.

Abrir interfaz de pago

Utilice el token devuelto para abrir la interfaz de pago en una nueva ventana. Otras formas de abrir la interfaz de pago se describen en la documentación.

AcciónPunto final
Abrir en entorno de producción.https://secure.xsolla.com/paystation4/?token={token}
Abrir en modo sandbox.https://sandbox-secure.xsolla.com/paystation4/?token={token}
Nota:

Utilice el modo sandbox durante el desarrollo y las pruebas. Las compras de prueba no hacen cargos en cuentas reales. Puede usar tarjetas bancarias de prueba.

Tras realizar el primer pago real, se aplica una política estricta de pagos en aislador de proceso (sandbox). Un pago en modo sandbox está disponible solo para los usuarios especificados en Cuenta del Editor > Configuración de la empresa > Usuarios.

Comprar moneda virtual y artículos con moneda real es posible solamente después de firmar un acuerdo de licencia con Xsolla. Para hacerlo, en Cuenta del editor, vaya a Acuerdos e impuestos > Acuerdos, rellene el formulario de acuerdo y espere la confirmación. La revisión del acuerdo puede tardar hasta tres días laborables.

Para habilitar o deshabilitar el modo sandbox, cambie el valor del parámetro sandbox en la solicitud para compra rápida y compra con cesta. El modo sandbox está desactivado por defecto.

Posibles estados del pedido:

  • new: pedido creado
  • paid: pago recibido
  • done: artículo entregado
  • canceled: pedido cancelado
  • expired: pedido expirado

Haga un seguimiento del estado del pedido usando uno de los siguientes métodos:

Paginación

Las llamadas API que devuelven grandes conjuntos de registros (p. ej., al crear un catálogo) devuelven datos en páginas. La paginación es un mecanismo que limita el número de artículos devueltos en una sola respuesta de API y le permite recuperar páginas posteriores de manera secuencial.

Utilice los siguientes artículos para controlar el número de artículos devueltos:

  • limit — número de artículos por página
  • offset — índice del primer artículo de la página (la numeración comienza desde 0)
  • has_more — indica si hay otra página disponible
  • total_items_count — número total de artículos

Ejemplo de solicitud:

GET /items?limit=20&offset=40

Ejemplo de respuesta:

{
  "items": [...],
  "has_more": true,
  "total_items_count": 135
}

Se recomienda enviar solicitudes posteriores hasta que la respuesta devuelva has_more = false.

Formato de fecha y hora

Las fechas y valores de tiempo se transmiten en el formato ISO 8601.

Se admiten los siguientes:

  • Desfase UTC (tiempo universal coordinado)
  • Valor null cuando no hay restricción de tiempo para mostrar un artículo
  • Marca de tiempo Unix (en segundos) utilizada en algunos campos

Formato: AAAA-MM-DDTHH:MM:SS±HH:MM

Ejemplo: 2026-03-16T10:00:00+03:00

Localización

Xsolla admite la localización de campos visibles por el usuario, como el nombre y la descripción del artículo. Los valores localizados se transmiten como un objeto en el que el código de idioma se utiliza como la clave. La lista completa de idiomas admitidos está disponible en la documentación.

Campos admitidos

La localización puede especificarse para los siguientes parámetros:

  • name
  • description
  • long_description

Formato de configuración regional

La clave de configuración regional puede especificarse en uno de los siguientes formatos:

  • Código de idioma de dos letras: en, ru
  • Código de idioma de cinco letras: en-US, ru-RU, de-DE

Ejemplos

Ejemplo con un código de idioma de dos letras:

{
  "name": {
    "en": "Starter Pack",
    "ru": "Стартовый набор"
  }
}

Ejemplo con un código de idioma de cinco letras:

{
  "description": {
    "en-US": "Premium bundle",
    "de-DE": "Premium-Paket"
  }
}

Formato de respuesta de error

Si ocurre un error, la API devuelve un estado HTTP y un cuerpo de respuesta JSON. La lista completa de errores relacionados con la tienda está disponible en la documentación.

Ejemplo de respuesta:

{
  "errorCode": 1102,
  "errorMessage": "Validation error",
  "statusCode": 422,
  "transactionId": "c9e1a..."
}
  • errorCode — código de error.
  • errorMessage — descripción breve del error.
  • statusCode — estado de la respuesta HTTP.
  • transactionId — ID de la solicitud. Se devuelve solo en algunos casos.
  • errorMessageExtended — detalles adicionales del error, como los parámetros de la solicitud. Se devuelve solo en algunos casos.

Ejemplo de respuesta ampliada:

{
  "errorCode": 7001,
  "errorMessage": "Chain not found",
  "errorMessageExtended": {
    "chain_id": "test_chain_id",
    "project_id": "test_project_id",
    "step_number": 2
  },
  "statusCode": 404
}

Códigos de estado HTTP habituales

  • 400 — solicitud no válida
  • 401 — error de autenticación
  • 403 — permisos insuficientes
  • 404 — recurso no encontrado
  • 422 — error de validación
  • 429 — límite de frecuencia excedido

Recomendaciones

  • Gestione el estado HTTP y el cuerpo de la respuesta juntos.
  • Utilice errorCode para procesar errores relacionados con la lógica de la aplicación.
  • Utilice transactionId para identificar solicitudes más rápidamente al analizar errores.
Descargar descripción de OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/es/api/liveops/

Descripción general

Las promociones son herramientas de marketing diseñadas para atraer nuevos usuarios y aumentar las ventas. Usando la API de Xsolla, puede configurar las siguientes promociones:

  • Descuentos: precios reducidos en artículos seleccionados.
  • Bonificaciones: artículos concedidos a los usuarios junto con su compra.
  • Cupones: códigos que permiten a los usuarios recibir uno o más artículos de bonificación al canjearlos.
  • Códigos promocionales: códigos que permiten a los usuarios recibir artículos de bonificación, un descuento en un artículo específico o un descuento en toda la cesta. A diferencia de los cupones que se canjean después de que el usuario los introduce, los códigos promocionales se canjean durante una compra (en el momento del pago).
  • Ofertas únicas: artículos ocultos que se muestran en el catálogo a los usuarios que han introducido un código de oferta única. Si no se introduce el código, los artículos no se muestran.

Flujo de ejemplo para configurar una promoción de descuento:

  1. Cree artículos usando las llamadas de la subsección Admin de los grupos Artículos virtuales y moneda, Lotes o Claves del juego.
  2. Cree una promoción usando la llamada Crear promoción de descuento para un artículo. En la matriz items, transmita los SKU de los artículos correspondientes.
  3. Configure los periodos de validez de la promoción. Para hacerlo, invoque los métodos Crear promoción de descuento para un artículo o Actualizar promoción del artículo, y transmita el campo promotion_periods como una matriz de objetos en la cual date_from define la fecha de inicio y date_until define la fecha de finalización del periodo de validez.
  4. Active una promoción usando la llamada Actualizar la promoción del artículo. Transmita el parámetro "is_enabled": true.
  5. Para obtener información sobre los precios de los artículos, incluidos los precios con descuento, llame a los métodos de la API del cliente para obtener un catálogo de artículos de las subsecciones Común > Catálogo, Artículos virtuales y moneda > Catálogo, y Lotes > Catálogo.

Ejemplo de configuración de promoción

Consulte nuestra documentación para obtener información detallada sobre la configuración de promociones:

Llamadas comunes de API

Puede llamar a los métodos API de esta subsección para gestionar diferentes tipos de promociones.

Operaciones

Cupones

Llame a los métodos API de esta subsección para configurar y gestionar promociones de cupones.

Nota:

Consulte nuestra documentación para obtener información detallada sobre los cupones.

Operaciones

Códigos promocionales

Llame a los métodos API de esta subsección para configurar y gestionar promociones de códigos promocionales.

Nota:

Consulte nuestra documentación para obtener información detallada sobre los códigos promocionales.

Operaciones

Ofertas únicas por catálogo

Llame a los métodos API de esta subsección para configurar y gestionar ofertas exclusivas de catálogo.

Nota:

Consulte nuestra documentación para obtener información detallada sobre las ofertas exclusivas.

Operaciones

Descuentos

Llame a los métodos API de esta subsección para configurar y gestionar promociones de descuento.

Nota:

Consulte nuestra documentación para obtener información detallada sobre los descuentos.

Operaciones

Bonificaciones

Llame a los métodos API de esta subsección para configurar y gestionar promociones de bonificaciones.

Nota:

Consulte nuestra documentación para obtener información detallada sobre las bonificaciones.

Operaciones

Catálogo personalizado

La personalización le permite especificar las condiciones para mostrar el catálogo de artículos y aplicar promociones únicamente para usuarios autorizados específicos. Las condiciones se definen en función de los atributos de usuario y le permiten ofrecer artículos y promociones que sean más relevantes para usuarios concretos.

Los siguientes tipos de personalización están disponibles:

  • Personalización en el lado de Xsolla. Las reglas y la lógica de personalización se configuran y almacenan en el lado de Xsolla. Transmite los atributos del usuario, y Xsolla los utiliza para generar un catálogo personalizado.
  • Personalización del lado del socio. Configura las reglas y la lógica de personalización en su lado y envía una carga útil del catálogo final para un usuario específico a Xsolla.
Nota:

Solo puede usar un tipo de personalización. Para cambiarlo, siga las instrucciones.

Para configurar la personalización en el lado de Xsolla usando la API de Xsolla:

  1. Cree artículos usando las llamadas API de la subsección Admin de los grupos Artículos virtuales y moneda, Lotes o Claves del juego.

  2. Configure los atributos del usuario usando la API de Xsolla Login y manténgalos sincronizados actualizando los datos en Xsolla cada vez que se produzcan cambios en su juego.

  3. Configure la personalización para artículos o promociones:

  4. Transmita el JWT del usuario con los atributos del usuario a las llamadas API de recuperación de catálogo para recibir un catálogo personalizado.

Secuencia para configurar y aplicar la personalización en el lado de Xsolla para el catálogo de artículos:

Personalización para el catálogo de artículos

Secuencia para configurar y aplicar la personalización en el lado de Xsolla para las promociones:

Personalización para las promociones

Operaciones

Descripción general

Los límites de uso de promociones le permiten restringir el número de veces que un usuario específico puede usar una promoción. También puede configurar restablecimientos programados de los límites.

Los límites se almacenan en el lado de Xsolla y se configuran en la configuración de la promoción en Cuenta del editor o a través del objeto limits en las siguientes llamadas API:

La información de los límites se devuelve en el objeto items.promotions.limits en las siguientes llamadas API para recuperar el catálogo de artículos:

Las llamadas de API en la subsección Gestión del grupo Límites le permiten recuperar el estado actual de los límites y actualizarlos para un usuario específico; por ejemplo, reiniciar el contador después de realizar una misión o ajustar manualmente la cantidad restante.

Nota:

Para obtener información detallada sobre cómo configurar los límites en el catálogo, consulte la sección Límites de uso de promociones.

Puede configurar limits.per_user: un límite en el número de veces que un solo usuario puede usar una promoción.

Los usuarios no autenticados siempre ven el número máximo de veces que se puede usar la promoción.

Para mostrar los usos restantes de la promoción del usuario con el límite activo aplicado, transmita los datos de autorización del usuario al solicitar el catálogo de artículos.

Para configurar un periodo de restablecimiento programado —diario, semanal o mensual— transmita el objeto limits.recurrent_schedule al crear o actualizar una promoción.

Escenario de configuración y aplicación de límites

  1. Crea una promoción usando la llamada API Crear promoción de descuento para un artículo o Crear promoción de bonificación y pasa el objeto limits.
  2. Solicita el catálogo para un usuario no autenticado: la respuesta devuelve el número máximo de usos de la promoción en el objeto items.promotions.limits.
  3. El usuario inicia sesión.
  4. Solicita el catálogo con el token de autorización del usuario: la respuesta devuelve el número restante de usos con el límite activo aplicado.
  5. El usuario selecciona un artículo promocional y hace una compra.
  6. Después del pago realizado correctamente, Xsolla actualiza el valor items.promotions.limits.per_user. Cuando llega a 0, el artículo se devuelve en las llamadas API del catálogo sin descuento ni bonificación.
  7. Puede actualizar el límite usando las llamadas API de la subsección Gestión:
  8. Recupera el valor de límite actualizado en items.promotions.limits en la siguiente solicitud de catálogo realizada con el token de autorización del usuario y lo muestra al usuario.

Límites de promoción

Operaciones

Descripción general

Las cadenas de recompensas animan a los usuarios a comprar en la tienda utilizando moneda real. Por cada compra, los usuarios ganan puntos de valor y avanzan en la cadena de recompensas. Si los usuarios forman parte de clanes, sus compras aportan puntos de valor a todo el clan. Para obtener información detallada sobre cómo configurar las cadenas de recompensas, consulte la sección Sistema de recompensas.

Para configurar las cadenas de recompensas, utilice las llamadas API de la subsección Admin. Para mostrar las cadenas y reclamar recompensas, utilice las llamadas API de la subsección Client. Para gestionar las cadenas de recompensas de clanes, utilice las llamadas API de la subsección Clans client.

Ejemplo del flujo de configuración de la cadena de recompensas:

  1. Cree artículos usando las llamadas API de la subsección Admin de los grupos Artículos virtuales y moneda o Lotes.
  2. Cree puntos de valor mediante la llamada API Crear punto de valor.
  3. Asigne puntos de valor a los artículos mediante la llamada API Fijar puntos de valor para los artículos. Los usuarios reciben puntos de valor tras comprar estos artículos.
  4. Cree una cadena mediante la llamada API Crear cadena de recompensas. Para activar la cadena, transmita el parámetro is_enabled: true.
  5. Implemente la visualización de la cadena de recompensas. Para ello, solicite la lista de cadenas disponibles mediante la llamada API Obtener las cadenas de recompensas del usuario actual. La respuesta contiene todas las cadenas activas con sus pasos y estados.
  6. Implemente la visualización del saldo de puntos de valor. Para ello, utilice la llamada API Obtener el saldo de puntos de valor del usuario actual.
  7. Implemente la reclamación de recompensas por pasos. Para ello, utilice la llamada API Reclamar recompensa por paso.
  8. Configure el seguimiento del estado de los pedidos, por ejemplo, mediante webhooks, para recibir sin demora los datos sobre las recompensas reclamadas y concedérselas al usuario.

Flujo de configuración de la cadena de recompensas

Operaciones
Operaciones
Operaciones
Operaciones

Obtener lista de recompensas diariasServer-sideAdmin

Solicitud

Obtiene una lista de recompensas diarias para su administración.

Aviso:

Un método devuelve una lista paginada de artículos. El valor máximo y por defecto es de 50 artículos por respuesta. Para obtener más artículos de la lista, utilice los parámetros `limit` y `offset` y obtenga más páginas. Por ejemplo, al llamar a un método con `limit = 25` y `offset = 100`, la respuesta devuelve 25 artículos comenzando desde el artículo 101 en la lista global.
Seguridad
basicAuth
Ruta
project_idintegerrequerido

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto y en la barra de direcciones del navegador cuando se trabaja en un proyecto. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchant_id>/projects/<project_id>.

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
enabledinteger

Filtrar elementos por la marca is_enabled.

is_expiredinteger

Filtrar las recompensas diarias para mostrar solo las caducadas.

typestring

Filtra las recompensas diarias para devolver solo el tipo especificado.

Enumeración"calendar_hard""rolling_skippable""rolling_unskippable"
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/daily_chain?limit=50&offset=0&enabled=0&is_expired=0&type=calendar_hard'

Respuestas

La lista de recompensas diarias se ha obtenido correctamente.

Cuerpoapplication/json
has_moreboolean

Se utiliza como indicador de que hay más páginas.

total_items_countinteger

Número total de recompensas diarias.

Ejemplo: 3
itemsArray of objects
One of:

A calendar_hard daily reward (short version).

items[].​typestring

Tipo de recompensa diaria que determina cuándo los usuarios pueden reclamar recompensas.

Valores posibles:

  • calendar_hard: Desbloquea la recompensa del siguiente paso cada 24 horas. Las recompensas de paso sin reclamar se pierden para siempre cuando se desbloquea la recompensa del siguiente paso.
  • rolling_skippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Si un usuario se salta uno o más días, continuará desde donde lo dejó; los días perdidos no otorgan múltiples recompensas.
  • rolling_unskippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Sin embargo, si un usuario se salta un día, su progreso se reinicia y debe volver a empezar desde el primer paso.
Enumeración"calendar_hard""rolling_skippable""rolling_unskippable"
items[].​date_startstring(date-time)

Fecha de inicio de la recompensa diaria.

items[].​is_recurrentboolean

Si la recompensa diaria es recurrente. Si es true, la recompensa diaria se restablecerá automáticamente después de la fecha de finalización. La siguiente programación de start_date y end_date se basa en el número de pasos de recompensa diaria y el tiempo inicial establecidos en start_date.

items[].​idinteger

ID único de recompensa diaria.

items[].​name(object or null)

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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

items[].​name.​enstring or null

Inglés

items[].​name.​arstring or null

Árabe

items[].​name.​bgstring or null

Búlgaro

items[].​name.​cnstring or null

Chino (simplificado)

items[].​name.​csstring or null

Checo

items[].​name.​destring or null

Alemán

items[].​name.​esstring or null

Español (España)

items[].​name.​frstring or null

Francés

items[].​name.​hestring or null

Hebreo

items[].​name.​itstring or null

Italiano

items[].​name.​jastring or null

Japonés

items[].​name.​kostring or null

Coreano

items[].​name.​plstring or null

Polaco

items[].​name.​ptstring or null

Portugués

items[].​name.​rostring or null

Rumano

items[].​name.​rustring or null

Ruso

items[].​name.​thstring or null

Tailandés

items[].​name.​trstring or null

Turco

items[].​name.​twstring or null

Chino (tradicional)

items[].​name.​vistring or null

Vietnamita

items[].​name.​kmstring or null

Jemer

items[].​name.​idstring or null

Indonesio

items[].​name.​lostring or null

Laosiano

items[].​name.​mystring or null

Birmano

items[].​name.​phstring or null

Filipino

items[].​name.​nestring or null

Nepalí

items[].​orderinteger

Define el orden de disposición.

items[].​description(object or null)

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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

items[].​description.​enstring or null

Inglés

items[].​description.​arstring or null

Árabe

items[].​description.​bgstring or null

Búlgaro

items[].​description.​cnstring or null

Chino (simplificado)

items[].​description.​csstring or null

Checo

items[].​description.​destring or null

Alemán

items[].​description.​esstring or null

Español (España)

items[].​description.​frstring or null

Francés

items[].​description.​hestring or null

Hebreo

items[].​description.​itstring or null

Italiano

items[].​description.​jastring or null

Japonés

items[].​description.​kostring or null

Coreano

items[].​description.​plstring or null

Polaco

items[].​description.​ptstring or null

Portugués

items[].​description.​rostring or null

Rumano

items[].​description.​rustring or null

Ruso

items[].​description.​thstring or null

Tailandés

items[].​description.​trstring or null

Turco

items[].​description.​twstring or null

Chino (tradicional)

items[].​description.​vistring or null

Vietnamita

items[].​description.​kmstring or null

Jemer

items[].​description.​idstring or null

Indonesio

items[].​description.​lostring or null

Laosiano

items[].​description.​mystring or null

Birmano

items[].​description.​phstring or null

Filipino

items[].​description.​nestring or null

Nepalí

items[].​date_endstring or null(date-time)

Fecha en la que finaliza su recompensa diaria. Puede ser null. Al establecer el tipo calendar_hard, esta fecha se fijará automáticamente en función del número de pasos añadidos, por lo que puede dejarla como null.

items[].​is_enabledboolean
items[].​number_of_stepsinteger

Es el número de pasos configurados en la recompensa diaria. Cada paso aquí representa un día en la recompensa diaria.

Respuesta
application/json
{ "has_more": false, "total_items_count": 3, "items": [ {}, {}, {}, {}, {} ] }

Crear recompensa diariaServer-sideAdmin

Solicitud

Crea una recompensa diaria.

Seguridad
basicAuth
Ruta
project_idintegerrequerido

ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto y en la barra de direcciones del navegador cuando se trabaja en un proyecto. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchant_id>/projects/<project_id>.

Ejemplo: 44056
Cuerpoapplication/json
One of:

A daily reward for calendar_hard type.

typestringrequerido

Tipo de recompensa diaria que determina cuándo los usuarios pueden reclamar recompensas.

Valores posibles:

  • calendar_hard: Desbloquea la recompensa del siguiente paso cada 24 horas. Las recompensas de paso sin reclamar se pierden para siempre cuando se desbloquea la recompensa del siguiente paso.
  • rolling_skippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Si un usuario se salta uno o más días, continuará desde donde lo dejó; los días perdidos no otorgan múltiples recompensas.
  • rolling_unskippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Sin embargo, si un usuario se salta un día, su progreso se reinicia y debe volver a empezar desde el primer paso.
Enumeración"calendar_hard""rolling_skippable""rolling_unskippable"
date_startstring(date-time)requerido

Fecha de inicio de la recompensa diaria.

is_recurrentboolean

Si la recompensa diaria es recurrente. Si es true, la recompensa diaria se restablecerá automáticamente después de la fecha de finalización. La siguiente programación de start_date y end_date se basa en el número de pasos de recompensa diaria y el tiempo inicial establecidos en start_date.

name(object or null)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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

name.​enstring or null

Inglés

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.​esstring or null

Español (España)

name.​frstring or null

Francés

name.​hestring or null

Hebreo

name.​itstring or null

Italiano

name.​jastring or null

Japonés

name.​kostring or null

Coreano

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

name.​kmstring or null

Jemer

name.​idstring or null

Indonesio

name.​lostring or null

Laosiano

name.​mystring or null

Birmano

name.​phstring or null

Filipino

name.​nestring or null

Nepalí

orderinteger

Define el orden de disposición.

description(object or null)

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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

description.​enstring or null

Inglés

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.​esstring or null

Español (España)

description.​frstring or null

Francés

description.​hestring or null

Hebreo

description.​itstring or null

Italiano

description.​jastring or null

Japonés

description.​kostring or null

Coreano

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

description.​kmstring or null

Jemer

description.​idstring or null

Indonesio

description.​lostring or null

Laosiano

description.​mystring or null

Birmano

description.​phstring or null

Filipino

description.​nestring or null

Nepalí

is_enabledbooleanrequerido
stepsArray of objectsrequerido
steps[].​step_numberinteger>= 1requerido

Número del paso.

steps[].​itemsArray of objectsnon-emptyrequerido
steps[].​items[].​skustring[ 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.

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

Cantidad de pasos de recompensa diaria para este sku

curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/daily_chain \
  -H 'Content-Type: application/json' \
  -d '{
    "name": {
      "en": "New daily reward",
      "ru": "Новая ежедневная награда"
    },
    "description": {
      "en": "New daily reward short description"
    },
    "order": 4,
    "date_start": "2023-04-15T18:16:00+05:00",
    "is_enabled": true,
    "steps": [
      {
        "step_number": 1,
        "items": [
          {
            "sku": "vg_enabled_shown_in_store_1",
            "quantity": 2
          }
        ]
      },
      {
        "step_number": 2,
        "items": [
          {
            "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg",
            "quantity": 2
          }
        ]
      },
      {
        "step_number": 3,
        "items": [
          {
            "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1",
            "quantity": 2
          }
        ]
      },
      {
        "step_number": 4,
        "items": [
          {
            "sku": "vg_enabled_shown_in_store_1",
            "quantity": 1
          }
        ]
      },
      {
        "step_number": 5,
        "items": [
          {
            "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg",
            "quantity": 1
          }
        ]
      },
      {
        "step_number": 6,
        "items": [
          {
            "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1",
            "quantity": 1
          }
        ]
      }
    ],
    "type": "calendar_hard"
  }'

Respuestas

La recompensa diaria se ha creado correctamente.

Cuerpoapplication/json
daily_chain_idinteger
Ejemplo: 10
Respuesta
application/json
{ "daily_chain_id": 10 }

Obtener recompensa diariaServer-sideAdmin

Solicitud

Obtiene una recompensa diaria 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 y en la barra de direcciones del navegador cuando se trabaja en un proyecto. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchant_id>/projects/<project_id>.

Ejemplo: 44056
daily_chain_idintegerrequerido

ID de recompensa diaria.

Ejemplo: 101
curl -i -X GET \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/daily_chain/id/101

Respuestas

Los datos de recompensa diaria se han obtenido correctamente.

Cuerpoapplication/json
typestring

Tipo de recompensa diaria que determina cuándo los usuarios pueden reclamar recompensas.

Valores posibles:

  • calendar_hard: Desbloquea la recompensa del siguiente paso cada 24 horas. Las recompensas de paso sin reclamar se pierden para siempre cuando se desbloquea la recompensa del siguiente paso.
  • rolling_skippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Si un usuario se salta uno o más días, continuará desde donde lo dejó; los días perdidos no otorgan múltiples recompensas.
  • rolling_unskippable: Desbloquea la recompensa del siguiente paso cada 24 horas en función de la date_start. La progresión es secuencial: no se desbloqueará una nueva recompensa hasta que se haya reclamado la anterior. Sin embargo, si un usuario se salta un día, su progreso se reinicia y debe volver a empezar desde el primer paso.
Enumeración"calendar_hard""rolling_skippable""rolling_unskippable"
Discriminador
date_startstring(date-time)

Fecha de inicio de la recompensa diaria.

is_recurrentboolean

Si la recompensa diaria es recurrente. Si es true, la recompensa diaria se restablecerá automáticamente después de la fecha de finalización. La siguiente programación de start_date y end_date se basa en el número de pasos de recompensa diaria y el tiempo inicial establecidos en start_date.

idinteger

ID único de recompensa diaria.

name(object or null)

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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

name.​enstring or null

Inglés

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.​esstring or null

Español (España)

name.​frstring or null

Francés

name.​hestring or null

Hebreo

name.​itstring or null

Italiano

name.​jastring or null

Japonés

name.​kostring or null

Coreano

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

name.​kmstring or null

Jemer

name.​idstring or null

Indonesio

name.​lostring or null

Laosiano

name.​mystring or null

Birmano

name.​phstring or null

Filipino

name.​nestring or null

Nepalí

orderinteger

Define el orden de disposición.

description(object or null)

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.

Any of:

Códigos lingüísticos de dos letras minúsculas.

description.​enstring or null

Inglés

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.​esstring or null

Español (España)

description.​frstring or null

Francés

description.​hestring or null

Hebreo

description.​itstring or null

Italiano

description.​jastring or null

Japonés

description.​kostring or null

Coreano

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

description.​kmstring or null

Jemer

description.​idstring or null

Indonesio

description.​lostring or null

Laosiano

description.​mystring or null

Birmano

description.​phstring or null

Filipino

description.​nestring or null

Nepalí

date_endstring or null(date-time)

Fecha en la que finaliza su recompensa diaria. Puede ser null. Al establecer el tipo calendar_hard, esta fecha se fijará automáticamente en función del número de pasos añadidos, por lo que puede dejarla como null.

is_enabledboolean
number_of_stepsinteger

Es el número de pasos configurados en la recompensa diaria. Cada paso aquí representa un día en la recompensa diaria.

stepsArray of objects
steps[].​step_idinteger or null>= 1

Identificador único del paso de recompensa diaria

steps[].​step_numberinteger>= 1

Número del paso.

steps[].​itemsArray of objects
steps[].​items[].​item_idinteger

ID único interno del artículo.

steps[].​items[].​skustring[ 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.

steps[].​items[].​typestring

Tipo de artículo: virtual_good/virtual_currency/bundle/unit.

steps[].​items[].​nameobject or null

Códigos lingüísticos de dos letras minúsculas.

steps[].​items[].​name.​enstring or null

Inglés

steps[].​items[].​name.​arstring or null

Árabe

steps[].​items[].​name.​bgstring or null

Búlgaro

steps[].​items[].​name.​cnstring or null

Chino (simplificado)

steps[].​items[].​name.​csstring or null

Checo

steps[].​items[].​name.​destring or null

Alemán

steps[].​items[].​name.​esstring or null

Español (España)

steps[].​items[].​name.​frstring or null

Francés

steps[].​items[].​name.​hestring or null

Hebreo

steps[].​items[].​name.​itstring or null

Italiano

steps[].​items[].​name.​jastring or null

Japonés

steps[].​items[].​name.​kostring or null

Coreano

steps[].​items[].​name.​plstring or null

Polaco

steps[].​items[].​name.​ptstring or null

Portugués

steps[].​items[].​name.​rostring or null

Rumano

steps[].​items[].​name.​rustring or null

Ruso

steps[].​items[].​name.​thstring or null

Tailandés

steps[].​items[].​name.​trstring or null

Turco

steps[].​items[].​name.​twstring or null

Chino (tradicional)

steps[].​items[].​name.​vistring or null

Vietnamita

steps[].​items[].​name.​kmstring or null

Jemer

steps[].​items[].​name.​idstring or null

Indonesio

steps[].​items[].​name.​lostring or null

Laosiano

steps[].​items[].​name.​mystring or null

Birmano

steps[].​items[].​name.​phstring or null

Filipino

steps[].​items[].​name.​nestring or null

Nepalí

steps[].​items[].​description(object or null)

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:

Códigos lingüísticos de dos letras minúsculas.

steps[].​items[].​description.​enstring or null

Inglés

steps[].​items[].​description.​arstring or null

Árabe

steps[].​items[].​description.​bgstring or null

Búlgaro

steps[].​items[].​description.​cnstring or null

Chino (simplificado)

steps[].​items[].​description.​csstring or null

Checo

steps[].​items[].​description.​destring or null

Alemán

steps[].​items[].​description.​esstring or null

Español (España)

steps[].​items[].​description.​frstring or null

Francés

steps[].​items[].​description.​hestring or null

Hebreo

steps[].​items[].​description.​itstring or null

Italiano

steps[].​items[].​description.​jastring or null

Japonés

steps[].​items[].​description.​kostring or null

Coreano

steps[].​items[].​description.​plstring or null

Polaco

steps[].​items[].​description.​ptstring or null

Portugués

steps[].​items[].​description.​rostring or null

Rumano

steps[].​items[].​description.​rustring or null

Ruso

steps[].​items[].​description.​thstring or null

Tailandés

steps[].​items[].​description.​trstring or null

Turco

steps[].​items[].​description.​twstring or null

Chino (tradicional)

steps[].​items[].​description.​vistring or null

Vietnamita

steps[].​items[].​description.​kmstring or null

Jemer

steps[].​items[].​description.​idstring or null

Indonesio

steps[].​items[].​description.​lostring or null

Laosiano

steps[].​items[].​description.​mystring or null

Birmano

steps[].​items[].​description.​phstring or null

Filipino

steps[].​items[].​description.​nestring or null

Nepalí

steps[].​items[].​image_urlstring or null

URL de la imagen.

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

Cantidad de artículos.

Ejemplo: 1
Respuesta
application/json
{ "id": 3, "name": { "en": "Daily reward", "ru": "Ежедневная награда" }, "description": { "en": "Daily reward short description" }, "date_start": "2023-04-15T18:16:00+05:00", "date_end": "2025-04-25T18:16:00+05:00", "order": 1, "is_recurrent": false, "number_of_steps": 3, "steps": [ {}, {}, {} ], "is_enabled": true, "type": "calendar_hard" }
Operaciones

Descripción general

Las cadenas de ofertas son una secuencia de pasos, cada uno de los cuales contiene un artículo que los usuarios reciben gratis o que compran como parte de una oferta activa. Las cadenas de ofertas pueden incluir artículos exclusivos que solo están disponibles dentro de la cadena, así como artículos a precios rebajados en comparación con los precios de tienda. Para obtener información detallada sobre cómo configurar esta herramienta de marketing, consulte la sección Offer chains.

Para configurar las cadenas de ofertas, utilice las llamadas API de la subsección Admin. Para mostrar las cadenas e implementar la lógica para gestionar los artículos que reciben los usuarios, utilice las llamadas API de la subsección Client.

Ejemplo del flujo de configuración de la cadena de ofertas:

  1. Cree artículos usando las llamadas API de la subsección Admin de los grupos Artículos virtuales y moneda o Lotes.

  2. Cree una cadena mediante la llamada API Crear cadena de ofertas. Para activar la cadena, transmita el parámetro is_enabled: true.

  3. Implemente la visualización de la cadena de ofertas. Para ello, solicite la lista de cadenas disponibles mediante la llamada API Obtener las cadenas de ofertas del usuario actual. La respuesta contiene todas las cadenas activas con sus pasos y estados.

  4. Implemente la lógica para gestionar los artículos que reciben los usuarios:

  5. Configure el seguimiento del estado de los pedidos, por ejemplo, mediante webhooks, para recibir sin demora los datos de los artículos reclamados o comprados y concedérselos al usuario.

Flujo de configuración de la cadena de recompensas

Operaciones
Operaciones
Operaciones
Operaciones