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

Pedido

Recebe uma lista de conjuntos para montar um catálogo.

Atenção

Todos os projetos têm uma limitação na quantidade de itens que você pode receber na resposta. O valor padrão e máximo é de 50 itens por resposta.

Observação

O use das chamadas API de catálogo de itens está disponível sem autorização, mas para obter um catálogo personalizado, você deve passar o JWT do usuário no cabeçalho da Autorização.
Segurança
XsollaLoginUserJWT
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
localestring

Linguagem de resposta. Código de idioma minúsculo de duas letras de acordo com o padrão ISO 639-1.

Padrão "en"
additional_fields[]Array of strings

A lista de campos adicionais. Esses campos estarão na resposta se você enviá-los em sua solicitação.

Itens Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

Código de país de duas letras maiúsculas de acordo com o padrão ISO 3166-1 alfa-2. Verifique a documentação para obter informações detalhadas sobre os países suportados pela Xsolla e o processo de determinação do país.

Exemplo: country=US
promo_codestring[ 1 .. 128 ] characters

Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.

Exemplo: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Exibe itens de tempo limitado que não estão disponíveis para o usuário. O prazo de validade desses itens não começou ou já expirou.

Padrão 0
Exemplo: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Respostas

A lista de conjuntos 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 objects(Bundles_client_bundle)
Resposta
application/json
{ "has_more": true, "items": [ {} ] }

Obter lista de pacotes por grupo especificadoClient-side

Pedido

Recebe uma lista de conjuntos dentro de um grupo para montar um catálogo.

Atenção

Todos os projetos têm uma limitação na quantidade de itens que você pode receber na resposta. O valor padrão e máximo é de 50 itens por resposta.

Observação


O use das chamadas API de catálogo de itens está disponível sem autorização, mas para obter um catálogo personalizado, você deve passar o JWT do usuário no cabeçalho da Autorização.
Segurança
XsollaLoginUserJWT
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
localestring

Linguagem de resposta. Código de idioma minúsculo de duas letras de acordo com o padrão ISO 639-1.

Padrão "en"
additional_fields[]Array of strings

A lista de campos adicionais. Esses campos estarão na resposta se você enviá-los em sua solicitação.

Itens Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

Código de país de duas letras maiúsculas de acordo com o padrão ISO 3166-1 alfa-2. Verifique a documentação para obter informações detalhadas sobre os países suportados pela Xsolla e o processo de determinação do país.

Exemplo: country=US
promo_codestring[ 1 .. 128 ] characters

Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.

Exemplo: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Exibe itens de tempo limitado que não estão disponíveis para o usuário. O prazo de validade desses itens não começou ou já expirou.

Padrão 0
Exemplo: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Respostas

A lista de conjuntos 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 objects(Bundles_client_bundle)
Resposta
application/json
{ "has_more": true, "items": [ {} ] }

Obter pacote especificadoClient-side

Pedido

Obtém um conjunto especificado.

Observação

Esse ponto de extremidade, acessível sem autorização, retorna dados genéricos. No entanto, a autorização enriquece a resposta com detalhes específicos do usuário para um resultado personalizado, como limites de usuários disponíveis e promoções.
Segurança
XsollaLoginUserJWT
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
skustringobrigatório

SKU de conjunto.

Exemplo: kg_1
Consulta
promo_codestring[ 1 .. 128 ] characters

Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.

Exemplo: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Exibe itens de tempo limitado que não estão disponíveis para o usuário. O prazo de validade desses itens não começou ou já expirou.

Padrão 0
Exemplo: show_inactive_time_limited_items=1
additional_fields[]Array of strings

A lista de campos adicionais. Esses campos estarão na resposta se você enviá-los em sua solicitação.

Itens Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle/sku/kg_1?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Respostas

O conjunto especificado foi recebido com sucesso.

Corpoapplication/json
attributesArray of objects(Bundles_client-attributes)

Lista de atributos e seus valores correspondentes ao item. Pode ser usado para a filtragem de catálogos.

Padrão []
Exemplo: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
bundle_typestring(Bundles_bundle_type)

Tipo de pacote. Use standard para criar um pacote com itens e especificar os SKUs dos itens incluídos no pacote. Use partner_side_content para criar um pacote vazio e adicionar itens do seu lado usando um webhook. Esse tipo é usado somente para a personalização de catálogos no lado do parceiro.

Padrão "standard"
Enum"standard""partner_side_content"
Exemplo: "standard"
can_be_boughtboolean(Can_be_bought)

Se true, o usuário pode comprar um item.

Exemplo: true
contentArray of objects(Bundles_client_content)

Conteúdo do pacote de conjuntos.

Exemplo: [{"attributes":[],"description":"Big Rocket - short description.","groups":[],"image_url":"https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png","is_free":false,"name":"Big Rocket","price":{"amount":"10.99","amount_without_discount":"10.99","currency":"USD"},"quantity":100,"sku":"com.xsolla.big_rocket_1","type":"virtual_currency"}]
custom_attributesobject(json)(item-custom-attributes-response)

Um objeto JSON que contém atributos e valores de item.

descriptionstring or null(Bundles_client_description)

Descrição do item.

Exemplo: "Big Rocket - description."
groupsArray of objects(items_client_groups_response)

Grupo aos quais o item pertence.

Padrão []
Exemplo: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring or null(Bundles_image_url)

URL da imagem.

Exemplo: "https://image.example.com"
is_freeboolean(value-is_free)

Se true, o item é gratuito.

Padrão false
Exemplo: false
item_idinteger(Bundles_item_id)[ 1 .. 255 ] characters

ID de item exclusivo interno.

Exemplo: 1
limitsobject or null(Catalog_item_limits_with_hourly)

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(Bundles_media_list)

Ativos adicionais do conjunto.

Exemplo: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
namestring(Bundles_client_name)

Nome do item.

Exemplo: "Big Rocket"
orderinteger(Bundles_order)

Prioridade de pedido do conjunto na lista.

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

Período de venda de itens.

priceobject or null(Bundles_price)

Preço do item.

promotionsArray of objects(Catalog_item_promotions)

Promoções aplicadas a itens específicos no carrinho. A matriz é retornada nos seguintes casos:

  • Uma promoção de desconto é configurada para um item específico.

  • Um código promocional com a configuração Desconto em itens selecionados é aplicado.

Se nenhuma promoção no nível do item for aplicada, é retornada uma matriz vazia.

skustring(Bundles_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: "bundle_1"
total_content_priceobject or null(Bundles_total_content_price)

Soma dos preços do conteúdo do conjunto.

typestring(Bundles_type)

Tipo de item.

Exemplo: "bundle"
virtual_pricesArray of objects(Bundles_virtual_prices)

Preços virtuais.

vp_rewardsArray of objects(client-item-value-point-reward)

Recompensa do item de ponto de valor.

Resposta
application/json
{ "attributes": [], "bundle_type": "standard", "can_be_bought": true, "content": [ {} ], "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "pricePoint_44056_1.", "groups": [], "image_url": null, "is_free": false, "item_id": 610316, "limits": { "per_user": {} }, "long_description": null, "media_list": [], "name": "kg_10.00_bundle", "order": 999, "periods": [ {} ], "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [], "sku": "com.xsolla.kg_1", "total_content_price": { "amount": "10.99", "amount_without_discount": "10.99", "currency": "USD" }, "type": "bundle", "virtual_prices": [], "vp_rewards": [ {}, {} ] }
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