Saltar para o conteúdo

Visão Geral

Digital Distribution Hub é uma nova solução Xsolla que visa conectar pagamentos digitais e baseados em dinheiro através da tecnologia de pagamentos push e e-commerce.

Essa referência combina pontos de extremidade de API para dois produtos Xsolla: In-Game Store e Pay Station. Há dois URLs base:

  • https://store.xsolla.com/api para os grupos Common, Catalog, Cart e Order.
  • https://ps.xsolla.com para o grupo Notifications.

Os pontos de extremidade da API no grupo Catalog não exigem autorização.

Para trabalhar com operações nos grupos Cart e Order, você precisa gerar um token via Create user token.

Observação

Esta referência mostra o design de uma API futura e não uma interface totalmente funcional. Atualmente, você pode experimentar apenas os pontos de extremidade dos grupos Catalog e Notifications. Se você quiser compartilhar seus comentários, envie um e-mail para techdoc@xsolla.com.
Transferir a descrição da OpenAPI
Idiomas
Servidores
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/pt/api/digital-distribution-hub/
Operações
Operações

Pedido

Obtém a lista de DRMs disponíveis.

Segurança
AuthForClient
Caminho
project_idintegerobrigatório

ID do Projeto.

Exemplo: 44056
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/items/game/drm \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Respostas

A lista de DRMs foi recebida com êxito.

Corpoapplication/json
drmArray of objects(Catalog_inline_response_200_4_drm)
Exemplo: [{"drm_id":1,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":"https://support.steampowered.com","name":"Steam","redeem_instruction_link":"https://support.steampowered.com","sku":"steam"},{"drm_id":2,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Playstation","redeem_instruction_link":"https://support.us.playstation.com","sku":"playstation"}]
drm[].​drm_idnumber

ID do DRM.

Exemplo: 1
drm[].​imagestring

URL da imagem.

Exemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
drm[].​linkstring

Link de resgate.

Exemplo: "https://support.us.playstation.com"
drm[].​namestring

Nome do DRM.

Exemplo: "Steam"
drm[].​redeem_instruction_linkstring

Link de instrução de resgate.

Exemplo: "https://support.us.playstation.com"
drm[].​skustring

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

Exemplo: "steam"
Resposta
application/json
{ "drm": [ {}, {} ] }

Obter lista de jogos por grupo especificado

Pedido

Obtém uma lista de jogos do grupo especificado para criar um catálogo.

Atenção. Todos os projetos têm uma limitação no número de itens que você pode obter na resposta. O valor padrão e máximo é de 50 itens por resposta. Para obter mais dados página por página, use os campos limit e offset.
Segurança
AuthForClient
Caminho
project_idintegerobrigatório

ID do Projeto.

Exemplo: 44056
external_idstringobrigatório

ID externo do grupo.

Padrão "all"
Consulta
limitinteger

Limite para o número de elementos na página.

Exemplo: limit=50
offsetinteger

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

Exemplo: offset=0
localestring

Idioma 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. Campos disponíveis media_list, order, long_description.

countrystring

País para calcular preços regionais e restrições de catálogos. Código de país maiúsculo de duas letras de acordo com o padrão ISO 3166-1 alpha-2. Se você não especificar o país explicitamente, ele será calculado com base no endereço IP do usuário.

Padrão "US"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/game/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Respostas

A lista de jogos foi recebida com sucesso.

Corpoapplication/json
itemsArray of objects(Catalog_inline_response_200_items)
Exemplo: [{"attributes":{"$ref":"#/components/examples/client-attribute-game/Catalog_value"},"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_1","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":true,"is_free":false,"is_pre_order":true,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_key_01","type":"game_key","virtual_prices":[]},{"drm_name":"Origin","drm_sku":"origin","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_2","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
items[].​attributesArray of objects(Catalog_client-attributes-common)

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

Padrão []
items[].​attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

ID de atributo exclusivo. O external_id pode conter apenas caracteres alfanuméricos latinos minúsculos, traços e sublinhados.

Exemplo: "attribute_1"
items[].​attributes[].​namestring

Nome do atributo.

Exemplo: "Genre"
items[].​attributes[].​valuesArray of objects
items[].​attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

ID de valor exclusivo para um atributo. O external_id pode conter apenas caracteres alfanuméricos latinos minúsculos, traços e sublinhados.

Exemplo: "attribute_value"
items[].​attributes[].​values[].​valuestring

Valor do atributo.

Exemplo: "Strategy"
items[].​descriptionstring

Descrição do item.

Exemplo: "Game description"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

Grupos aos quais o item pertence.

Exemplo: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
Exemplo: "accessory"
items[].​groups[].​namestring
Exemplo: "Accessory"
items[].​image_urlstring

URL da imagem.

Exemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​namestring

Nome do item.

Exemplo: "Game name"
items[].​skustring

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

Exemplo: "game_01"
items[].​typestring

Tipo de item: virtual_good/virtual_currency/bundle/physical_good/unit.

Exemplo: "unit"
items[].​unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
items[].​unit_items[].​drm_namestring

Nome do DRM.

Exemplo: "Steam"
items[].​unit_items[].​drm_skustring

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

Exemplo: "steam"
items[].​unit_items[].​has_keysboolean

Se true, a chave de jogo tem chaves para venda.

Exemplo: false
items[].​unit_items[].​is_freeboolean

Se true, o item é gratuito.

Exemplo: false
items[].​unit_items[].​is_pre_orderboolean

Se true, a chave de jogo é do tipo pré-venda e a data de lançamento não foi passada.

Exemplo: true
items[].​unit_items[].​priceobject(Catalog_inline_response_200_price)

Preços dos itens.

items[].​unit_items[].​price.​amountstring

Preço do item com desconto.

Exemplo: "2.9900"
items[].​unit_items[].​price.​amount_without_discountstring

Preço do item.

Exemplo: "2.9900"
items[].​unit_items[].​price.​currencystring

Moeda de compra padrão. Código de três letras de acordo com o padrão ISO 4217.

Exemplo: "USD"
items[].​unit_items[].​release_datestring

Data de lançamento da chave de jogo no formato ISO 8601.

Exemplo: "2020-08-11T10:00:00+03:00"
items[].​unit_items[].​skustring

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

Exemplo: "game_01"
items[].​unit_items[].​typestring

Tipo de item: game_key.

Exemplo: "game_key"
items[].​unit_items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Preços virtuais.

items[].​unit_items[].​virtual_prices[].​amountinteger

Preço do item com desconto em moedas virtuais.

Exemplo: 100
items[].​unit_items[].​virtual_prices[].​amount_without_discountinteger

Preço do item.

Exemplo: 200
items[].​unit_items[].​virtual_prices[].​descriptionstring

Descrição da moeda virtual.

Exemplo: "Big Rocket - description"
items[].​unit_items[].​virtual_prices[].​image_urlstring

Imagem da moeda virtual.

Exemplo: "http://image.png"
items[].​unit_items[].​virtual_prices[].​is_defaultboolean

Se o preço é padrão para o item ou não.

Exemplo: true
items[].​unit_items[].​virtual_prices[].​namestring

Nome da moeda virtual.

Exemplo: "SHOTGUN FOR TRUE RAIDERS"
items[].​unit_items[].​virtual_prices[].​skustring

SKU do item de moeda virtual.

Exemplo: "vc_test"
items[].​unit_items[].​virtual_prices[].​typestring

Tipo de moeda virtual.

Exemplo: "virtual_currency"
items[].​unit_typestring

Tipo de unidade: game.

Exemplo: "game"
Resposta
application/json
{ "items": [ {}, {} ] }

Obter lista de chaves de jogo por grupo especificado

Pedido

Obtém uma lista de chaves de jogo do grupo especificado para criar um catálogo.

Atenção. Todos os projetos têm uma limitação no número de itens que você pode obter na resposta. O valor padrão e máximo é de 50 itens por resposta. Para obter mais dados página por página, use os campos limit e offset.
Segurança
AuthForClient
Caminho
project_idintegerobrigatório

ID do Projeto.

Exemplo: 44056
external_idstringobrigatório

ID externo do grupo.

Padrão "all"
Consulta
limitinteger

Limite para o número de elementos na página.

Exemplo: limit=50
offsetinteger

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

Exemplo: offset=0
localestring

Idioma 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. Campos disponíveis media_list, order, long_description.

countrystring

País para calcular preços regionais e restrições de catálogos. Código de país maiúsculo de duas letras de acordo com o padrão ISO 3166-1 alpha-2. Se você não especificar o país explicitamente, ele será calculado com base no endereço IP do usuário.

Padrão "US"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/game/key/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Respostas

A lista de chaves do jogo foi recebida com sucesso.

Corpoapplication/json
itemsArray of objects(Catalog_inline_response_200_3_items)
Exemplo: [{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":true,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_1","type":"game_key","virtual_prices":[]},{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":false,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_2","type":"game_key","virtual_prices":[]}]
items[].​attributesArray of objects(Catalog_client-attributes)

Lista de atributos e seus valores correspondentes ao Jogo.

Atenção. Essa parte da resposta estará disponível somente se você enviar o parâmetro de consulta `additional_fields[]=attributes`.
Padrão []
items[].​attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

ID de atributo exclusivo. O external_id pode conter apenas caracteres alfanuméricos latinos minúsculos, traços e sublinhados.

Exemplo: "attribute_1"
items[].​attributes[].​namestring

Nome do atributo.

Exemplo: "Genre"
items[].​attributes[].​valuesArray of objects
items[].​attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

ID de valor exclusivo para um atributo. O external_id pode conter apenas caracteres alfanuméricos latinos minúsculos, traços e sublinhados.

Exemplo: "attribute_value"
items[].​attributes[].​values[].​valuestring

Valor do atributo.

Exemplo: "Strategy"
items[].​descriptionstring

Descrição do item.

Exemplo: "Game description"
items[].​drm_namestring

Nome do DRM.

Exemplo: "Steam"
items[].​drm_skustring

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

Exemplo: "steam"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

Grupos aos quais o item pertence.

Exemplo: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
Exemplo: "accessory"
items[].​groups[].​namestring
Exemplo: "Accessory"
items[].​has_keysboolean

Se true, a chave de jogo tem chaves para venda.

Exemplo: false
items[].​image_urlstring

URL da imagem.

Exemplo: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​is_freeboolean

Se true, o item é gratuito.

Exemplo: false
items[].​is_pre_orderboolean

Se true, a chave de jogo é do tipo pré-venda e a data de lançamento não foi passada.

Exemplo: true
items[].​namestring

Nome do item.

Exemplo: "Game name"
items[].​priceobject(Catalog_inline_response_200_price)

Preços dos itens.

items[].​price.​amountstring

Preço do item com desconto.

Exemplo: "2.9900"
items[].​price.​amount_without_discountstring

Preço do item.

Exemplo: "2.9900"
items[].​price.​currencystring

Moeda de compra padrão. Código de três letras de acordo com o padrão ISO 4217.

Exemplo: "USD"
items[].​release_datestring

Data de lançamento da chave de jogo no formato ISO 8601.

Exemplo: "2020-08-11T10:00:00+03:00"
items[].​skustring

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

Exemplo: "game_01"
items[].​typestring

Tipo de item: game_key.

Exemplo: "game_key"
items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Preços virtuais.

items[].​virtual_prices[].​amountinteger

Preço do item com desconto em moedas virtuais.

Exemplo: 100
items[].​virtual_prices[].​amount_without_discountinteger

Preço do item.

Exemplo: 200
items[].​virtual_prices[].​descriptionstring

Descrição da moeda virtual.

Exemplo: "Big Rocket - description"
items[].​virtual_prices[].​image_urlstring

Imagem da moeda virtual.

Exemplo: "http://image.png"
items[].​virtual_prices[].​is_defaultboolean

Se o preço é padrão para o item ou não.

Exemplo: true
items[].​virtual_prices[].​namestring

Nome da moeda virtual.

Exemplo: "SHOTGUN FOR TRUE RAIDERS"
items[].​virtual_prices[].​skustring

SKU do item de moeda virtual.

Exemplo: "vc_test"
items[].​virtual_prices[].​typestring

Tipo de moeda virtual.

Exemplo: "virtual_currency"
Resposta
application/json
{ "items": [ {}, {} ] }
Operações
Operações
Operações
Operações
Operações