Inventário do jogador

Inventário é um conjunto de todos os itens dentro do jogo que o usuário pode comprar, ganhar ou gastar.

O Xsolla Player Inventory permite aos parceiros:

  • Sincronizar todas as compras e recompensas premium do usuário em todas as plataformas.
  • Usar a Xsolla API para conceder e revogar itens e moedas no inventário do usuário.

Como funciona

O Player Inventory gerencia o inventário do usuário pelo ID do usuário. A identificação do usuário é implementada pelo Xsolla Login. Se você configurou seu próprio sistema de identificação, poderá usar o token de acesso Pay Station para métodos de API do cliente.

Para trabalhar com os métodos da Player Inventory API, a autenticação deve ser configurada.

O inventário do usuário pode incluir itens consumíveis e não consumíveis. Itens consumíveis podem ser comprados e adicionados ao inventário várias vezes e removidos dele através do cliente do jogo. Itens não consumíveis só podem ser comprados e adicionados ao estoque uma vez. O cancelamento da compra e a remoção do inventário são realizados através do servidor do jogo.

O esquema acima ilustra o seguinte princípio de operar com o Player Inventory:

    Obtenção do inventário

  1. O usuário é identificado no jogo pela sua conta Xsolla Login ou pelo seu método de identificação.
  2. Seu aplicativo (cliente) chama o método Get user's inventory para obter uma lista de compras e recompensas de usuário e o método Get user's virtual balance para obter o saldo da moeda virtual.
  3. O servidor Xsolla Inventory retorna informações sobre compras, recompensas ou o saldo atualmente pertencente ao usuário para o seu aplicativo cliente.

    Compra no jogo através da Xsolla Store

  1. O usuário é identificado no jogo pela sua conta Xsolla Login ou pelo seu método de identificação.
  2. O usuário efetua uma compra através da Xsolla Store.
  3. O evento de compra de conteúdo é enviado para o servidor Xsolla Inventory e, em seguida, os itens comprados são concedidos automaticamente ao inventário do usuário.
Observação
Este algoritmo é totalmente implementado no lado do Xsolla e não requer operações no lado do servidor do jogo.

    Compra na aplicação através de uma plataforma de distribuição de terceiros (Steam, PlayStation, etc.)

  1. O usuário faz login no jogo usando a conta da plataforma.
  2. O usuário realiza uma compra através do sistema de pagamento da plataforma.
  3. O servidor do jogo chama o método Grant items by purchase to users para conceder a compra no servidor Xsolla Inventory enviando-lhes um ID de usuário exclusivo dentro do jogo.
  4. O servidor Xsolla Inventory adiciona uma compra ao inventário do usuário com o ID especificado.
Observação
No lado do servidor do jogo, é necessário garantir a sincronização entre as contas do usuário em várias plataformas de distribuição.

    Concessão de recompensas ao usuário

  1. O usuário é identificado no jogo usando sua conta Xsolla Login ou seu método de identificação.
  2. Seu servidor chama o método Grant items to users para conceder uma recompensa, enviando um ID de usuário exclusivo dentro do jogo.
  3. O servidor Xsolla Inventory adiciona uma recompensa ao inventário do usuário com o ID especificado.
Observação
No lado do servidor do jogo, é necessário garantir a sincronização entre as contas do usuário em várias plataformas de distribuição.

    Sincronização de inventário

  1. O usuário é identificado no jogo por sua conta Xsolla Login, seu método de identificação ou uma conta de plataforma de terceiros.
  2. O servidor do jogo sincroniza contas de usuário, se necessário.
  3. O cliente do jogo chama o método Get user's inventory para verificar quais compras no jogo estão disponíveis para uso e envia um ID de usuário exclusivo.
  4. O servidor Xsolla Inventory retorna uma lista de itens disponíveis para o ID especificado.

Fluxo de integração

Para ativar o Player Inventory:

  1. Configure a Xsolla In-Game Store.
  2. Configure a autenticação.
  3. Implemente métodos para o gerenciamento do inventário.

Configuração de autenticação

Para fornecer segurança, os métodos de concessão e revogação são chamados pelo servidor do jogo. É necessário implementar a autenticação de acesso básica para os métodos mencionados acima.

Os métodos para obter o inventário do usuário e consumir itens são chamados pelo cliente do jogo via SDK ou API. Aqui estão as opções de autenticação possíveis:

  1. Se você tiver o Xsolla Login conectado, use o Xsolla Login JWT para autenticar solicitações.
  2. Se você configurou seu próprio sistema de identificação, use o token de acesso Pay Station para autenticar solicitações.

Observação
Se você usar seu próprio método de identificação de usuário, passe o user.id para os métodos de concessão e revogação de itens baseados em servidor. Ele deve ser idêntico ao user.id que você usa para o token de acesso Pay Station.

Autenticação via login Xsolla

  1. Configure um projeto de Conta de Distribuidor seguindo as instruções.
  2. Implemente a chamada dos métodos de autorização com a ajuda do JSON Web Token ou do protocolo OAuth 2.0.

Se os dados do usuário forem mantidos no armazenamento de dados Xsolla, implemente a chamada dos seguintes métodos:

Observação
Para chamar a API Xsolla, você pode usar os métodos SDK prontos para engines e plataformas de jogos:

Se os dados do usuário forem mantidos no armazenamento de dados PlayFab, use a receita PlayFab.

Se os dados do usuário forem mantidos do seu lado, use a receita Custom storage.

Autenticação via token de acesso Pay Station

Fluxo de autenticação:

  1. Seu aplicativo (cliente) envia a solicitação de autenticação para o servidor.
  2. Seu servidor envia o ID de comerciante e a chave API para o servidor Xsolla e solicita access_token.
  3. O servidor Xsolla envia access_token para o seu servidor.
  4. Seu servidor envia access_token para seu cliente.

O access_token retornado é usado como um token de autorização para autenticação no Commerce API e na criação de uma interface de armazenamento.

Configuração da autenticação de acesso básica

Os comandos do servidor para conceder e revogar os itens do inventário da Xsolla API usam autenticação de acesso básica. Todas as solicitações à API devem conter o cabeçalho Authorization: Basic <your_authorization_basic_key> onde <your_authorization_basic_key> é o par Merchant ID:API key codificado de acordo com o padrão Base64.

Vá para Conta de Distribuidor para encontrar estes parâmetros:

  • O Merchant ID é exibido:
    • Na seção Company settings > Company.
    • No URL na barra de endereços do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.

  • A API key é mostrada na Conta de Distribuidor apenas uma vez, durante a criação, e deve ser armazenada por você. Você pode criar uma nova chave na seguinte seção:
    • Company settings > API keys
    • Project settings > API keys
Aviso

Para obter mais informações sobre como trabalhar com chaves de API, consulte a Referência de API.

Principais recomendações:

  • Salve a chave de API gerada cuidadosamente. Você pode visualizar a chave de API na Conta de Distribuidor apenas uma vez, durante sua criação.
  • Mantenha sua chave de API em segredo. Ela fornece acesso à sua conta pessoal e aos seus projetos na Conta de Distribuidor.
  • A chave de API deve ser armazenada em seu servidor, e jamais em arquivos binários ou no frontend.

Copy
Full screen
Small screen

http

  • http
  • curl
  • php
  • C#
  • python
  • ruby
  • java
  • js
POST https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward
Headers:
  Authorization: Basic <your_authorization_basic_key>
curl --request POST \
--url 'https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward' \
--header 'authorization: Basic <your_authorization_basic_key>'
<?php

$uri = 'https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward';

$auth = base64_encode('your_merchant_id:your_merchant_api_key');

$headers = [
    'Authorization: Basic ' . $auth,
    'Content-Type: application/json',
    'Accept: application/json',
];

$request = curl_init($uri);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_POSTFIELDS, []);
curl_setopt($request, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($request);
print_r($response);
var client = new RestClient("https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Basic <your_authorization_basic_key>");
IRestResponse response = client.Execute(request);
import http.client

conn = http.client.HTTPSConnection("api.xsolla.com")

headers = { 'authorization': "Basic <your_authorization_basic_key>" }

conn.request("POST", "https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
require 'uri'
require 'net/http'

url = URI("https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic <your_authorization_basic_key>'

response = http.request(request)
puts response.read_body
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward")
  .post()
  .addHeader("authorization", "Basic <your_authorization_basic_key>")
  .build();

Response response = client.newCall(request).execute();
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://store.xsolla.com/api/v2/project/{project_id}/inventory/reward");
xhr.setRequestHeader("authorization", "Basic <your_authorization_basic_key>");

xhr.send(data);

Métodos de gerenciamento de inventário

Os métodos de gerenciamento de inventário incluem os seguintes grupos de métodos:

Concessão de itens aos usuários

Implemente o método de API Grant items to users para adicionar o item especificado ao inventário do usuário ou a moeda virtual ao saldo.

Solicitação:

Copy
Full screen
Small screen
<?php
$uri = 'https://store.xsolla.com/api/v2/project/44056/inventory/reward';
$body = '
    [
        {
          "user": {
            "id": "0125760a-6810-11e9-84c0-42010aa80029"
          },
          "comment": "Quest completed",
          "platform": "xsolla",
          "items": [
            {
              "sku": "boots_1",
              "quantity": 5
            },
            {
              "sku": "crystal_pack_1",
              "quantity": 3
            }
          ]
        },
        {
          "user": {
            "id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14"
          },
          "comment": "Daily reward",
          "platform": "xsolla",
          "items": [
            {
              "sku": "helmet_1",
              "quantity": 2
            },
            {
              "sku": "minigun_1",
              "quantity": 3
            }
          ]
        }
    ]';

$auth = base64_encode('44056:your_merchant_api_key');

$headers = [
    'Authorization: Basic ' . $auth,
    'Content-type: application/json'
];

$request = curl_init($uri);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_POSTFIELDS, $body);
curl_setopt($request, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($request);

Resposta:

Copy
Full screen
Small screen
{
    "count": 2,
    "operations": [
        {
            "user_id": "0125760a-6810-11e9-84c0-42010aa80029",
            "platform": "xsolla",
            "comment": "Quest completed",
            "items": [
                {
                    "sku": "boots_1",
                    "quantity": 5
                },
                {
                    "sku": "crystal_pack_1",
                    "quantity": 3
                }
            ]
        },
        {
            "user_id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14",
            "platform": "xsolla",
            "comment": "Daily reward",
            "items": [
                {
                    "sku": "helmet_1",
                    "quantity": 2
                },
                {
                    "sku": "minigun_1",
                    "quantity": 3
                }
            ]
        }
  ]
}

Revogação de itens de estoque

Implemente o método de API Revoke inventory items para revogar o item especificado do inventário do usuário ou a moeda virtual de seu saldo.

Solicitação:

Copy
Full screen
Small screen
<?php
$uri = 'https://store.xsolla.com/api/v2/project/44056/inventory/revoke';
$body = '
    [
        {
          "user": {
            "id": "0125760a-6810-11e9-84c0-42010aa80029"
          },
          "comment": "Remove from inventory",        
          "items": [
            {
              "sku": "boots_1",
              "quantity": 5
            },
            {
              "sku": "crystal_pack_1",
              "quantity": 3
            }
          ]
        },
        {
          "user": {
            "id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14"
          },
          "comment": "Cheater",
          "items": [
            {
              "sku": "helmet_1",
              "quantity": 2
            },
            {
              "sku": "minigun_1",
              "quantity": 3
            }
          ]
        }
    ]';

$auth = base64_encode('44056:your_merchant_api_key');

$headers = [
    'Authorization: Basic ' . $auth,
    'Content-type: application/json'
];

$request = curl_init($uri);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_POSTFIELDS, $body);
curl_setopt($request, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($request);
print_r($response);

Resposta:

Copy
Full screen
Small screen
{
    "count": 2,
    "operations": [
        {
            "user_id": "0125760a-6810-11e9-84c0-42010aa80029",
            "platform": "xsolla",
            "comment": "Remove from inventory",
            "items": [
                {
                    "sku": "boots_1",
                    "quantity": 5
                },
                {
                    "sku": "crystal_pack_1",
                    "quantity": 3
                }
            ]
        },
        {
            "user_id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14",
            "platform": "xsolla",
            "comment": "Cheater",
            "items": [
                {
                    "sku": "helmet_1",
                    "quantity": 2
                },
                {
                    "sku": "minigun_1",
                    "quantity": 3
                }
            ]
        }
    ]
}

Concesão de itens por compra aos usuários

Implemente o método de API Grant items by purchase to users para adicionar o item ao inventário do usuário quando a compra for feita na plataforma de terceiros.

Solicitação:

Copy
Full screen
Small screen
<?php
$uri = 'https://store.xsolla.com/api/v2/project/44056/inventory/purchase';
$body = '
    [
        {
          "user": {
            "id": "0125760a-6810-11e9-84c0-42010aa80029"
          },
          "comment": "Purchase in App Store",
          "platform": "app_store_ios",
          "purchase": {
            "amount": "3.99",
            "currency": "USD",
            "external_purchase_id": "MS6TGW7023",
            "external_purchase_date": "2020-01-25T05:00:00+05:00"
          },        
          "items": [
            {
              "sku": "boots_1",
              "quantity": 5
            },
            {
              "sku": "crystal_pack_1",
              "quantity": 3
            }
          ]
        },
        {
          "user": {
            "id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14"
          },
          "comment": "Purchase in Google Play",
          "platform": "google_play",
          "purchase": {
            "amount": "1.99",
            "currency": "EUR",
            "external_purchase_id": "GPA.3357-9348-5932-89841",
            "external_purchase_date": "2020-02-14T05:00:00+05:00"
          },
          "items": [
            {
              "sku": "helmet_1",
              "quantity": 2
            },
            {
              "sku": "minigun_1",
              "quantity": 3
            }
          ]
        }
    ]';

$auth = base64_encode('44056:your_merchant_api_key');

$headers = [
    'Authorization: Basic ' . $auth,
    'Content-type: application/json'
];

$request = curl_init($uri);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_POSTFIELDS, $body);
curl_setopt($request, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($request);
print_r($response);

Resposta:

Copy
Full screen
Small screen

{
    "count": 2,
  "operations": [
    {
      "user_id": "0125760a-6810-11e9-84c0-42010aa80029",
      "platform": "app_store_ios",
      "comment": "Purchase in App Store",
      "items": [
        {
          "sku": "boots_1",
          "quantity": 5
        },
        {
          "sku": "crystal_pack_1",
          "quantity": 3
        }
      ],
      "order_id": 4125,
      "external_purchase_id": "MS6TGW7023",
      "external_purchase_date": "2020-01-25T05:00:00+05:00",
      "amount": "3.99",
      "currency": "USD"
    },
    {
      "user_id": "a7d10a4e-3f68-43cc-a6b2-893d2c68fd14",
      "platform": "google_play",
      "comment": "Purchase in Google Play",
      "items": [
        {
            "sku": "helmet_1",
          "quantity": 2
        },
        {
            "sku": "minigun_1",
          "quantity": 3
        }
      ],
      "order_id": 4126,
      "external_purchase_id": "GPA.3357-9348-5932-89841",
      "external_purchase_date": "2020-02-14T05:00:00+05:00",
      "amount": "1.99",
      "currency": "EUR"
    }
  ]
}

Obtenção do inventário do usuário

Observação
Para chamar a API Xsolla, você pode usar os métodos SDK prontos para engines e plataformas de jogos:

Implemente o método de API Get user’s inventory para obter a lista de itens adicionados ao inventário do usuário após a compra.

Solicitação:

Copy
Full screen
Small screen
var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://store.xsolla.com/api/v2/project/44056/user/inventory/items");
xhr.setRequestHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI");

xhr.send(data);

Resposta:

Copy
Full screen
Small screen
{
  "items": [
    {
      "description": "Conquer your foes with vindication using the Basic Blaster! ",
      "image_url": "https://cdn.xsolla.net/img/misc/images/0c59a7698d4f66c1008b27ee752089b7.png",
      "instance_id": null,
      "long_description": "Conquer your foes with vindication using the Basic Blaster! Conquer your foes with vindication using the Basic Blaster! ",
      "name": "Xsolla Basic Blaster 1",
      "quantity": 22,
      "sku": "gun_1",
      "type": "virtual_good"
    },
    {
      "description": "Protect your noggin' with style",
      "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
      "instance_id": null,
      "long_description": "merchant_virtual_items_virtual_item_long_description_159429",
      "name": "Xsolla Helmet",
      "quantity": 18,
      "sku": "helmet_1",
      "type": "virtual_good"
    }
  ]
}

Obtenção do saldo virtual do usuário

Observação
Para chamar a API Xsolla, você pode usar os métodos SDK prontos para engines e plataformas de jogos:

Implemente o método de API Get user’s virtual balance para obter as informações sobre o saldo de moedas virtuais do usuário atual.

Solicitação:

Copy
Full screen
Small screen
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
    if (this.readyState === this.DONE) {
        console.log(this.responseText);
    }
});
xhr.open("GET", "https://store.xsolla.com/api/v2/project/44056/user/virtual_currency_balance");
xhr.setRequestHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI");
xhr.send(data);

Resposta:

Copy
Full screen
Small screen

{
  "items": [
    {
      "amount": 683,
      "description": "Main in-game currency",
      "image_url": "https://cdn3.xsolla.com/img/misc/images/91df536af4616519f639664854c13d75.png",
      "name": "Crystals",
      "sku": "crystal",
      "type": "virtual_currency"
    },
    {
      "amount": 450,
      "description": "Money for in-store purchases",
      "image_url": "https://cdn3.xsolla.com/img/misc/images/fda67a3feedaa706b4e4ae05a9edd6ab.png",
      "name": "Gold",
      "sku": "gold",
      "type": "virtual_currency"
    }
  ]
}

Consumir item

Observação
Para chamar a API Xsolla, você pode usar os métodos SDK prontos para engines e plataformas de jogos:

Implemente o método de API Consume item para consumir o item do inventário do usuário.

Solicitação:

Copy
Full screen
Small screen
let data = JSON.stringify({
  "sku": "gun_1",
  "quantity": 1,
  "instance_id": null
});

let xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://store.xsolla.com/api/v2/project/44056/user/inventory/item/consume");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI");

xhr.send(data);

Lista de erros

Erros de usuário ou de gerenciamento de inventário do usuário:
CódigoDescriçãoAção
0401-5002Dados errados para adicionar o item ao inventário do usuário.O item_id deve ser especificado e instance_id ou quantity deve ter o valor null.
0401-5003ID do usuário não especificado.Verifique a presença do ID do usuário na solicitação.
0401-5004Itens não encontrados no inventário do usuário.Verifique se o item está no inventário. O status do inventário é verificado por meio do método Get user’s inventory.
0401-5006Não há moedas virtuais suficientes para comprar.-
0401-5007Tentativa de consumir um item não consumível.-
0401-5008Usuário não encontrado.-
0401-5009Ao conceder a compra de plataforma de terceiros, a compra não é passada.-
Erros de gerenciamento de itens:
CódigoDescriçãoAção
0401-4001Item não encontrado pelo critério.Confira a lista de itens chamando o método Get user’s inventor.
Erros de gerenciamento Commerce API:
CódigoDescriçãoAção
0401-1101Serviço indisponível (endereço errado, problemas de conexão).Verifique o status do sistema em status.xsolla.com, entre em contato com a equipe Suporte ao Cliente Xsolla, seu Gerente de Sucesso do Cliente ou envie um e-mail para csm@xsolla.com.
0401-1102Dados de entrada de solicitação errados.Verifique a especificação da API.
0401-1016Codificação incorreta de um dos parâmetros de solicitação.Verifique o conteúdo da solicitação.
0401-1019Método não suportado.Confira o pedido. Os métodos suportados são encontrados na resposta.
0401-1020Erro de autorização ao usar o hash de chave do comerciante.Verifique a chave de API.
Este artigo foi útil?
Obrigado!
Podemos melhorar alguma coisa? Mensagem
Que pena ouvir isso
Explique porque este artigo não foi útil para você. Mensagem
Obrigado pelo seu feedback!
Avaliaremos sua mensagem e a usaremos para melhorar sua experiência.
Avalie esta página
Avalie esta página
Podemos melhorar alguma coisa?

Não quero responder

Obrigado pelo seu feedback!
Última atualização: 22 de Janeiro de 2024

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!