Saltar para o conteúdo

Visão geral

  • Versão: 2.0.0
  • Servidores: https://store.xsolla.com/api
  • Contate-nos por e-mail
  • URL de contato: https://xsolla.com/
  • Versão TLS necessária: 1.2

LiveOps é um kit de ferramentas para gerar engajamento contínuo com os jogadores através de promoções e ofertas personalizadas.

Use a API para gerenciar os seguintes recursos:

  • Promoções — crie e gerencie cupons, códigos promocionais, descontos e campanhas bônus.
  • Personalização — especifique as condições para exibir o catálogo de itens e aplicar as promoções somente para certos usuários autorizados.
  • Limites de promoção — defina um limite sobre quantas vezes uma promoção pode ser usada por um usuário e configure as redefinições programadas para esses limites.
  • Cadeias de recompensas e pontos de valor — configure a progressão de recompensas vinculada ao acúmulo de pontos de valor.
  • Cadeias diárias — configure recompensas diárias recorrentes para motivar acessos regulares.
  • Cadeias de ofertas — construa ofertas de compra sequenciais com precificações por etapa e opções de recompensas gratuitas.
  • Venda cruzada — um método de venda na qual o usuário recebe a oferta de comprar um item com valor adicional.

Chamadas API

A API se divide nos seguintes grupos:

  • Admin — chamadas para criar, atualizar, ativar e excluir campanhas e configurações de cadeias. Autenticada via autenticação de acesso básica com seu comerciante ou as credenciais do projeto.
  • Client — chamadas para recuperar as promoções disponíveis, obter cadeias ativas, resgatar códigos e resgatar recompensas em nome de usuários finais autenticados. Autenticado via JWT de usuário.
Transferir a descrição da OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/pt/api/liveops/
Operações

Cupons

Esta API permite que você gerencie cupons.

Operações

Códigos promocionais

Esta API permite gerenciar códigos promocionais.

Operações

Ofertas de catálogo exclusivas

Essa API permite que você gerencie ofertas de catálogo exclusivas.

Operações

Descontos

Esta API permite-lhe gerir promoções de desconto.

Operações

Bônus

Esta API permite gerenciar promoções de bônus.

Operações

Catálogo personalizado

Essa API permite especificar regras para atributos de usuário. Se o usuário atender a todas as condições para uma regra concreta, serão exibidos itens personalizados.

Para promoções personalizadas, consulte a seção Promotions.

Para passar atributos antes de uma compra, você pode usar a Xsolla Login API ou passá-los para a propriedade user.attributes ao gerar o token usando a Pay Station API.

Operações
Operações
Operações

Atualizar cadeia de recompensasServer-sideAdmin

Pedido

Atualiza a cadeia de recompensas específica.

Segurança
basicAuth
Caminho
project_idintegerobrigatório

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

Exemplo: 44056
reward_chain_idintegerobrigatório

ID da cadeia de recompensas.

Exemplo: 101
Corpoapplication/json
One of:

Uma cadeia de recompensas.

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

Condições para validação de atributos do usuário. Determine a disponibilidade da cadeia com base em se os atributos do usuário correspondem a todas as condições especificadas.

description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Objeto com traduções para a descrição do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de localidade de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

One of:

Objeto com traduções para a descrição do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de localidade de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

image_urlstring or null(image_url)

URL da imagem.

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

Se a cadeia deve ser visível para todos os usuários:

  • Se true, a cadeia é sempre exibida, independentemente do status de autenticação ou dos atributos do usuário.
  • Se false, a cadeia é exibida apenas se nenhuma cadeia personalizada for encontrada. Por exemplo, se o usuário não estiver autenticado, ou se seus atributos não corresponderem a nenhuma cadeia personalizada.

Aplica-se somente no contexto de cadeias personalizadas e é usado se a matriz attribute_conditions não for passada.

Padrão true
Exemplo: true
is_enabledboolean(is_enabled)obrigatório
Exemplo: true
is_reset_after_endboolean(is_reset_after_end)

Se a cadeia de recompensas (pontos de valor e progresso de todos os usuários) deve ser redefinida ou não após sua data de término:

  • Se true, a cadeia de recompensas será redefinida após a data de término.
  • Se false, a cadeia de recompensas não será redefinida após a data de término.

Aviso

Não pode ser true se:
  • Houver um período de redefinição definido em recurrent_schedule.
  • O valor null for passado em periods.date_until.
Padrão false
Exemplo: false
long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

Objeto com traduções para a descrição longa do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de localidade de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as variantes para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

Any of:

Objeto com traduções para a descrição longa do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de localidade de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as variantes para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)obrigatório

Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de idioma de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

One of:

Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de idioma de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

name.​arstring or null

Árabe

name.​bgstring or null

Búlgaro

name.​cnstring or null

Chinês (Simplificado)

name.​csstring or null

Tcheco

name.​destring or null

Alemão

name.​enstring or null

Inglês

name.​esstring or null

Espanhol (Espanha)

name.​frstring or null

Francês

name.​hestring or null

Hebraico

name.​idstring or null

Indonésio

name.​itstring or null

Italiano

name.​jastring or null

Japonês

name.​kmstring or null

Khmer

name.​kostring or null

Coreano

name.​lostring or null

Lao

name.​mystring or null

Birmanês

name.​nestring or null

Nepalês

name.​phstring or null

Filipino

name.​plstring or null

Polonês

name.​ptstring or null

Português

name.​rostring or null

Romeno

name.​rustring or null

Russo

name.​thstring or null

Tailandês

name.​trstring or null

Turco

name.​twstring or null

Chinês (Tradicional)

name.​vistring or null

Vietnamita

orderinteger(order)

Define a ordem do arranjo.

Exemplo: 1
periodsArray of objects(periods)obrigatório

Períodos de validade da cadeia de recompensas. Se múltiplos períodos forem especificados, tanto date_from quanto date_until são necessários.

periods[].​date_fromstring(date-time)obrigatório

Data de início da cadeia de recompensas especificada.

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

Data de término da cadeia de recompensas especificada. Pode ser null apenas se um único período de validade for especificado.

Exemplo: "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 = a cada hora (object or null))(recurrent_schedule_create_update)

Período de reinicialização recorrente da cadeia de recompensas.

One of:

Período de reinicialização recorrente da cadeia de recompensas.

stepsArray of objects(modify_reward_step)obrigatório
steps[].​image_urlstring or null(image_url)

URL da imagem.

Exemplo: "https://image.example.com"
steps[].​name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)obrigatório

Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de idioma de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

One of:

Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de idioma de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na documentação.

steps[].​name.​arstring or null

Árabe

steps[].​name.​bgstring or null

Búlgaro

steps[].​name.​cnstring or null

Chinês (Simplificado)

steps[].​name.​csstring or null

Tcheco

steps[].​name.​destring or null

Alemão

steps[].​name.​enstring or null

Inglês

steps[].​name.​esstring or null

Espanhol (Espanha)

steps[].​name.​frstring or null

Francês

steps[].​name.​hestring or null

Hebraico

steps[].​name.​idstring or null

Indonésio

steps[].​name.​itstring or null

Italiano

steps[].​name.​jastring or null

Japonês

steps[].​name.​kmstring or null

Khmer

steps[].​name.​kostring or null

Coreano

steps[].​name.​lostring or null

Lao

steps[].​name.​mystring or null

Birmanês

steps[].​name.​nestring or null

Nepalês

steps[].​name.​phstring or null

Filipino

steps[].​name.​plstring or null

Polonês

steps[].​name.​ptstring or null

Português

steps[].​name.​rostring or null

Romeno

steps[].​name.​rustring or null

Russo

steps[].​name.​thstring or null

Tailandês

steps[].​name.​trstring or null

Turco

steps[].​name.​twstring or null

Chinês (Tradicional)

steps[].​name.​vistring or null

Vietnamita

steps[].​priceobject(reward_step_price)obrigatório
steps[].​price.​amountinteger(step_price_amount)obrigatório

Preço da etapa em pontos de valor.

Exemplo: 100
steps[].​rewardArray of objectsobrigatório
steps[].​reward[].​attribute_conditionsArray of tipo = string (object) or tipo = number (object) or tipo = data (object)(reward-chain-step-reward_user-attribute_conditions_model-post)[ 1 .. 100 ] items

Condições para validação de atributos do usuário. Determine a disponibilidade da recompensa para as etapas da cadeia de recompensas com base em se os atributos do usuário correspondem a todas as condições especificadas.

steps[].​reward[].​quantityinteger(reward_item_quantity)obrigatório

Quantidade do item.

Exemplo: 2
steps[].​reward[].​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$obrigatório

ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.

Exemplo: "booster_mega_1"
steps[].​step_idinteger or null(step_id)obrigatório

ID de etapa exclusivo.

Exemplo: 10
curl -i -X PUT \
  -u <username>:<password> \
  https://store.xsolla.com/api/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
      }
    ]
  }'

Respostas

Cadeia de recompensas atualizada com sucesso.

Corpo
Resposta
Sem conteúdo

Redefinir cadeia de recompensasServer-sideAdmin

Pedido

Resets the value points balance and progress of all users in the reward chain.
The balance is tied to the value points type, not to a specific reward chain. If these value points are used in other chains, the balance will be reset in all chains that use these value points.
After the reset, you can update the reward chain’s validity period, and users will be able to progress through it again.
The clan balance is calculated as the sum of its members’ balances. Therefore, after the reset, the clan balance is also reset.
This request is irreversible and applies to all users of the project.

Notice

You should not reset the reward chain during its validity period. In this case, users may lose earned value points before they claim their reward.
Segurança
basicAuth
Caminho
project_idintegerobrigatório

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

Exemplo: 44056
reward_chain_idintegerobrigatório

ID da cadeia de recompensas.

Exemplo: 101
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101/reset

Respostas

A cadeia de recompensas foi redefinida.

Corpo
Resposta
Sem conteúdo

Alternar cadeia de recompensasServer-sideAdmin

Pedido

Ativar/desativar a cadeia de recompensas.

Segurança
basicAuth
Caminho
project_idintegerobrigatório

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

Exemplo: 44056
reward_chain_idintegerobrigatório

ID da cadeia de recompensas.

Exemplo: 101
curl -i -X PUT \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101/toggle

Respostas

A cadeia de recompensas foi desativada/ativada.

Corpo
Resposta
Sem conteúdo
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações