Saltar para o conteúdo

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.

Transferir a descrição da OpenAPI
Idiomas
Servidores
Mock server
https://xsolla.redocly.app/_mock/pt/api/shop-builder/
https://store.xsolla.com/api/
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
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações

Catálogo

Esta API permite obter qualquer tipo de itens vendáveis ou itens específicos.

Operações
Operações
Operações
Operações
Operações
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
Operações
Operações
Operações
Operações
Operações

Definir pontos de valor para itensServer-sideAdmin

Pedido

Atribui pontos de valor a um ou vários itens por um SKU. Os usuários recebem pontos de valor depois de comprar esses itens.

Observe que essa solicitação PUT substitui todos os pontos de valor definidos anteriormente para itens no projeto.

Para evitar a exclusão não intencional de pontos de valor, inclua todos os itens e seus respectivos pontos de valor em cada solicitação PUT.

Se desejar atualizar apenas os pontos de valor de um item específico, preservando os pontos de valor de outros itens, recupere o conjunto atual de pontos de valor usando uma solicitação GET, modifique os pontos de valor do item desejado e envie o conjunto modificado de pontos de valor de volta com os pontos de valor atualizados para o item específico.

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
value_point_skustringobrigatório

SKU de pontos de valor.

Exemplo: value_point_3
Corpoapplication/jsonArray [
amountintegerobrigatório

Quantidade de pontos de valor.

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"
]
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/pt/api/shop-builder/v2/project/44056/admin/items/value_point_3/value_points/rewards \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "amount": 100,
      "sku": "com.xsolla.booster_1"
    },
    {
      "amount": 200,
      "sku": "com.xsolla.booster_mega"
    }
  ]'

Respostas

As recompensas de pontos de valor para itens foram atualizadas com sucesso.

Corpo
Resposta
Sem conteúdo

Obter lista de cadeias de recompensasServer-sideAdmin

Pedido

Obtém lista de cadeias de recompensa.

Atenção

Todos os projetos têm a limitação do número de itens que você pode obter na resposta. O valor padrão e máximo é de 10 itens por resposta. Para obter mais dados página por página, use os campos limit e offset.
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
Consulta
limitinteger>= 1

Limite da quantidade de elementos na página.

Exemplo: limit=50
offsetinteger>= 0

Número do elemento a partir do qual a lista é gerada (a quantidade começa a partir de 0).

Exemplo: offset=0
enabledinteger

Filtrar elementos pela flag is_enabled.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/pt/api/shop-builder/v3/project/44056/admin/reward_chain?limit=50&offset=0&enabled=0'

Respostas

A lista de cadeias de recompensa foi recebida com sucesso.

Corpoapplication/json
has_moreboolean(Pagination_has-more)

Usado como um indicador de que há mais páginas.

Exemplo: true
itemsArray of admin-get-reward-chain-item-basic-model (object) or admin-get-reward-chain-item-clan-basic-model (object)
Resposta
application/json
{ "has_more": true, "items": [ {}, {} ] }

Criar cadeia de recompensasServer-sideAdmin

Pedido

Cria cadeias 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
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(create_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"
value_pointobjectobrigatório
value_point.​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"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/pt/api/shop-builder/v3/project/44056/admin/reward_chain \
  -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 must be a clan member 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": 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"
          }
        ]
      },
      {
        "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"
          }
        ]
      }
    ],
    "value_point": {
      "sku": "com.xsolla.clan_value_point_1"
    }
  }'

Respostas

A cadeia de recompensas foi criada com sucesso.

Corpoapplication/json
reward_chain_idinteger
Exemplo: 10
Resposta
application/json
{ "reward_chain_id": 10 }
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações