Inventario del jugador

El inventario es un conjunto de todos los artículos del juego que el usuario puede comprar, ganar o gastar.

El Inventario del jugador de Xsolla permite a los socios:

  • Sincronizar todas las compras y recompensas prémium del usuario en todas las plataformas.
  • Utilizar la API de Xsolla para conceder y revocar artículos y monedas en el inventario del usuario.

Cómo funciona

Inventario del jugador gestiona el inventario del usuario mediante el ID de usuario. La identificación del usuario se implementa a través de Xsolla Login. Si configuró su propio sistema de identificación, puede utilizar el token de acceso Pay Station para los métodos API de cliente.

Para trabajar con los métodos de la API del Inventario de Xsolla, debe configurarse la autenticación.

El inventario del usuario puede incluir tanto artículos consumibles como no consumibles. Los artículos consumibles pueden comprarse y añadirse al inventario varias veces y eliminarse de él a través del cliente del juego. Los objetos no consumibles sólo pueden comprarse y añadirse al inventario una vez. La cancelación de la compra y su eliminación del inventario se realizan a través del servidor del juego.

El esquema anterior ilustra el siguiente principio de funcionamiento con el Inventario del jugador:

    Obtener el inventario

  1. El usuario se identifica en el juego mediante su cuenta de Xsolla Login o su método de identificación.
  2. Su aplicación (cliente) llama al método Get user's inventory para obtener una lista de compras y recompensas del usuario y al método Get user's virtual balance para obtener el saldo de moneda virtual.
  3. El servidor del Inventario de Xsolla devuelve a su cliente información sobre compras, recompensas o el saldo que posee actualmente el usuario.

    Compra en el juego mediante Xsolla Store

  1. El usuario se identifica en el juego por su cuenta de Xsolla Login o por su método de identificación.
  2. El usuario realiza una compra a través de Xsolla Store.
  3. El evento de compra de contenido se envía al servidor de Inventario de Xsolla y, luego, los artículos comprados se conceden automáticamente al inventario del usuario.
Nota
Este algoritmo se implementa íntegramente en el lado de Xsolla y no requiere operaciones en el lado del servidor de juego.

    Compra desde la aplicación a través de una plataforma de publicación de terceros (Steam, PlayStation, etc.)

  1. El usuario accede al juego usando la cuenta de la plataforma.
  2. El usuario realiza una compra mediante el sistema de pago de la plataforma.
  3. El servidor del juego llama al método Grant items by purchase to users para conceder la compra en el servidor del Inventario de Xsolla enviándoles un ID único de usuario dentro del juego.
  4. El servidor del Inventario de Xsolla añade una compra al inventario del usuario con el ID especificado.
Nota
En el lado del servidor del juego, es necesario garantizar la sincronización entre las cuentas del usuario en varias plataformas de publicación.

    Conceder recompensas al usuario

  1. El usuario se identifica en el juego utilizando su cuenta de Xsolla Login o su método de identificación.
  2. Su servidor llama al método Grant items to users para conceder una recompensa, enviando un ID único de usuario dentro del juego.
  3. El servidor del Inventario de Xsolla agrega una recompensa al inventario del usuario con el ID especificado.
Nota
En el lado del servidor del juego, es necesario garantizar la sincronización entre las cuentas del usuario en varias plataformas de publicación.

    Sincronización de inventario

  1. El usuario se identifica en el juego mediante su cuenta de Xsolla Login, su método de identificación o una cuenta de una plataforma de terceros.
  2. El servidor del juego sincroniza las cuentas de usuario si es necesario.
  3. El cliente del juego llama al método Get user's inventory para comprobar qué compras del juego están disponibles y envía un ID único de usuario.
  4. El servidor del Inventario de Xsolla devuelve una lista de artículos disponibles para el ID especificado.

Flujo de integración

Para habilitar el Inventario del jugador:

  1. Establezca In-game Store de Xsolla.
  2. Establezca la autenticación.
  3. Implemente lo métodos para la gestión del inventario.

Configuración de la autenticación

Para proporcionar seguridad, los métodos de concesión y revocación son invocados por el servidor del juego. Es necesario implementar autenticación de acceso básica para los métodos mencionados anteriormente.

Los métodos para obtener el inventario del usuario y consumir artículos son invocados por el cliente del juego mediante SDK o API. Estas son las posibles opciones de autenticación:

  1. Si tiene conectado Xsolla Login, utilice Xsolla Login JWT para autenticar las solicitudes.
  2. Si ha establecido su propio sistema de identificación, utilice el token de acceso a Pay Station para autenticar las solicitudes.

Nota
Si utiliza su propio método de identificación de usuario, transmita el user.id a los métodos de concesión y revocación de elementos basados en servidor. Debe ser idéntico al user.id que usa para el token de acceso a Pay Station.

Autenticación mediante Xsolla Login

  1. Cree un proyecto de Cuenta del editor siguiendo las instrucciones.
  2. Implemente la llamada de los métodos de autorización con la ayuda del JSON Web Token o del protocolo OAuth 2.0.

Si los datos del usuario se guardan en el almacenamiento de datos de Xsolla, implemente la llamada de los siguientes métodos:

Nota
Para llamar a la API de Xsolla, puede utilizar los métodos del SDK prediseñados para motores y plataformas de juegos:

Si los datos del usuario se guardan en el almacén de datos de PlayFab, utilice la receta de PlayFab.

Si los datos del usuario se guardan en su lado, utilice la receta Custom storage.

Autenticación mediante token de acceso a Pay Station

Flujo de autenticación:

  1. Su aplicación (cliente) envía la solicitud de autenticación a su servidor.
  2. Su servidor envía el ID de vendedor y la clave de API al servidor de Xsolla y solicita access_token.
  3. El servidor de Xsolla envía access_token a su servidor.
  4. Su servidor envía access_token a su cliente.

El access_token devuelto se utiliza como un token de autorización para la autenticación en la Commerce API y la creación de una interfaz de tienda.

Establecer la autenticación de acceso básica

Los comandos del servidor para conceder y revocar los artículos del inventario de Xsolla API utilizan autenticación de acceso básica. Todas las solicitudes a la API deben contener el encabezado Authorization: Basic <your_authorization_basic_key> en el cual <your_authorization_basic_key> es el par ID de vendedor:clave de API codificado según el estándar Base64.

Vaya a Cuenta del editor para encontrar estos parámetros:

  • Merchant ID se muestra:
    • en la sección Company settings > Company.
    • En la URL de la barra de direcciones del navegador de cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.

  • Clave de API se muestra en la Cuenta del editor solo una vez cuando se crea y debe almacenarse en su servidor. Puede crear una nueva clave en la siguiente sección:
    • Company settings > API keys
    • Project settings > API keys
Aviso

Para obtener más información sobre cómo trabajar con claves API, consulte la Referencia de la API.

Recomendaciones clave:

  • Guarde la clave de API generada en su servidor. Puede ver la clave de API en la Cuenta del editor solo una vez cuando se crea.
  • Mantenga su clave de API en secreto. Proporciona acceso a su cuenta personal y a sus proyectos en Cuenta del editor.
  • La clave de API debe almacenarse en su servidor y nunca en archivos binarios o en el front-end.

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 gestión de inventario

Los métodos de gestión de inventario incluyen los siguientes grupos de métodos:

Conceder artículos a los usuarios

Implemente el método API Grant items to users para añadir el artículo especificado al inventario del usuario o la moneda virtual a su saldo.

Solicitud:

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);

Respuesta:

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
                }
            ]
        }
  ]
}

Revocar artículos del inventario

Implemente el método API Revoke inventory items para revocar el artículo especificado al inventario del usuario o la moneda virtual a su saldo.

Solicitud:

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);

Respuesta:

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
                }
            ]
        }
    ]
}

Conceder artículos mediante compra a los usuarios

Implemente el método API Grant items by purchase to users para añadir el artículo al inventario del usuario cuando se haga la compra en la plataforma externa.

Solicitud:

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);

Respuesta:

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"
    }
  ]
}

Obtener el inventario del usuario

Nota
Para llamar a la API de Xsolla, puede utilizar los métodos del SDK prediseñados para motores y plataformas de juegos:

Implemente el método API Get user’s inventory para obtener la lista de artículos añadidos al inventario del usuario tras la compra.

Solicitud:

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);

Respuesta:

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"
    }
  ]
}

Obtener el saldo virtual del usuario

Nota
Para llamar a la API de Xsolla, puede utilizar los métodos del SDK prediseñados para motores y plataformas de juegos:

Implemente el método API Get user’s virtual balance para obtener la información sobre el saldo actual de moneda virtual del usuario.

Solicitud:

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);

Respuesta:

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"
    }
  ]
}

Consume item (Consumir artículo)

Nota
Para llamar a la API de Xsolla, puede utilizar los métodos del SDK prediseñados para motores y plataformas de juegos:

Implemente el método API Consume item para consumir el artículo del inventario del usuario.

Solicitud:

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 errores

Errores de gestión del inventario del usuario o usuarios:
CódigoDescripciónAcción
0401-5002Datos erróneos para añadir el artículo al inventario del usuario.Debe especificarse el item_id y la instance_id o la cantidad debe tener el valor null.
0401-5003ID de usuario no especificado.Compruebe la presencia del ID de usuario en la solicitud.
0401-5004Artículos no encontrados en el inventario del usuario.Asegúrese de que el artículo está en el inventario. El estado del inventario se comprueba a través del método Get user’s inventory.
0401-5006No hay suficiente moneda virtual para realizar la compra.-
0401-5007Intento de consumir un artículo no consumible.-
0401-5008Usuario no encontrado.-
0401-5009Al conceder la compra de una plataforma externa, no se transmita la compra.-
Errores de gestión de artículos:
CódigoDescripciónAcción
0401-4001Artículo no encontrado según los criterios.Compruebe la lista de artículos llamando al método Get user’s inventory.
errores de gestión de Commerce API:
CódigoDescripciónAcción
0401-1101Servicio no disponible (dirección incorrecta, problemas de conexión).Compruebe el estado del sistema en status.xsolla.com; contacte con el equipo de Atención al cliente de Xsolla, con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com.
0401-1102Datos de entrada de la solicitud erróneos.Compruebe la especificación de API.
0401-1016Codificación errónea de uno de los parámetros de la solicitud.Compruebe el contenido de la solicitud.
0401-1019Método no admitido.Compruebe la solicitud. Los métodos admitidos se encuentran en la respuesta.
0401-1020Error de autorización al utilizar el hash de la clave del vendedor.Compruebe la clave de API.
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Valore esta página
Valore esta página
¿Hay algo en lo que podamos mejorar?

Prefiero no responder

¡Gracias por tu mensaje!
Última actualización: 22 de Enero de 2024

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!