# Catalog API

# Visão geral {% #overview %}

- **Versão:** 2.0.0
- **Servidores:** `https://store.xsolla.com/api`
- [Entre em contato por e-mail](mailto:integration@xsolla.com)
- **URL de Contato:** https://xsolla.com/
- **Versão TLS requerida:** 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 {% #api-calls %}

A API divide-se nos seguintes grupos:

* **<nt>Admin</nt>** — chamadas para criar, atualizar, excluir e configurar itens de catálogo e grupos. Autenticada via [autenticação de acesso básica](https://developers.xsolla.com/pt/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth) com seu comerciante ou credenciais do projeto. Não se destina a uso em vitrines.
* **<nt>Catalog</nt>** — 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.

# Autenticação {% #authentication %}

Chamadas de API requerem autenticação em nome de um usuário ou de um projeto. O esquema de autenticação utilizado é especificado na seção **Segurança** na descrição de cada chamada.

## Autenticação usando o JWT do usuário {% #authentication-using-users-jwt %}

A autenticação JWT do usuário é usada quando uma solicitação é enviada de um navegador, aplicativo móvel ou jogo. Por padrão, o esquema `XsollaLoginUserJWT` é aplicado. Para detalhes sobre como criar um token, consulte a [documentação Xsolla Login API](/pt/api/login/authentication-schemes#getting-user-token).

O token é passado no cabeçalho `Authorization` no seguinte formato: `Authorization: Bearer <user_JWT>`, onde `<user_JWT>` é o token do usuário. O token identifica o usuário e fornece acesso a dados personalizados.

Alternativamente, você pode usar um [token para abrir a interface de pagamento](/pt/api/pay-station/token/create-token).

## Autenticação HTTP básica {% #basic-http-authentication %}

A autenticação HTTP básica é usada para interações de servidor para servidor, quando uma chamada de API é enviada diretamente do seu servidor em vez de um navegador ou aplicativo móvel do usuário. A autenticação HTTP básica com uma [chave de API](/pt/api/getting-started/#api_keys_overview) normalmente é utilizada.

<div class="note"><b>Nota</b><br><br>A chave API é confidencial e não deve ser armazenada ou usada em aplicativos de usuários finais.</div>

Com a autenticação básica do lado do servidor, todas as solicitações de API devem incluir o seguinte cabeçalho:

- para `basicAuth` — `Authorization: Basic <your_authorization_basic_key>`, onde `your_authorization_basic_key` é o par `project_id:api_key` codificado em Base64
- para `basicMerchantAuth` — `Authorization: Basic <your_authorization_basic_key>`, onde `your_authorization_basic_key` é o par `merchant_id:api_key` codificado em Base64

Você pode encontrar os valores dos parâmetros em [Conta de Distribuidor](https://publisher.xsolla.com/):

- `merchant_id` é exibido:
  - Em **Configurações da empresa > Empresa**.
  - No URL na barra de endereço do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>`.
- `project_id` é exibido:
  - Ao lado do nome do projeto na Conta de Distribuidor.
  - No URL na barra de endereço do navegador ao trabalhar em um projeto na Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.
- `api_key` é mostrado na Conta de Distribuidor apenas no momento da criação e deve ser armazenado de forma segura do seu lado. Você pode criar uma chave de API nas seguintes seções:
  - [Configurações da empresa > Chaves de API](https://publisher.xsolla.com/0/settings/api_key)
  - [Configurações do projeto > Chave de API](https://publisher.xsolla.com/0/projects/0/edit/api_key)

<div class="notice"><b>Aviso</b><br><br>Se uma chamada de API necessária não incluir o parâmetro de caminho <code>project_id</code>, use uma chave de API que seja válida para todos os projetos da empresa para autorização.</div>

Para mais informações sobre como trabalhar com chaves API, consulte as [referências de API](/pt/api/getting-started/#api_keys_overview).

## Autenticação com suporte a acesso de convidado {% #authentication-with-guest-access-support %}

O esquema de autenticação `AuthForCart` é utilizado para as compras de carrinhos e suporta dois modos:

1. **Autenticação com o JWT do usuário.** O token é passado no cabeçalho `Authorization` no seguinte formato: `Authorization: Bearer <user_JWT>`, onde `<user_JWT>` é o token do usuário. O token identifica o usuário e fornece acesso a dados personalizados.
Alternativamente, você pode usar um [token para abrir a interface de pagamento](/pt/api/pay-station/token/create-token).

2. **Modo simplificado sem o cabeçalho Authorization.** Esse modo é usado apenas para usuários não autorizados e pode ser aplicado apenas para [vendas de chaves de jogo](/pt/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Em vez de um token, a solicitação deve incluir os seguintes cabeçalhos:
   - `x-unauthorized-id` com um ID de solicitação
   - `x-user` com o endereço de e-mail do usuário codificado em Base64

## Links úteis {% #authentication-useful-links %}

- [Chamadas de API por modelo de interação](/pt/api/getting-started/#api_interaction_model)
- [Tipos de ponto de extremidade](/pt/api/getting-started/#api_endpoint_types)
- [Tratamento de erros](/pt/api/getting-started/#api_errors_handling)
- [Chaves de API](/pt/api/getting-started/#api_keys_overview)
- [Webhooks](/pt/webhooks/overview)

# Estrutura da entidade principal {% #core-entity-structure %}

Itens de todos os tipos (itens virtuais, pacotes, moeda virtual e chaves) usam uma estrutura de dados semelhante. Compreender a estrutura básica simplifica o trabalho com a API e ajuda a navegar na documentação com mais facilidade.

<div class="note"><b>Nota</b><br><br>Algumas chamadas podem incluir campos adicionais, mas eles não alteram a estrutura básica.</div>

**Identificação**

- `merchant_id` — ID da empresa na [Conta de Distribuidor](https://publisher.xsolla.com/)
- `project_id` — ID do projeto na Conta de Distribuidor
- `sku` — SKU do item, único dentro do projeto

**Exibição na loja**

- `name` — nome do item
- `description` — descrição do item
- `image_url` — URL da imagem
- `is_enabled` — disponibilidade do item
- `is_show_in_store` — se o item é exibido no catálogo

Para mais informações sobre como gerenciar a disponibilidade de itens no catálogo, consulte a [documentação](/pt/items-catalog/catalog-features/items-availability/).

**Organização**

- `type` — tipo de item, por exemplo, um item virtual (`virtual_item`) ou conjunto (`bundle`)
- `groups` — grupos aos quais o item pertence
- `order` — ordem de exibição no catálogo

**Condições de venda**

- `prices` — preços em moeda real ou virtual
- `limits` — limites de compra
- `periods` — períodos de disponibilidade
- `regions` — restrições regionais

**Exemplo de estrutura da entidade principal:**

```json
{
  "attributes": [],
  "bundle_type": "virtual_currency_package",
  "content": [
    {
      "description": {
        "en": "Main in-game currency"
      },
      "image_url": "https://.../image.png",
      "name": {
        "en": "Crystals",
        "de": "Kristalle"
      },
      "quantity": 500,
      "sku": "com.xsolla.crystal_2",
      "type": "virtual_currency"
    }
  ],
  "description": {
    "en": "Crystals x500"
  },
  "groups": [],
  "image_url": "https://.../image.png",
  "is_enabled": true,
  "is_free": false,
  "is_show_in_store": true,
  "limits": {
    "per_item": null,
    "per_user": null,
    "recurrent_schedule": null
  },
  "long_description": null,
  "media_list": [],
  "name": {
    "en": "Medium crystal pack"
  },
  "order": 1,
  "periods": [
    {
      "date_from": null,
      "date_until": "2020-08-11T20:00:00+03:00"
    }
  ],
  "prices": [
    {
      "amount": 20,
      "country_iso": "US",
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "regions": [],
  "sku": "com.xsolla.crystal_pack_2",
  "type": "bundle",
  "vc_prices": []
}
```

# Fluxo básico de compra {% #basic-purchase-flow %}

A Xsolla API permite implementar a lógica de loja no jogo, incluindo a recuperação do catálogo de itens, gerenciamento do carrinho, criação de pedidos e acompanhamento de seu status. Dependendo do cenário de integração, as chamadas de API são divididas em subseções **Admin** e **Catalog**, que usam diferentes [esquemas de autenticação](/pt/api/catalog/authentication).

O exemplo a seguir mostra um fluxo básico para configurar e operar uma loja, desde a criação de itens até a compra.

## Criar itens e grupos (Admin) {% #create-items-and-groups-admin %}

Crie um catálogo de itens para sua loja, como itens virtuais, pacotes ou moeda virtual.

Exemplos de chamadas de API:
- [Criar item virtual](/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [Criar conjunto](/pt/api/catalog/bundles-admin/admin-create-bundle)
- [Criar moeda virtual](/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)

## Configurar promoções, cadeias e limites (Admin) {% #set-up-promotions-chains-and-limits-admin %}

Configure ferramentas de aquisição de usuários e monetização, como descontos, bônus, recompensas diárias ou cadeias de ofertas.

Exemplos de chamadas de API:
- [Criar promoção de bônus](/pt/api/liveops/promotions-bonuses/create-bonus-promotion)
- [Criar recompensa diária](/pt/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [Criar promoção de oferta única no catálogo](/pt/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)

## Obter informações do item (Cliente) {% #get-item-information-client %}

Configure a exibição do item em sua aplicação.

<div class="notice">
  <b>Aviso</b><br><br>
    Não use chamadas de API da subseção Admin para construir um catálogo de usuários. Essas chamadas de API têm <a href="https://developers.xsolla.com/pt/api/getting-started/#api_rate_limits" target="_blank">limites de taxa</a> e não são destinadas para tráfego de usuários.
</div>

<br>

Exemplos de chamadas de API:
- [Obter lista de itens virtuais](/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [Obter lista de grupos de itens](/pt/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [Obter lista de conjuntos](/pt/api/catalog/bundles-catalog/get-bundle-list)
- [Obter lista de itens vendáveis](/pt/api/catalog/common-catalog/get-sellable-items)

<div class="note">
  <b>Nota</b><br><br>
    Por padrão, as chamadas de API do catálogo retornam itens que estão atualmente disponíveis na loja no momento da solicitação. Para recuperar itens que ainda não estão disponíveis ou que não estão mais disponíveis, inclua o parâmetro <code>"show_inactive_time_limited_items": 1</code> na solicitação do catálogo.
</div>

## Vender itens {% #sell-items %}

Você pode vender itens usando os seguintes métodos:
- Compra rápida — vender um SKU várias vezes.
- Compra de carrinho — o usuário adiciona itens ao carrinho, remove itens e atualiza quantidades dentro de um único pedido.

Se um item for comprado usando moedas virtuais em vez de moedas reais, use a chamada de API [Criar pedido com item especificado comprado por moeda virtual](/pt/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency). A interface de pagamento não é necessária, pois a cobrança é processada quando a chamada de API é executada.

Para a compra de itens gratuitos, use a chamada de API [Criar pedido com item gratuito especificado](/pt/api/catalog/free-item/create-free-order-with-item) ou a chamada de API [Criar pedido com carrinho gratuito](/pt/api/catalog/free-item/create-free-order). A interface de pagamento não é necessária — o pedido é imediatamente definido ao status <code>done</code>.

### Compra rápida {% #fast-purchase %}

Use a chamada de API do lado do cliente para [criar um pedido com um item especificado](/pt/api/catalog/payment-client-side/create-order-with-item). A chamada retorna um token usado para abrir a interface de pagamento.

<div class="note">
  <b>Nota</b><br><br>
    As informações de desconto estão disponíveis para o usuário apenas na interface de pagamento. Códigos promocionais não são suportados.
</div>

### Compra via carrinho {% #cart-purchase %}

A configuração e compra do carrinho podem ser realizadas no lado do cliente ou no lado do servidor.

**Configure e compre um carrinho no cliente**

Implemente a lógica de adicionar e remover itens por conta própria. Antes de chamar a API para configurar um carrinho, você não terá informações sobre quais promoções serão aplicadas à compra. Isso significa que o custo total e os detalhes dos itens bônus adicionados não serão conhecidos.

Implemente a seguinte lógica de carrinho:
1. Após o jogador ter preenchido um carrinho, use a chamada de API [Preencher carrinho com itens](/pt/api/shop-builder/operation/cart-fill/). A chamada retorna as informações atuais sobre os itens selecionados (preços antes e depois dos descontos, itens bônus).
2. Atualize o conteúdo do carrinho com base nas ações do usuário:
   - Para adicionar um item ou alterar a quantidade de um item, use a chamada de API [Atualizar item do carrinho por ID do carrinho](/pt/api/shop-builder/operation/put-item-by-cart-id/).
   - Para remover um item, use a chamada de API [Excluir item do carrinho por ID do carrinho](/pt/api/shop-builder/operation/delete-item-by-cart-id/).

<div class="note">
  <b>Nota</b><br><br>
    Para obter o status atual do carrinho, use a chamada de API Obter carrinho do usuário atual.
</div>

3. Use a chamada de API [Criar pedido com todos os itens do carrinho atual](/pt/api/shop-builder/operation/create-order/). A chamada retorna o ID do pedido e o token de pagamento. O pedido recém-criado é definido para o status <code>new</code> por padrão.

**Configure e compre um carrinho no servidor**

Esta opção de configuração pode levar mais tempo para configurar o carrinho, já que cada alteração no carrinho deve ser acompanhada por chamadas de API.

Implemente a seguinte lógica de carrinho:
1. Após o jogador ter preenchido um carrinho, use a chamada de API [Preencher carrinho com itens](/pt/api/catalog/cart-server-side). A chamada retorna informações atuais sobre os itens selecionados (preços antes e depois dos descontos, itens bônus).
2. Use a chamada de API [Criar pedido com todos os itens do carrinho atual](/pt/api/shop-builder/operation/create-order/). A chamada retorna o ID do pedido e o token de pagamento. O pedido recém-criado é definido ao status <code>new</code> por padrão.

## Abertura da interface de pagamento {% #open-payment-ui %}

Use o token retornado para abrir a interface de pagamento em uma nova janela. Outras maneiras de abrir a interface de pagamento estão descritas na [documentação](/pt/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).

| Ação                           | Endpoint                                                                  |
|:--------------------------------|:--------------------------------------------------------------------------|
| Abrir no ambiente de produção.  | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |
| Abrir no modo sandbox.          | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |

<div class="note">
  <b>Nota</b><br><br>
    Use o modo sandbox durante o desenvolvimento e teste. Compras de teste não fazem cobranças de contas reais. Você pode usar <a href="https://developers.xsolla.com/pt/dev-resources/testing/test-cards/">cartões de teste</a>.

    Após o primeiro pagamento real, uma política de pagamento sandbox estrita entra em vigor. Um pagamento no modo sandbox está disponível apenas para usuários especificados em [Conta de Distribuidor > Configurações da Empresa > Usuários](https://publisher.xsolla.com/0/settings/users).

    Comprar moedas e itens virtuais por moedas reais é possível apenas após assinar um acordo de licença com a Xsolla. Para isso, na [Conta de Distribuidor](https://publisher.xsolla.com/), acesse **Contratos & Impostos > Contratos**, preencha o formulário do acordo e aguarde a confirmação. Pode levar até 3 dias úteis para revisar o contrato.
</div>

Para habilitar ou desabilitar o modo sandbox, altere o valor do parâmetro `sandbox` na solicitação para compra rápida e compra no carrinho. O modo sandbox está desativado por padrão.

Possíveis status do pedido:
- `new` — pedido criado
- `paid` — pagamento recebido
- `done` — item entregue
- `canceled` — pedido cancelado
- `expired` — pedido expirado

Acompanhe o status do pedido usando um dos seguintes métodos:
- [webhooks configurados no seu servidor](/pt/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [short-polling](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [API WebSocket](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)

## Links úteis {% #basic-purchase-flow-useful-links %}

- Autenticação
- [Chamadas de API por modelo de interação](/pt/api/catalog/authentication)
- [Teste de pagamento](/pt/dev-resources/testing/general-info/#general_overview)
- [Configurar rastreamento de status do pedido](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [Webhooks](/pt/webhooks/overview)
- [Limites de taxa](/pt/api/login/rate-limits)
- [Tratamento de erros](/pt/api/getting-started/#api_errors_handling)
- [Chaves de API](/pt/api/getting-started/#api_keys_overview)

# Paginação {% #pagination %}

Chamadas de API que retornam grandes conjuntos de registros (por exemplo, ao criar um catálogo) retornam dados em páginas. A paginação é um mecanismo que limita o número de itens retornados em uma única resposta de API e permite que você recupere páginas subsequentes sequencialmente.

Use os seguintes parâmetros para controlar o número de itens retornados:

- `limit` — número de itens por página
- `offset` — índice do primeiro item na página (a numeração começa em 0)
- `has_more` — indica se outra página está disponível
- `total_items_count` — número total de itens

Exemplo de solicitação:

```
GET /items?limit=20&offset=40
```

Exemplo de resposta:

```json
{
  "items": [...],
  "has_more": true,
  "total_items_count": 135
}
```

Recomenda-se enviar solicitações subsequentes até que a resposta retorne `has_more = false`.

# Formato de data e hora {% #date-and-time-format %}

Datas e valores de tempo são passados no formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).

Os seguintes são suportados:

- Deslocamento UTC
- Valor `null` quando não há restrição de tempo para exibir um item
- [Timestamp Unix](https://www.unixtimestamp.com/) (em segundos) usado em alguns campos

Formato: `YYYY-MM-DDTHH:MM:SS±HH:MM`

Exemplo: `2026-03-16T10:00:00+03:00`

# Localização {% #localization %}

A Xsolla suporta a tradução de campos voltados para o usuário, como nome e descrição do item. Valores traduzidos são passados como um objeto onde o código de idioma é usado como chave. A lista completa de idiomas suportados está disponível na [documentação](/pt/doc/shop-builder/references/supported-languages/).

**Campos suportados**

A localização pode ser especificada para os seguintes parâmetros:

- `name`
- `description`
- `long_description`

**Formato de localidade**

A chave de localidade pode ser especificada em um dos seguintes formatos:

- Código de idioma de duas letras: `en`, `ru`
- Código de idioma de cinco letras: `en-US`, `ru-RU`, `de-DE`

**Exemplos**

Exemplo com um código de idioma de duas letras:

```json
{
  "name": {
    "en": "Starter Pack",
    "ru": "Стартовый набор"
  }
}
```

Exemplo com um código de idioma de cinco letras:

```json
{
  "description": {
    "en-US": "Premium bundle",
    "de-DE": "Premium-Paket"
  }
}
```

# Determinação de país e moeda {% #country-and-currency-determination %}

O país do usuário determina os preços no catálogo, a moeda de pagamento e os métodos de pagamento disponíveis
na interface de pagamento. Dependendo da chamada de API, o país é determinado como a seguir:
<ul>
  <li>Em <a href="https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order-by-cart-id">chamadas API do lado do cliente</a>,
    o país é determinado pelo endereço IP da solicitação.</li>
  <li>Em <a href="https://developers.xsolla.com/pt/api/catalog/payment-server-side/admin-create-payment-token">chamadas API do lado do servidor</a>,
    o país é determinado pelo valor do parâmetro <code>user.country.value</code> ou pelo endereço IP do usuário
    a partir do cabeçalho <code>X-User-Ip</code>. Se ambos forem passados, o parâmetro <code>user.country.value</code> leva precedência.</li>
</ul>

<div class="note">
  <b>Observação</b><br><br>
    Apenas endereços <a href="https://en.wikipedia.org/wiki/IPv4">IPv4</a> são suportados pela determinação do país.
    Passar um endereço <a href="https://en.wikipedia.org/wiki/IPv6">IPv6</a> pode resultar em uma detecção incorreta
    de país e moeda. Se você utiliza uma chamada API do lado do servidor e não consegue fornecer o endereço IPv4 do usuário,
    passe o país no parâmetro <code>user.country.value</code>.
</div>

# Formato de resposta de erro {% #error-response-format %}

Se ocorrer um erro, a API retorna um status HTTP e um corpo de resposta JSON. A lista completa de erros relacionados à loja está disponível na [documentação](/pt/dev-resources/references/errors/store-errors/).

**Exemplo de resposta:**

```json
{
  "errorCode": 1102,
  "errorMessage": "Validation error",
  "statusCode": 422,
  "transactionId": "c9e1a..."
}
```

- `errorCode` — código de erro.
- `errorMessage` — descrição curta do erro.
- `statusCode` — status da resposta HTTP.
- `transactionId` — ID da solicitação. Retornado apenas em alguns casos.
- `errorMessageExtended` — detalhes adicionais do erro, como parâmetros da solicitação. Retornado apenas em alguns casos.

**Exemplo de resposta estendida:**

```json
{
  "errorCode": 7001,
  "errorMessage": "Chain not found",
  "errorMessageExtended": {
    "chain_id": "test_chain_id",
    "project_id": "test_project_id",
    "step_number": 2
  },
  "statusCode": 404
}
```

**Códigos de status HTTP comuns**

- `400` — solicitação inválida
- `401` — erro de autenticação
- `403` — permissões insuficientes
- `404` — recurso não encontrado
- `422` — erro de validação
- `429` — limite de taxa excedido

**Recomendações**

- Lide com o status HTTP e o corpo da resposta juntos.
- Use `errorCode` para processar erros relacionados à lógica da aplicação.
- Use `transactionId` para identificar solicitações mais rapidamente ao analisar erros.

Version: 2.0.0

## Servers

```
https://store.xsolla.com/api
```

## Security

### basicAuth

Chamadas do lado do servidor usam o esquema de autenticação `basicAuth`. Todas as solicitações para a API devem
conter o cabeçalho `Authorization: Basic <your_authorization_basic_key>`,
onde `your_authorization_basic_key` é o par `project_id:api_key`
codificado de acordo com o padrão Base64.

Você pode usar `merchant_id` em vez de `project_id` se precisar. Isso não afeta a funcionalidade.

Vá para a [Conta de Distribuidor](https://publisher.xsolla.com/) para encontrar valores dos parâmetros:

* `merchant_id` é mostrado:
  * Na seção **Configurações da empresa > Empresa**
  * No URL na barra de endereço do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>`.
* `api_key` é mostrado na Conta de Distribuidor apenas uma vez quando é criado e deve ser armazenado do seu lado. Você pode criar uma nova chave na seguinte seção:
  * [Configurações da empresa > Chaves de API](https://publisher.xsolla.com/0/settings/api_key)
  * [Configurações do projeto > Chaves de API](https://publisher.xsolla.com/0/projects/0/edit/api_key)

{% html name="div" attrs={"class": "notice"} %}
**Aviso**

Se uma chamada de API necessária não incluir o parâmetro de caminho `project_id`, use uma chave de API que seja válida em todos os projetos da empresa para autorização.
{% /html %}

* `project_id` é mostrado:
  * Na Conta de Distribuidor ao lado do nome do projeto.
  * No URL na barra de endereço do navegador ao trabalhar no projeto na Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.

Para obter mais informações sobre como trabalhar com chaves API, consulte a [Referência de API](https://developers.xsolla.com/pt/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

### XsollaLoginUserJWT

Chamadas do lado do cliente usam o esquema de autenticação `XsollaLoginUserJWT`. A solicitação deve incluir o JWT do usuário no cabeçalho `Authorization` no seguinte formato: Portador `<user_JWT>`. O token identifica o usuário e fornece acesso a dados personalizados. Para mais detalhes sobre como criar um token, consulte a [documentação Xsolla Login API](/pt/api/login/authentication-schemes#getting-user-token).

Alternativamente, você pode usar um [token para abrir a interface de pagamento](/pt/api/pay-station/token/create-token).

Type: http
Scheme: bearer
Bearer Format: JWT

### AuthForCart

O esquema de autenticação `AuthForCart` é utilizado para as compras de carrinhos e suporta dois modos:

1. Autenticação com o JWT de um usuário. O token é passado no cabeçalho de autorização no seguinte formato: `Authorization: Bearer <user_JWT>`, onde `<user_JWT>` é o token do usuário. O token identifica o usuário e fornece acesso a dados personalizados.

Alternativamente, você pode usar um [token para abrir a interface de pagamento](/pt/api/pay-station/token/create-token).

2. Modo simplificado sem o cabeçalho `Authorization`. Esse modo é usado apenas para usuários não autorizados e pode ser aplicado apenas para [vender chaves de jogo](/pt/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Em vez de um token, a solicitação deve incluir os seguintes cabeçalhos:
* `x-unauthorized-id` com um ID de solicitação
* `x-user` com o endereço de e-mail do usuário codificado em Base64.

Type: http
Scheme: bearer

### basicMerchantAuth

Chamadas do lado do servidor usam o esquema de autenticação `basicMerchantAuth`. Todas as solicitações para a 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 a [Conta de Distribuidor](https://publisher.xsolla.com/) para encontrar valores dos parâmetros:

* `merchant_id` é mostrado:
  * Na seção **Configurações da empresa > Empresa**
  * No URL na barra de endereço do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: `https://publisher.xsolla.com/<merchant_id>`
* `api_key` é mostrado na Conta de Distribuidor apenas uma vez quando é criado e deve ser armazenado do seu lado. Você pode criar uma nova chave na seção [Configurações da empresa > Chaves de API](https://publisher.xsolla.com/0/settings/api_key).

Para obter mais informações sobre como trabalhar com chaves API, consulte a [Referência de API](https://developers.xsolla.com/pt/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

## Download OpenAPI description

[Catalog API](https://xsolla.redocly.app/_bundle/@l10n/pt/api/catalog/index.yaml)

## Admin

### Obter lista de itens virtuais

 - [GET /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list.md): Obtém a lista de itens virtuais dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Criar item virtual

 - [POST /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-item.md): Cria um item virtual.

### Obter lista de itens virtuais por ID de grupo especificado externo

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/external_id/{external_id}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-external-id.md): Obtém a lista de itens virtuais dentro de um grupo para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Obter lista de itens virtuais por ID de grupo especificado

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/id/{group_id}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-id.md): Obtém a lista de itens virtuais dentro de um grupo para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Obter item virtual

 - [GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-item.md): Obtém o item virtual dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Atualizar item virtual

 - [PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-update-virtual-item.md): Atualiza um item virtual.

### Excluir item virtual

 - [DELETE /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-delete-virtual-item.md): Exclui um item virtual.

### Obter lista de moedas virtuais

 - [GET /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-currencies-list.md): Obtém a lista de moedas virtuais dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Criar moeda virtual

 - [POST /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency.md): Cria uma moeda virtual.

### Obter moeda virtual

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency.md): Obtém a moeda virtual dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Atualizar moeda virtual

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency.md): Atualiza uma moeda virtual.

### Excluir moeda virtual

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency.md): Exclui uma moeda virtual.

### Obter lista de pacotes de moedas virtuais (admin)

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-packages-list.md): Obtém a lista de pacotes de moedas virtuais dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Criar pacote de moedas virtuais

 - [POST /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency-package.md): Cria um pacote de moedas virtuais.

### Atualizar pacote de moedas virtuais

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency-package.md): Atualiza um pacote de moedas virtuais.

### Excluir pacote de moedas virtuais

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency-package.md): Exclui um pacote de moedas virtuais.

### Obter pacote de moedas virtuais

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-package.md): Obtém o pacote de moedas virtuais dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

## Catálogo

### Obter lista de itens virtuais

 - [GET /v2/project/{project_id}/items/virtual_items](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items.md): Recebe uma lista de itens virtuais para montar um catálogo.


  Aviso
    Todos os projetos têm a limitação do número de itens que você pode
    obter na resposta. O valor padrão e máximo é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.


 Veja também: A chamada de API Obter lista de todos os itens virtuais para busca ou indexação no lado do cliente.

### Obter item virtual por SKU

 - [GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items-sku.md): Obtém um item virtual por SKU para criar um catálogo.


  Aviso
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem autorização. Use a autorização para recuperar
    dados de usuário personalizados, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, veja o bloco de Segurança
    para esta chamada.

### Obter toda a lista de itens virtuais

 - [GET /v2/project/{project_id}/items/virtual_items/all](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-all-virtual-items.md): Obtém uma lista de todos os itens virtuais para busca no lado do cliente.


  Aviso
    Retorna apenas SKU do item, nome, grupos e descrição.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.


 Veja também: A chamada de API Obter lista de itens virtuais para recuperar dados detalhados do item com paginação.

### Obter lista de moedas virtuais

 - [GET /v2/project/{project_id}/items/virtual_currency](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency.md): Recebe uma lista de moedas virtuais para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter moeda virtual por SKU

 - [GET /v2/project/{project_id}/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency-sku.md): Obtém uma moeda virtual por SKU para criar um catálogo.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de pacotes de moedas virtuais

 - [GET /v2/project/{project_id}/items/virtual_currency/package](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package.md): Recebe uma lista de pacotes de moedas virtuais para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter pacote de moedas virtuais por SKU

 - [GET /v2/project/{project_id}/items/virtual_currency/package/sku/{virtual_currency_package_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-sku.md): Obtém pacotes de moedas virtuais por SKU para criar um catálogo.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de itens por grupo especificado

 - [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items-group.md): Obtém uma lista de itens 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de moedas virtuais por grupos especificados

 - [GET /v2/project/{project_id}/items/virtual_currency/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency-group.md): Recupera uma lista de moedas virtuais do grupo especificado para construir 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de pacotes de moedas virtuais por grupo especificado

 - [GET /v2/project/{project_id}/items/virtual_currency/package/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-group.md): Recupera uma lista de pacotes de moedas virtuais do grupo especificado para construir 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

## Pagamento virtual

### Criar pedido com item especificado comprado por moeda virtual

 - [POST /v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}](https://xsolla.redocly.app/pt/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency.md): Cria compra de item usando moeda virtual. 


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

## Catálogo

### Obter lista de jogos

 - [GET /v2/project/{project_id}/items/game](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-games-list.md): Recebe uma lista de jogos para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de jogos por grupo especificado

 - [GET /v2/project/{project_id}/items/game/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-games-group.md): Recebe uma lista de jogos do grupo especificado para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter jogo para catálogo

 - [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-game-by-sku.md): Obtém um jogo para o catálogo.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter chave de jogo para catálogo

 - [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-game-key-by-sku.md): Obtém uma chave de jogo para o catálogo.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de chaves de jogo por grupo especificado

 - [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-game-keys-group.md): Recebe uma lista de chaves de jogo do grupo especificado para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de DRM

 - [GET /v2/project/{project_id}/items/game/drm](https://xsolla.redocly.app/pt/api/catalog/game-keys-catalog/get-drm-list.md): Obtém a lista de DRMs disponíveis.

## Direito

### Obter lista de jogos de propriedade do usuário

 - [GET /v2/project/{project_id}/entitlement](https://xsolla.redocly.app/pt/api/catalog/game-keys-entitlement/get-user-games.md): Obtenha a lista de jogos de propriedade do usuário. A resposta conterá uma matriz de jogos de propriedade de um usuário específico.


  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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Resgatar código de jogo por cliente

 - [POST /v2/project/{project_id}/entitlement/redeem](https://xsolla.redocly.app/pt/api/catalog/game-keys-entitlement/redeem-game-pin-code.md): Concede o direito por um código de jogo fornecido.


  Aviso
    Você pode resgatar códigos apenas para a plataforma sem DRM.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Direito à concessão (admin)

 - [POST /v2/project/{project_id}/admin/entitlement/grant](https://xsolla.redocly.app/pt/api/catalog/game-keys-entitlement/grant-entitlement-admin.md): Concede direito ao usuário.

AtençãoCódigos de jogos ou jogos para plataformas sem DRM podem ser apenas concedidos.

### Revogar direito (admin)

 - [POST /v2/project/{project_id}/admin/entitlement/revoke](https://xsolla.redocly.app/pt/api/catalog/game-keys-entitlement/revoke-entitlement-admin.md): Revoga o direito do usuário.

AtençãoCódigos de jogos ou jogos para plataformas sem DRM podem ser apenas revogados.

## Admin

### Criar jogo

 - [POST /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-create-game.md): Cria um jogo no projeto.

### Obter lista de jogos (admin)

 - [GET /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-game-list.md): Obtém a lista de jogos dentro de um projeto para administração.
O jogo consiste em chaves de jogo que podem ser compradas por um usuário.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Obter jogo (admin)

 - [GET /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-game-by-sku.md): Recebe um jogo para administração.
O jogo consiste em chaves de jogo que podem ser compradas por um usuário.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Atualizar jogo por SKU

 - [PUT /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-update-game-by-sku.md): Atualiza um jogo no projeto por SKU.

### Excluir jogo por SKU

 - [DELETE /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-delete-game-by-sku.md): Exclui um jogo no projeto por SKU.

### Obter jogo por ID (admin)

 - [GET /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-game-by-id.md): Recebe um jogo para administração.
O jogo consiste em chaves de jogo que podem ser compradas por um usuário.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Atualizar jogo por ID

 - [PUT /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-update-game-by-id.md): Atualiza um jogo no projeto por ID.

### Excluir jogo por ID

 - [DELETE /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-delete-game-by-id.md): Exclui um jogo no projeto por ID.

### Carregar códigos

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-upload-codes-by-sku.md): Carrega códigos por SKU de chave de jogo.

### Carregar códigos por ID

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-upload-codes-by-id.md): Carrega códigos por ID de chave de jogo.

### Obter códigos carregando informações da sessão

 - [GET /v2/project/{project_id}/admin/items/game/key/upload/session/{session_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-codes-session.md): Obtém códigos carregando informações de sessão.

### Obter códigos

 - [GET /v2/project/{project_id}/admin/items/game/key/request/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-codes-by-sku.md): Obtém um certo número de códigos por SKU de chave de jogo.

### Obter códigos por ID

 - [GET /v2/project/{project_id}/admin/items/game/key/request/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-get-codes-by-id.md): Obtém um certo número de códigos por ID de chave de jogo.

### Excluir códigos

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-delete-codes-by-sku.md): Exclui todos os códigos por SKU de chave de jogo.

### Excluir códigos por ID

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/game-keys-admin/admin-delete-codes-by-id.md): Exclui todos os códigos por ID de chave de jogo.

## Admin

### Obter lista de pacotes

 - [GET /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-get-bundle-list.md): Obtém a lista de pacotes dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Criar conjunto

 - [POST /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-create-bundle.md): Cria um conjunto — um conjunto de itens vendidos como uma única unidade. Um conjunto pode conter itens virtuais, pacotes de moedas virtuais, chaves de jogo e outros conjuntos. Para mais informações, consulte a seção Conjuntos.

AvisoTodos os itens na matriz content devem ser criados no seu projeto antecipadamente. O sistema retorna um erro se o SKU especificado não existir.

### Obter lista de conjuntos por ID de grupo especificado

 - [GET /v2/project/{project_id}/admin/items/bundle/group/id/{group_id}](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-id.md): Obtém a lista de conjuntos dentro de um grupo para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Obter lista de conjuntos por ID de grupo externo especificado

 - [GET /v2/project/{project_id}/admin/items/bundle/group/external_id/{external_id}](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-external-id.md): Obtém a lista de conjuntos dentro de um grupo para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Conjunto de atualização

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-update-bundle.md): Atualiza um conjunto. Essa chamada substitui totalmente o conjunto — passe todos os campos necessários no corpo da solicitação, não somente os campos que deseja alterar. Para mais informações, consulte a seção Conjuntos.

AvisoTodos os itens na matriz content devem ser criados no seu projeto antecipadamente. O sistema retorna um erro se o SKU especificado não existir.

### Excluir conjunto

 - [DELETE /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-delete-bundle.md): Exclui um conjunto.

### Obter conjunto

 - [GET /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-get-bundle.md): Obtém o conjunto dentro de um projeto para administração.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja.

### Mostrar conjunto no catálogo

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/show](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-show-bundle.md): Mostra um conjunto em um catálogo.

### Ocultar conjunto no catálogo

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/hide](https://xsolla.redocly.app/pt/api/catalog/bundles-admin/admin-hide-bundle.md): Oculta um conjunto em um catálogo.

## Catálogo

### Obter lista de pacotes

 - [GET /v2/project/{project_id}/items/bundle](https://xsolla.redocly.app/pt/api/catalog/bundles-catalog/get-bundle-list.md): Recebe uma lista de conjuntos para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter pacote especificado

 - [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://xsolla.redocly.app/pt/api/catalog/bundles-catalog/get-bundle.md): Obtém um conjunto especificado.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de pacotes por grupo especificado

 - [GET /v2/project/{project_id}/items/bundle/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/bundles-catalog/get-bundle-list-in-group.md): Recebe uma lista de conjuntos dentro de um grupo para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

## Carrinho (lado do cliente)

Use chamadas desta seção para gerenciar o carrinho no lado do cliente.

### Obter carrinho por ID de carrinho

 - [GET /v2/project/{project_id}/cart/{cart_id}](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/get-cart-by-id.md): Devolve o carrinho do utilizador pelo ID de carrinho.

### Obter o carrinho do usuário atual

 - [GET /v2/project/{project_id}/cart](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/get-user-cart.md): Retorna o carrinho do usuário atual.

### Excluir todos os itens do carrinho pelo ID de carrinho

 - [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/cart-clear-by-id.md): Exclui todos os itens do carrinho.

### Excluir todos os itens do carrinho atual

 - [PUT /v2/project/{project_id}/cart/clear](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/cart-clear.md): Exclui todos os itens do carrinho.

### Preencher o carrinho com itens

 - [PUT /v2/project/{project_id}/cart/fill](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/cart-fill.md): Preenche o carrinho de itens. Se o carrinho já tiver um item com o mesmo SKU, o item existente será substituído pelo valor passado.

### Preencha o carrinho específico com itens

 - [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/cart-fill-by-id.md): Preenche o carrinho específico com itens. Se o carrinho já tiver um item com o mesmo SKU, a posição do item existente será substituída pelo valor passado.

### Atualizar item do carrinho por ID de carrinho

 - [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/put-item-by-cart-id.md): Atualiza um item de carrinho existente ou cria o item no carrinho.

### Excluir item de carrinho por ID de carrinho

 - [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/delete-item-by-cart-id.md): Remove um item do carrinho.

### Atualizar item do carrinho do carrinho atual

 - [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/put-item.md): Atualiza um item de carrinho existente ou cria o item no carrinho.

### Excluir item do carrinho atual

 - [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/cart-client-side/delete-item.md): Remove um item do carrinho.

## Carrinho (lado do servidor)

Use chamadas desta seção para gerenciar o carrinho no lado do servidor.

### Preencher o carrinho com itens

 - [PUT /v2/admin/project/{project_id}/cart/fill](https://xsolla.redocly.app/pt/api/catalog/cart-server-side/admin-cart-fill.md): Preenche o carrinho atual com itens. Se o carrinho já tiver um item com o mesmo SKU, o item existente será substituído pelo valor passado.

### Preencha o ID do carrinho pelo carrinho com itens

 - [PUT /v2/admin/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/pt/api/catalog/cart-server-side/admin-fill-cart-by-id.md): Preenche o carrinho por ID de carrinho com itens. Se o carrinho já tiver um item com o mesmo SKU, o item existente será substituído pelo valor passado.

## Pagamento (lado do cliente)

Use chamadas desta seção para criar um token de pagamento no lado do cliente.

### Criar pedido com todos os itens de um carrinho específico

 - [POST /v2/project/{project_id}/payment/cart/{cart_id}](https://xsolla.redocly.app/pt/api/catalog/payment-client-side/create-order-by-cart-id.md): Usado para a integração cliente-servidor. Cria um pedido com todos os itens do carrinho em particular e gera um token de pagamento para ele. O pedido criado obtém o status do pedido new.

O IP do cliente é usado para determinar o país do usuário, que é usado para aplicar a moeda correspondente e os métodos de pagamento disponíveis para o pedido.

Para abrir a interface de pagamento em uma nova janela, use o seguinte link: https://secure.xsolla.com/paystation4/?token={token}, onde {token} é o token recebido.

Para fins de teste, use este URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Aviso  Como esse método usa o IP para determinar o país do usuário e selecionar uma moeda para o pedido, é importante usar esse método apenas do lado do cliente e não do lado do servidor. Usar esse método do lado do servidor pode causar determinação incorreta da moeda e afetar os métodos de pagamento no Pay Station.

### Criar pedido com todos os itens do carrinho atual

 - [POST /v2/project/{project_id}/payment/cart](https://xsolla.redocly.app/pt/api/catalog/payment-client-side/create-order.md): Usado para a integração cliente-servidor. Cria um pedido com todos os itens do carrinho e gera um token de pagamento para ele. O pedido criado obtém o status do pedido new.

O IP do cliente é usado para determinar o país do usuário, que é usado para aplicar a moeda correspondente e os métodos de pagamento disponíveis para o pedido.

Para abrir a interface de pagamento em uma nova janela, use o seguinte link: https://secure.xsolla.com/paystation4/?token={token}, onde {token} é o token recebido.

Para fins de teste, use este URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Aviso  Como esse método usa o IP para determinar o país do usuário e selecionar uma moeda para o pedido, é importante usar esse método apenas do lado do cliente e não do lado do servidor. Usar esse método do lado do servidor pode causar determinação incorreta da moeda e afetar os métodos de pagamento no Pay Station.

### Criar pedido com item especificado

 - [POST /v2/project/{project_id}/payment/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/payment-client-side/create-order-with-item.md): Usado para a integração cliente-servidor. Cria um pedido com um item especificado e gera um token de pagamento para ele. O pedido criado recebe o status de pedido new.

O IP do cliente é usado para determinar o país do usuário, que é usado para aplicar a moeda correspondente e os métodos de pagamento disponíveis para o pedido.

Para abrir a interface de pagamento em uma nova janela, use o seguinte link: https://secure.xsolla.com/paystation4/?token={token}, onde {token} é o token recebido.

Para fins de teste, use este URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Aviso  Como esse método usa o IP para determinar o país do usuário e selecionar uma moeda para o pedido, é importante usar esse método apenas do lado do cliente e não do lado do servidor. Usar esse método do lado do servidor pode causar determinação incorreta da moeda e afetar os métodos de pagamento no Pay Station.




  Aviso
    Esta chamada de API usa um JWT de usuário para autorização.
    Inclua o token no cabeçalho Authorization no seguinte formato: Bearer &lt;user_JWT&gt;. Para mais informações sobre o JWT de usuário, veja o bloco Segurança para esta chamada.

## Pagamento (lado do servidor)

Use chamadas desta seção para criar um token de pagamento no lado do servidor.

### Criar token de pagamento para compra

 - [POST /v3/project/{project_id}/admin/payment/token](https://xsolla.redocly.app/pt/api/catalog/payment-server-side/admin-create-payment-token.md): Gera um pedido e um token de pagamento para ele. O pedido é gerado com base nos itens passados no corpo da solicitação.

Para abrir a interface de pagamento em uma nova janela, use o seguinte link: https://secure.xsolla.com/paystation4/?token={token}, onde {token} é o token recebido.

Para fins de teste, use este URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Aviso
   
   Para garantir que o método funcione corretamente, passe o parâmetro user.country.value (código de país)
ou o cabeçalho X-User-Ip (o endereço IPv4 do usuário, se o país for desconhecido). Os dados passados serão usados para determinar a moeda de pagamento. Endereços IPv6 não são suportados.  A moeda selecionada é usada para métodos de pagamento na interface de pagamento da Xsolla.

## Pedido

Use chamadas desta seção para obter informações sobre pedidos.

### Obter pedido

 - [GET /v2/project/{project_id}/order/{order_id}](https://xsolla.redocly.app/pt/api/catalog/order/get-order.md): Recupera uma ordem especificada.

### Obter lista de pedidos para o período especificado

 - [POST /v3/project/{project_id}/admin/order/search](https://xsolla.redocly.app/pt/api/catalog/order/admin-order-search.md): Recupera a lista de pedidos, organizada da data de criação mais antiga para a mais recente.

## Itens gratuitos

Use calls from this section to grant <a href="https://developers.xsolla.com/pt/items-catalog/catalog-features/free-items/">free items</a> to users.

### Criar pedido com carrinho grátis

 - [POST /v2/project/{project_id}/free/cart](https://xsolla.redocly.app/pt/api/catalog/free-item/create-free-order.md): Cria um pedido com todos os itens do carrinho gratuito. O pedido criado receberá um status de pedido done.

### Criar pedido com carrinho gratuito específico

 - [POST /v2/project/{project_id}/free/cart/{cart_id}](https://xsolla.redocly.app/pt/api/catalog/free-item/create-free-order-by-cart-id.md): Cria um pedido com todos os itens do carrinho gratuito específico. O pedido criado receberá um status de pedido done.

### Criar pedido com item gratuito especificado

 - [POST /v2/project/{project_id}/free/item/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/free-item/create-free-order-with-item.md): Cria um pedido com um item gratuito especificado. O pedido criado terá o status de pedido done. 


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

## Gestão

### Atualizar todos os limites de compra para o usuário especificado

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/all](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/reset-all-user-items-limit.md): Atualiza todos os limites de compra em todos os itens para um usuário especificado para que ele possa comprar esses itens novamente.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

### Atualizar limite de compra

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/reset-user-item-limit.md): Atualiza o limite de compra de um item para que um usuário possa comprá-lo novamente. Se o parâmetro user for null, essa chamada atualizará esse limite para todos os usuários.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

### Obtenha o número de itens disponíveis para o usuário especificado

 - [GET /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/get-user-item-limit.md): Obtém o número restante de itens disponíveis para o usuário especificado dentro do limite aplicado.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

### Aumente o número de itens disponíveis para o usuário especificado

 - [POST /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/add-user-item-limit.md): Aumenta o número restante de itens disponíveis para o usuário especificado dentro do limite aplicado.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

### Defina o número de itens disponíveis para o usuário especificado

 - [PUT /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/set-user-item-limit.md): Define o número de itens que o usuário especificado pode comprar dentro do limite aplicado depois que ele foi aumentado ou diminuído.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

### Diminuir o número de itens disponíveis para o usuário especificado

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/user-limits-admin/remove-user-item-limit.md): Diminui o número restante de itens disponíveis para o usuário especificado dentro do limite aplicado.

A API User limit permite que você venda um item em uma quantidade limitada. Para configurar os limites de compra, vá para a seção Admin do módulo de tipo de item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

## Admin

### Importar itens via arquivo JSON

 - [POST /v1/projects/{project_id}/import/from_external_file](https://xsolla.redocly.app/pt/api/catalog/connector-admin/import-items-from-external-file.md): Importa itens para a Store a partir de um arquivo JSON por meio da URL especificada. Consulte a documentação para obter mais informações sobre a importação de um arquivo JSON.

### Obter status da importação de itens

 - [GET /v1/admin/projects/{project_id}/connectors/import_items/import/status](https://xsolla.redocly.app/pt/api/catalog/connector-admin/get-items-import-status.md): Recupera informações sobre o andamento da importação de itens para o projeto. Essa chamada de API recupera dados da última importação realizada por meio da Conta de Distribuidor ou da API.

## Reservas

### Obter informações sobre o limite de pré-venda de itens

 - [GET /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/get-pre-order-limit.md): Obtenha o limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção Admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Adicionar quantidade ao limite de pré-venda do item

 - [POST /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/add-pre-order-limit.md): Adicione a quantidade ao limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção Admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Definir o limite de pré-venda da quantidade de item

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/set-pre-order-limit.md): Defina a quantidade do limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção Admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Remover a quantidade de limite de pré-venda do item

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/remove-pre-order-limit.md): Remova a quantidade do limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção Admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Alternar o limite de pré-venda do item

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/toggle](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/toggle-pre-order-limit.md): Ativar/desativar limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/toggle

### Remover toda a quantidade de limite de pré-venda do item

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/pt/api/catalog/common-pre-orders/remove-all-pre-order-limit.md): Remova o limite de pré-venda do item.

A API Pre-Order limit permite que você venda um item em uma quantidade limitada. Para configurar a pré-venda em si, vá para a seção admin do módulo do item desejado:
* Chaves de Jogo
* Itens e Moedas Virtuais
* Conjuntos

Aliases para este ponto de extremidade:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}/all

## Comerciante

### Obter projetos

 - [GET /v2/merchant/{merchant_id}/projects](https://xsolla.redocly.app/pt/api/catalog/common-merchant/get-projects.md): Obtém a lista de projetos do comerciante.


  AvisoEssa chamada de API não contém o trajeto de parâmetro project_id, portanto, você precisa usar a chave API que é válida em todos os projetos da empresa para configurar a autorização.

## Catálogo

Esta API permite obter qualquer tipo de itens vendáveis ou itens específicos.

### Obter lista de itens vendáveis

 - [GET /v2/project/{project_id}/items](https://xsolla.redocly.app/pt/api/catalog/common-catalog/get-sellable-items.md): Recebe uma lista de itens vendáveis para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter item vendável por ID

 - [GET /v2/project/{project_id}/items/id/{item_id}](https://xsolla.redocly.app/pt/api/catalog/common-catalog/get-sellable-item-by-id.md): Obtém um item comercializável por seu ID.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter item vendável por SKU

 - [GET /v2/project/{project_id}/items/sku/{sku}](https://xsolla.redocly.app/pt/api/catalog/common-catalog/get-sellable-item-by-sku.md): Obtém um item vendável por SKU para criar um catálogo.


  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

### Obter lista de itens vendáveis por grupo especificado

 - [GET /v2/project/{project_id}/items/group/{external_id}](https://xsolla.redocly.app/pt/api/catalog/common-catalog/get-sellable-items-group.md): Recebe uma lista de itens vendáveis do grupo especificado para montar 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 é 50 itens
    por resposta. Para obter mais dados página por página, use os campos limit
    e offset.





  Nota
    Esta chamada de API retorna dados genéricos do catálogo de itens quando usada sem
    autorização. Use a autorização para recuperar
    dados personalizados
    do usuário, como limites e promoções associadas ao item.
    Para fazer isso, passe o JWT do usuário no cabeçalho Authorization.
    Para mais informações sobre o JWT do usuário, consulte o bloco Segurança
    para esta chamada.

## Regiões comuns

As restrições regionais de vendas permitem gerenciar a disponibilidade de itens em países ou grupos de países específicos. Por exemplo, você pode vender um jogo apenas em determinados países devido a restrições de licenciamento.

As restrições são configuradas utilizando regiões. Cada região agrupa um ou mais países sob um único identificador `region_id`. Você pode vincular um item a uma ou mais regiões.

A disponibilidade de itens é determinada conforme segue:

* Se nenhuma região for especificada para o item, ele estará disponível para compra em todos os países.
* Se regiões forem especificadas para o item e o país do usuário estiver incluído em uma delas, o item estará disponível para esse usuário.
* Se regiões forem especificadas para o item e o país do usuário não estiver incluído em nenhuma delas, o item não estará disponível para esse usuário.

O país do usuário é informado no parâmetro `country` ao solicitar o catálogo por meio de chamadas de API na subseção **Catalog**. Se o parâmetro não for informado, o país será determinado com base no endereço IP do usuário.

A compatibilidade entre o país do usuário e as regiões do item é verificada em dois momentos: na solicitação do catálogo e na criação do pedido. Itens indisponíveis não são incluídos na resposta do catálogo, e pedidos contendo tais itens não serão criados.

Utilize chamadas de API do grupo **Common regions** para criar, atualizar e excluir regiões.

Fluxo de configuração de restrições regionais de venda:

1. Crie uma região usando a chamada de API [Criar região](https://developers.xsolla.com/pt/api/catalog/common-regions/admin-create-region/), especificando a lista de países. A resposta retorna um `region_id` que é necessário na etapa seguinte.
2. Associe um item virtual à região informando o `region_id` correspondente na matriz `regions` ao [criar](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-item/) ou [atualizar](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-admin/admin-update-virtual-item/) o item.
3. Exiba o catálogo para o usuário utilizando chamadas de API da subseção **Catalog**, como, por exemplo, a chamada [Obter lista de itens virtuais](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items). O país do usuário é determinado pelo parâmetro `country` ou, caso este não seja fornecido, com base no endereço IP do usuário. Itens indisponíveis no país do usuário não são incluídos na resposta do catálogo.
4. Quando o usuário prosseguir para pagar um item ou o carrinho, crie um pedido:
    * Se o item tiver sido adicionado ao carrinho — utilizando a chamada de API [Criar pedido com todos os itens de um carrinho específico](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order) ou [Criar pedido com todos os itens do carrinho atual](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order).
   * Para uma compra rápida de um único item — utilizando a chamada de API [Criar pedido com item específico](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order-with-item) e passando o SKU do item.

  A resposta contém um token para abrir a interface de pagamento.

<div class="note">
  <b>Observação</b><br><br>
A Xsolla verifica se o país do usuário foi incluído na região especificada do item. Se o país não tiver sido incluído na região do item, o pedido não poderá ser criado.
</div>

<br>

5. Implemente a abertura da interface de pagamento para efetuar o pagamento do pedido.

![Regiões comuns](https://cdn.xsolla.net/developers/current/images/api_docs/api-regions.svg)

### Obter lista de regiões

 - [GET /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/pt/api/catalog/common-regions/admin-get-regions.md): Obtém lista de regiões.

Você pode usar uma região para gerenciar suas restrições regionais.

### Criar região

 - [POST /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/pt/api/catalog/common-regions/admin-create-region.md): Cria região.

Você pode usar uma região para gerenciar suas restrições regionais.

### Obter região

 - [GET /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/pt/api/catalog/common-regions/admin-get-region.md): Obtém região específica.

Você pode usar uma região para gerenciar suas restrições regionais.

### Atualizar região

 - [PUT /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/pt/api/catalog/common-regions/admin-update-region.md): Atualiza uma região específica.

Você pode usar uma região para gerenciar suas restrições regionais.

### Excluir região

 - [DELETE /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/pt/api/catalog/common-regions/admin-delete-region.md): Exclui uma região específica.

## Webhooks

### Atualizar versão de webhook

 - [PUT /v2/project/{project_id}/admin/webhook/version](https://xsolla.redocly.app/pt/api/catalog/common-webhooks/update-webhook-version.md): Atualiza a versão do webhook do projeto. Na versão 2, parâmetros adicionais são incluídos na matriz items.

Para mais informações sobre webhooks, veja Configurar rastreamento de status do pedido.

## Admin

### Obter lista de atributos (admin)

 - [GET /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-get-attribute-list.md): Obtém a lista de atributos de um projeto para administração.

### Criar atributo

 - [POST /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-create-attribute.md): Cria um atributo.

### Atualizar atributo

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-update-attribute.md): Atualiza um atributo.

### Obter atributo especificado

 - [GET /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-get-attribute.md): Obtém um atributo especificado.

### Excluir atributo

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/delete-attribute.md): Exclui um atributo.

AvisoSe você excluir um atributo de item, todos os seus dados e conexões com itens serão perdidos.

### Criar valor de atributo

 - [POST /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-create-attribute-value.md): Cria um valor de atributo.

AtençãoTodos os projetos têm a limitação do número de valores de atributo. O valor padrão e máximo é de 20 valores por atributo.

### Excluir todos os valores do atributo

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-delete-all-attribute-value.md): Exclui todos os valores do atributo.

AvisoSe você excluir o valor de um atributo, todas as conexões entre o atributo e os itens serão perdidas. Para alterar o valor do atributo de um item, use a chamada de API Atualizar valor do atributo em vez de excluir o valor e criar um novo.

### Atualizar valor do atributo

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-update-attribute-value.md): Atualiza os valores de um atributo.

### Excluir valor de atributo

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/pt/api/catalog/attribute-admin/admin-delete-attribute-value.md): Exclui um valor de atributo.

AvisoSe você excluir o valor de um atributo, todas as conexões entre o atributo e os itens serão perdidas. Para alterar o valor do atributo de um item, use a chamada de API Atualizar valor do atributo em vez de excluir o valor e criar um novo.

## Admin

### Obter lista de grupo de itens

 - [GET /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-get-item-group-list.md): Recupera a lista completa de grupos de itens dentro de um projeto sem paginação para fins administrativos.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja. Em vez disso, use o ponto de extremidade do lado do cliente Obter lista de grupos de itens.

### Criar grupo de itens

 - [POST /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-create-item-group.md): Cria um grupo de itens dentro de um projeto.
Para recuperar grupos de itens para a construção de um catálogo, use o ponto de extremidade do lado do cliente Obter lista de grupos de itens.

### Obter grupo de itens por ID externo

 - [GET /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-get-item-group.md): Recupera um grupo de itens por seu ID externo para fins administrativos.

ObservaçãoNão use esse ponto de extremidade para criar um catálogo de loja. Em vez disso, use o ponto de extremidade do lado do cliente Obter lista de grupos de itens.

### Atualizar grupo de itens

 - [PUT /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-update-item-group.md): Atualiza um grupo de itens por seu ID externo.

### Excluir grupo de itens

 - [DELETE /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-delete-item-group.md): Exclui um grupo de itens por seu ID externo.

### Obter lista de grupos de itens filtrada por tipo de item

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-get-item-group-list-by-item-type.md): Recupera listas de grupos de itens com filtragens por tipo de item. Apenas itens do tipo especificado são contabilizados no grupo. Isso é semelhante ao ponto de extremidade Obter lista de grupos de itens, com filtragem de itens adicionais por tipo ao contar elas.

### Obter grupo de itens por ID externo filtrado por tipo de item

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups/{external_id}](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-get-item-group-by-item-type.md): Recupera um grupo de itens por ID externo. Apenas itens do tipo especificado são contabilizados para o grupo. Isso é semelhante ao ponto de extremidade Obter grupo de item por ID externo, com filtragem adicional de itens por tipo ao contar eles.

### Reordenar grupos de itens

 - [PUT /v2/project/{project_id}/admin/group/order](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-reorder-item-groups.md): Define a ordem de exibição para grupos de itens dentro de um projeto. Passe uma matriz de grupos com seus novos valores de ordem.

### Reordenar itens dentro de um grupo (por ID externo)

 - [PUT /v2/project/{project_id}/admin/group/{external_id}/order/item](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-reorder-items-in-group.md): Define a ordem de exibição de itens dentro de um grupo identificado por seu ID externo. Passe uma matriz de itens com seus novos valores de ordem.

### Reordenar itens dentro de um grupo (por ID)

 - [PUT /v2/project/{project_id}/admin/group/id/{id}/order/item](https://xsolla.redocly.app/pt/api/catalog/item-groups-admin/admin-reorder-items-in-group-by-id.md): Define a ordem de exibição de itens dentro de um grupo identificado por seu ID numérico interno. Passe uma matriz de itens com seus novos valores de ordem.

## Catálogo

### Obter lista de grupo de itens

 - [GET /v2/project/{project_id}/items/groups](https://xsolla.redocly.app/pt/api/catalog/item-groups-catalog/get-item-groups.md): Recupera uma lista de grupos de itens para montar um catálogo sem paginação.

NoteIn general, the use of catalog of items is available without authorization. Only authorized users can get a personalized catalog.

