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

Criar moeda virtualServer-sideAdmin

Pedido

Cria uma moeda virtual.

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
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

Lista de atributos.

Atenção. Não é possível especificar mais de 20 atributos para o item. Qualquer tentativa de exceder o limite resulta em um erro.
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

Um objeto JSON que contém atributos e valores de item. Os atributos permitem que você adicione mais informações a itens como o nível necessário do jogador para usar o item. Os atributos enriquecem a lógica interna do seu jogo e são acessíveis através de métodos GET e webhooks dedicados.

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.

groupsArray of objects(Virtual-Items-Currency_admin-groups-response)

Grupo aos quais o item pertence.

Padrão []
Exemplo: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring(Virtual-Items-Currency_admin-image_url)
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

Se true, o item é gratuito.

Padrão false
Exemplo: false
is_hardboolean(Virtual-Items-Currency_is_hard)
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Currency-item-limit)

Limites de itens.

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.

media_listArray of objects(Virtual-Items-Currency_admin-media_list)

Recursos adicionais do item, como capturas de tela, vídeos de jogabilidade e assim por diante.

Exemplo: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
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(Virtual-Items-Currency_order)

Define a ordem do arranjo.

Exemplo: 1
periodsArray of objects or null(item-periods)

Período de venda de itens.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items-Currency_admin-prices)
Exemplo: [{"amount":10.5,"country_iso":"US","currency":"USD","is_default":true,"is_enabled":true}]
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_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"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
Exemplo: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/pt/api/shop-builder/v2/project/44056/admin/items/virtual_currency \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "material",
        "name": {
          "en-US": "Material"
        },
        "values": [
          {
            "external_id": "gold",
            "value": {
              "en-US": "Gold"
            }
          }
        ]
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "de-DE": "Die Hauptwährung deines Königreichs",
      "en-US": "The main currency of your kingdom"
    },
    "groups": [
      "gold"
    ],
    "is_enabled": true,
    "is_free": false,
    "limits": {
      "per_item": 10000,
      "per_user": 5
    },
    "name": {
      "de-DE": "Goldmünze",
      "en-US": "Gold coin"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 100,
        "currency": "USD",
        "is_default": true,
        "is_enabled": true
      }
    ],
    "sku": "com.xsolla.coin_1"
  }'

Respostas

Item virtual criado com sucesso.

Corpoapplication/json
skustring
Exemplo: "com.xsolla.item_1"
Resposta
application/json
{ "sku": "com.xsolla.item_1" }

Obter lista de pacotes de moedas virtuais (admin)Server-sideAdmin

Pedido

Obtém a lista de pacotes de moedas virtuais dentro de um projeto para administração.

Observação

Não use esse ponto de extremidade para criar um catálogo de loja.
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
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/pt/api/shop-builder/v2/project/44056/admin/items/virtual_currency/package?limit=50&offset=0'

Respostas

A lista de pacotes de moedas virtuais foi recebida com sucesso.

Corpoapplication/json
itemsArray of objects(Virtual-Items-Currency_admin-virtual-currency-package)
Resposta
application/json
{ "items": [ {}, {}, {}, {}, {}, {} ] }

Criar pacote de moedas virtuaisServer-sideAdmin

Pedido

Cria um pacote de moedas virtuais.

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
Any of:
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

Lista de atributos.

Atenção. Não é possível especificar mais de 20 atributos para o item. Qualquer tentativa de exceder o limite resulta em um erro.
contentArray of objects= 1 charactersobrigatório

O pacote de moedas virtuais deve conter apenas 1 posição de moeda virtual.

content[].​quantityinteger
content[].​skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

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"
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

Um objeto JSON que contém atributos e valores de item. Os atributos permitem que você adicione mais informações a itens como o nível necessário do jogador para usar o item. Os atributos enriquecem a lógica interna do seu jogo e são acessíveis através de métodos GET e webhooks dedicados.

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

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.

description.​arstring or null

Árabe

description.​bgstring or null

Búlgaro

description.​cnstring or null

Chinês (Simplificado)

description.​csstring or null

Tcheco

description.​destring or null

Alemão

description.​enstring or null

Inglês

description.​esstring or null

Espanhol (Espanha)

description.​frstring or null

Francês

description.​hestring or null

Hebraico

description.​idstring or null

Indonésio

description.​itstring or null

Italiano

description.​jastring or null

Japonês

description.​kmstring or null

Khmer

description.​kostring or null

Coreano

description.​lostring or null

Lao

description.​mystring or null

Birmanês

description.​nestring or null

Nepalês

description.​phstring or null

Filipino

description.​plstring or null

Polonês

description.​ptstring or null

Português

description.​rostring or null

Romeno

description.​rustring or null

Russo

description.​thstring or null

Tailandês

description.​trstring or null

Turco

description.​twstring or null

Chinês (Tradicional)

description.​vistring or null

Vietnamita

groupsArray of strings(Virtual-Items-Currency_admin-groups-create)

Grupos aos quais o item pertence.

Observação: o valor da cadeia de caracteres refere-se ao grupo `external_id`.
image_urlstring(Virtual-Items-Currency_admin-image_url)
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

Se true, o item é gratuito.

Padrão false
Exemplo: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Currency-Package-item-limit)

Limites de itens.

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.

media_listArray of objects(Virtual-Items-Currency_admin-media_list)

Recursos adicionais do item, como capturas de tela, vídeos de jogabilidade e assim por diante.

Exemplo: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
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(Virtual-Items-Currency_order)

Define a ordem do arranjo.

Exemplo: 1
periodsArray of objects or null(item-periods)

Período de venda de itens.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items-Currency_admin-prices)obrigatório
Exemplo: [{"amount":10.5,"country_iso":"US","currency":"USD","is_default":true,"is_enabled":true}]
prices[].​amountnumber> 0obrigatório

Quantidade.

Exemplo: 10.5
prices[].​country_isostring or null

País onde este preço está disponível. Código de duas letras de acordo com o padrão ISO 3166-1 alpha 2.

Exemplo: "US"
prices[].​currencystringobrigatório

Moeda do preço do item. Código de três letras de acordo com a ISO 4217. Consulte a documentação para obter informações detalhadas sobre as moedas suportadas pelo Xsolla.

Exemplo: "USD"
prices[].​is_defaultboolean
Padrão false
Exemplo: true
prices[].​is_enabledboolean
Padrão true
Exemplo: true
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_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"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
Exemplo: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/pt/api/shop-builder/v2/project/44056/admin/items/virtual_currency/package \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "event",
        "name": {
          "en-US": "Event"
        },
        "values": [
          {
            "external_id": "10-anniversary",
            "value": {
              "en-US": "10th anniversary"
            }
          },
          {
            "external_id": "christmas",
            "value": {
              "en-US": "Christmas"
            }
          }
        ]
      }
    ],
    "content": [
      {
        "quantity": 500,
        "sku": "com.xsolla.novigrad_crown"
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "en-US": "The Crown (also known as the Novigradian crown) is a monetary unit which is used in some Northern Kingdoms",
      "ru-RU": "Крона (Также известна как Новиградская крона) - платежная единица, используемая в северных королевствах"
    },
    "groups": [
      "witcher"
    ],
    "image_url": "https://vignette.wikia.nocookie.net/witcher/images/7/7c/Items_Orens.png/revision/latest?cb=20081113120917",
    "is_enabled": true,
    "is_free": false,
    "limits": {
      "per_item": null,
      "per_user": null
    },
    "long_description": {
      "en-US": "Long Test new",
      "ru-RU": "Длинное описание"
    },
    "media_list": [
      {
        "type": "image",
        "url": "https://test.com/image0"
      },
      {
        "type": "image",
        "url": "https://test.com/image1"
      }
    ],
    "name": {
      "en-US": "500x Novigradian crown",
      "ru-RU": "500x Новиградских крон"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 99.99,
        "currency": "USD",
        "is_default": true
      },
      {
        "amount": 80.03,
        "currency": "EUR",
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.novigrad_crown_500",
    "vc_prices": null
  }'

Respostas

Item virtual criado com sucesso.

Corpoapplication/json
skustring
Exemplo: "com.xsolla.item_1"
Resposta
application/json
{ "sku": "com.xsolla.item_1" }
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações
Operações