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

A Catalog API permite que você configure um catálogo de itens de jogo no lado da Xsolla e exibir o catálogo aos usuários na sua loja.

A API permite que você gerencie as seguintes entidades de catálogo:

  • Itens virtuais — itens de jogo tais como armas, visuais e reforços.
  • Moedas virtuais — dinheiro virtual utilizado para comprar bens virtuais.
  • Pacotes de moedas virtuais — conjuntos pré-definidos de moedas virtuais.
  • Conjuntos — pacotes combinados de itens virtuais, moedas ou chaves de jogo vendidas como um único SKU.
  • Chaves de jogo — chaves para jogos e DLCs distribuídos via plataformas como o Steam ou outros provedores de DRM.
  • Grupos — agrupamentos lógicos para organizar e filtrar itens dentro do catálogo.

Chamadas de API

A API divide-se nos seguintes grupos:

  • Admin — chamadas para criar, atualizar, excluir e configurar itens de catálogo e grupos. Autenticada via autenticação de acesso básica com seu comerciante ou credenciais do projeto. Não se destina a uso em vitrines.
  • Catalog — chamadas para recuperar itens e construir vitrines personalizadas para usuários finais. Desenvolvida para gerenciar cenários de carga alta. Suporta a autorização opcional de JWT de usuários para retornar dados personalizados, tais como limites específicos aos usuários e promoções ativas.
Transferir a descrição da OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/pt/api/catalog/
Operações

Obter lista de itens virtuaisServer-sideAdmin

Pedido

Obtém a lista de itens 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://store.xsolla.com/api/v2/project/44056/admin/items/virtual_items?limit=50&offset=0'

Respostas

A lista de itens virtuais foi recebida com sucesso.

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

Criar item virtualServer-sideAdmin

Pedido

Cria um item 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 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_schemas-admin-image_url)

URL da imagem.

Exemplo: "https://image.example.com"
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_paid_randomized_rewardboolean(value-is_paid_randomized_reward)

Se o item é uma recompensa paga randomizada, como uma loot box.

Padrão false
Exemplo: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Item-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)

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.

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_admin-prices)
Exemplo: [{"amount":10.5,"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_\-–.]*$

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://store.xsolla.com/api/v2/project/44056/admin/items/virtual_items \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "craft-materials",
        "name": {
          "en": "Craft materials"
        },
        "values": [
          {
            "external_id": "steel",
            "value": {
              "en-US": "5"
            }
          },
          {
            "external_id": "leather",
            "value": {
              "en-US": "1"
            }
          }
        ]
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "de": "Ein Schwert ist eine Nahkampfwaffe mit Klinge, die zum Schneiden oder Stechen bestimmt ist, länger als ein Messer oder Dolch ist und aus einer langen Klinge besteht, die an einem Griff befestigt ist.",
      "en": "A sword is a bladed melee weapon intended for cutting or thrusting that is longer than a knife or dagger, consisting of a long blade attached to a hilt."
    },
    "groups": [
      "weapons"
    ],
    "is_enabled": true,
    "is_free": false,
    "is_paid_randomized_reward": true,
    "is_show_in_store": true,
    "limits": {
      "per_item": 100,
      "per_user": 5
    },
    "name": {
      "de": "Schwert",
      "en": "Sword"
    },
    "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
      },
      {
        "amount": 200,
        "country_iso": "CZ",
        "currency": "CZK",
        "is_default": true,
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.sword_1",
    "vc_prices": []
  }'

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 itens virtuais por ID de grupo especificado externoServer-sideAdmin

Pedido

Obtém a lista de itens virtuais dentro de um grupo 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
external_idstringobrigatório

ID externo de grupo.

Padrão "all"
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://store.xsolla.com/api/v2/project/44056/admin/items/virtual_items/group/external_id/{external_id}?limit=50&offset=0'

Respostas

A lista de itens virtuais foi recebida com sucesso.

Corpoapplication/json
itemsArray of objects(Virtual-Items-Currency_admin-virtual-item)
Resposta
application/json
{ "items": [ {}, {}, {}, {} ] }
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
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