# API LiveOps

# 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 necessária:** 1.2

LiveOps é um conjunto de ferramentas para impulsionar o engajamento contínuo dos jogadores por meio de promoções e ofertas personalizadas.

Use a API para gerenciar os seguintes recursos:

* **Promoções** — crie e gerencie cupons, códigos promocionais, descontos e campanhas de bônus.
* **Personalização** — especifique as condições para exibir o catálogo de itens e aplicar promoções apenas para determinados usuários autorizados.
* **Limites de promoção** — defina um limite de quantas vezes uma promoção pode ser usada por um usuário e configure redefinições programadas para esses limites.
* **Cadeias de recompensas e Pontos de valor** — configure progressões de recompensas vinculadas à acumulação de pontos de valor.
* **Cadeias diárias** — configure recompensas diárias recorrentes para motivar logins regulares.
* **Cadeias de ofertas** — construa ofertas de compra sequenciais com preços por etapa e opções de recompensa gratuita.
* **Venda cruzada** — um método de vendas em que o usuário é oferecido para comprar um item com valor adicional.

## Chamadas de API {% #api-calls %}

A API é dividida nos **seguintes grupos**:

* **<nt>Admin</nt>** — chamadas para criar, atualizar, ativar e excluir campanhas e configurações de cadeias. Autenticado via [autenticação de acesso básico](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 suas credenciais de comerciante ou projeto.
* **<nt>Client</nt>** — chamadas para recuperar promoções disponíveis, obter cadeias ativas, resgatar códigos e reivindicar recompensas em nome de usuários finais autenticados. Autenticado via JWT de usuário.

# 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 de um 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)

# 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"
  }
}
```

# 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

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

## Chamadas de API comuns

Você pode ver métodos API desta subseção e gerenciar tipos diferentes de promoções.

### Obter toda a lista de promoções

 - [GET /v3/project/{project_id}/admin/promotion](https://xsolla.redocly.app/pt/api/liveops/promotions-common/get-promotion-list.md): Obtém a lista de promoções de um projeto.

### Ativar promoção

 - [PUT /v2/project/{project_id}/admin/promotion/{promotion_id}/activate](https://xsolla.redocly.app/pt/api/liveops/promotions-common/activate-promotion.md): Ativa uma promoção.

### Desativar promoção

 - [PUT /v2/project/{project_id}/admin/promotion/{promotion_id}/deactivate](https://xsolla.redocly.app/pt/api/liveops/promotions-common/deactivate-promotion.md): Desativa uma promoção.

### Obtenha promoção resgatável por código

 - [GET /v3/project/{project_id}/admin/promotion/redeemable/code/{code}](https://xsolla.redocly.app/pt/api/liveops/promotions-common/get-redeemable-promotion-by-code.md): Obtém a promoção por um código promocional ou código de cupom.

### Verificar o código promocional

 - [GET /v2/project/{project_id}/promotion/code/{code}/verify](https://xsolla.redocly.app/pt/api/liveops/promotions-common/verify-promotion-code.md): Determina se o código é um código promocional ou de cupom e se o usuário pode aplicá-lo. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

## Cupons

Chame métodos API desta subseção para configurar e gerenciar promoções de cupons.

<div class="note">
  <p><b>Observação</b></p>
  <p>Consulte a nossa <a href="https://developers.xsolla.com/pt/liveops/promotion-tools/coupons/">documentação</a> para obter informações detalhadas sobre cupons.</p>
</div>

### Resgatar código de cupom

 - [POST /v2/project/{project_id}/coupon/redeem](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/redeem-coupon.md): Resgata um código de cupom. O usuário recebe um bônus após o resgate do cupom. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Obter recompensas de cupom

 - [GET /v2/project/{project_id}/coupon/code/{coupon_code}/rewards](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupon-rewards-by-code.md): Obtém recompensas de cupons pelo seu código.
Pode ser usado para permitir que os usuários escolham um entre vários itens como bônus.
O caso usual é escolher um DRM se o cupom contiver um jogo como bônus (type=unit). 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Criar promoção de cupom

 - [POST /v3/project/{project_id}/admin/coupon](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/admin-create-coupon.md): Cria uma promoção de cupom.

### Obter lista de promoções de cupons

 - [GET /v3/project/{project_id}/admin/coupon](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupons.md): Obtém a lista de promoções de cupons de um projeto.

### Promoção de cupom de atualização

 - [PUT /v3/project/{project_id}/admin/coupon/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/update-coupon-promotion.md): Atualiza uma promoção de cupom.

### Ganhe promoção de cupom

 - [GET /v3/project/{project_id}/admin/coupon/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupon.md): Obtém uma promoção de cupom especificada.

### Excluir promoção de cupom

 - [DELETE /v3/project/{project_id}/admin/coupon/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/delete-coupon-promotion.md): Exclui a promoção de cupom. A promoção excluída:
* Desaparece da lista de promoções configuradas em seu projeto.
* Não é mais aplicada ao catálogo de itens. O usuário não pode obter itens bônus com esta promoção.

Após a exclusão, a promoção não pode ser restaurada.
Os códigos de cupom da promoção excluída podem ser adicionados às promoções existentes.

### Ativar promoção de cupom

 - [PUT /v2/project/{project_id}/admin/coupon/{external_id}/activate](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/activate-coupon.md): Ativa uma promoção de cupom.
A promoção de cupom criada está desabilitada por padrão.
Ele não estará pronto para resgate até que você o ative.
Use esse ponto de extremidade para habilitar e ativar uma promoção de cupom.

### Desativar promoção de cupom

 - [PUT /v2/project/{project_id}/admin/coupon/{external_id}/deactivate](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/deactivate-coupon.md): Desativa uma promoção de cupom.
A promoção de cupom criada está desabilitada por padrão.
Ele não estará pronto para resgate até que você o ative.
Use esse ponto de extremidade para desativar e desativar uma promoção de cupom.

### Criar código de cupom

 - [POST /v2/project/{project_id}/admin/coupon/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/create-coupon-code.md): Cria código de cupom.

### Obter códigos de cupom

 - [GET /v2/project/{project_id}/admin/coupon/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupon-codes.md): Obtém códigos de cupom.

A resposta inclui a quantidade total de códigos na promoção (total_count) e os códigos para a página atual (codes). Para recuperar a próxima página, aumente offset pelo valor de limit (ex.:, “offset”: 100, depois “offset”: 200) até você recuperar todos os códigos.

Na maioria dos casos, “limit”: 100 ou “limit”: 1000 é suficiente. Reserve valores maiores tais como“limit”: 10000 para exportações em massa únicas, e evite usar “limit”: 50000 a não ser que seja necessário.

### Gerar códigos de cupom

 - [PUT /v2/project/{project_id}/admin/coupon/{external_id}/code/generate](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/generate-coupon-codes.md): Gera códigos de cupom.

Diretrizes sobre a geração de códigos:

* Não há uma quantidade total máxima de códigos por promoção, mas cada solicitação se limita a 50.000 códigos. Solicitações com uma quantidade maior retorna um erro 422 Entidade Não Processável. Se você precisar de mais de 50.000 códigos, envie múltiplas solicitações.

* Para melhorar a confiabilidade, recomendamos gerar códigos em lotes menores, de até 10.000 por solicitação. Ex.:, para criar 100.000 códigos, envie 10 solicitações com "count": 10000 em vez de 2 solicitações com "count": 50000. Espere por uma resposta bem-sucedida para cada solicitação antes de enviar a próxima.

* Tenha em mente os limites de frequência que são definidos a 15 solicitações por segundo. Ao gerar volumes grandes, envie solicitações sequencialmente para evitar exceder o limite de frequência e obter um erro 429.

* Para recuperar a lista de códigos, chame o método Obter códigos de cupom.

| Parâmetro | Valor |
|---|---|
| Número mínimo de códigos por solicitação. | 1 |
| Número máximo de códigos por solicitação. Use apenas quando precisar do maior lote único quanto possível. | 50,000 |
| Número recomendado de códigos por solicitação. | Até 10.000. Se precisar criar mais, envie múltiplas solicitações sequenciais. |

### Obter limite de cupons de um usuário específico

 - [GET /v2/project/{project_id}/admin/user/limit/coupon/external_id/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupon-user-limit.md): Obtém o número restante de vezes que o usuário especificado pode usar o cupom.

A API User limit permite limitar o número de vezes que os usuários podem usar um cupom. Para configurar o próprio limite de usuário, vá para a seção Admin:
* Cupons

### Obtenha limites de código de cupom exclusivos

 - [GET /v2/project/{project_id}/admin/code/limit/coupon/external_id/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-coupons/get-coupon-code-limit.md): Obtém o número restante de vezes que os códigos podem ser usados. Para filtrar os códigos, use o parâmetro  de pesquisa codes.

Para configurar o limite de código em si, vá para a seção Admin:
* Coupons

## Códigos promocionais

Chame métodos API desta subseção para configurar e gerenciar promoções de código promocional.

<div class="note">
  <p><b>Observação</b></p>
  <p>Consulte a nossa <a href="https://developers.xsolla.com/pt/liveops/promotion-tools/promo-codes/">documentação</a> para obter informações detalhadas sobre códigos promocionais.</p>
</div>

### Apply promo code

 - [POST /v2/project/{project_id}/promocode/redeem](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/redeem-promo-code.md): Applies a code to a cart. When a promo code is applied, the cart total is recalculated to reflect a discount on the entire cart or on selected items. Bonus items may also be added to the cart. The discount is applied at checkout, while bonus items are granted after successful payment. Before payment, the user can remove the promo code, which cancels the discount and removes the bonus items from the cart.

### Remover código promocional do carrinho

 - [PUT /v2/project/{project_id}/promocode/remove](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/remove-cart-promo-code.md): Remove um código promocional de um carrinho.
Depois que o código promocional for removido, o preço total de todos os itens no carrinho será recalculado sem bônus e descontos fornecidos por um código promocional.

### Obter recompensas de código promocional

 - [GET /v2/project/{project_id}/promocode/code/{promocode_code}/rewards](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promo-code-rewards-by-code.md): Obtém recompensas de código promocional pelo seu código.
Pode ser usado para permitir que os usuários escolham um entre vários itens como bônus.
O caso usual é escolher um DRM se o código promocional contiver um jogo como bônus (type=unit). 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Criar promoção de código promocional

 - [POST /v3/project/{project_id}/admin/promocode](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/create-promo-code.md): Cria uma promoção de código promocional.

### Obter lista de promoções de códigos promocionais

 - [GET /v3/project/{project_id}/admin/promocode](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promo-codes.md): Obtém a lista de códigos promocionais de um projeto.

### Atualizar promoção de código promocional

 - [PUT /v3/project/{project_id}/admin/promocode/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/update-promo-code.md): Atualiza uma promoção de código promocional.

### Obter promoção de código promocional

 - [GET /v3/project/{project_id}/admin/promocode/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promo-code.md): Obtém uma promoção de código promocional especificada.

### Excluir promoção de código promocional

 - [DELETE /v3/project/{project_id}/admin/promocode/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/delete-promo-code.md): Exclui a promoção de código promocional. A promoção excluída:
* Desaparece da lista de promoções configuradas em seu projeto.
* Não é mais aplicada ao catálogo de itens e ao carrinho. O usuário não pode obter itens bônus ou comprar itens usando esta promoção.

Após a exclusão, a promoção não pode ser restaurada.
Os códigos promocionais da promoção excluída podem ser adicionados às promoções existentes.

### Ativar promoção de código promocional

 - [PUT /v2/project/{project_id}/admin/promocode/{external_id}/activate](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/activate-promo-code.md): Ativa uma promoção de código promocional.

A promoção de código promocional criada inicia desativada por padrão.
Ele não estará pronto para resgate até que você o ative.
Use esse ponto de extremidade para habilitar e ativar uma promoção de código promocional.

### Desativar promoção de código promocional

 - [PUT /v2/project/{project_id}/admin/promocode/{external_id}/deactivate](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/deactivate-promo-code.md): Desativa uma promoção de código promocional.

A promoção de código promocional criada inicia desativada por padrão.
Ele não estará pronto para resgate até que você o ative.
Use esse ponto de extremidade para desabilitar e desativar uma promoção de código promocional.

### Criar código para promoção de código promocional

 - [POST /v2/project/{project_id}/admin/promocode/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/create-promo-code-code.md): Cria código para uma promoção de código promocional.

### Obter códigos de promoção de código promocional

 - [GET /v2/project/{project_id}/admin/promocode/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promocode-codes.md): Obtém códigos de uma promoção de código promocional.

A resposta inclui a quantidade total de códigos na promoção (total_count) e os códigos para a página atual (codes). Para recuperar a próxima página, aumente offset pelo valor de limit (ex.:, “offset”: 100, depois “offset”: 200) até você recuperar todos os códigos.

Na maioria dos casos, “limit”: 100 ou “limit”: 1000 é suficiente. Reserve valores maiores tais como“limit”: 10000 para exportações em massa únicas, e evite usar “limit”: 50000 a não ser que seja necessário.

### Gerar códigos para promoção de código promocional

 - [PUT /v2/project/{project_id}/admin/promocode/{external_id}/code/generate](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/generate-promo-code-codes.md): Gera códigos para uma promoção de código promocional.

Diretrizes sobre a geração de códigos:

* Não há uma quantidade total máxima de códigos por promoção, mas cada solicitação se limita a 50.000 códigos. Solicitações com uma quantidade maior retorna um erro 422 Entidade Não Processável. Se você precisar de mais de 50.000 códigos, envie múltiplas solicitações.

* Para melhorar a confiabilidade, recomendamos gerar códigos em lotes menores, de até 10.000 por solicitação. Ex.:, para criar 100.000 códigos, envie 10 solicitações com "count": 10000 em vez de 2 solicitações com "count": 50000. Espere por uma resposta bem-sucedida para cada solicitação antes de enviar a próxima.

* Tenha em mente os limites de frequência que são definidos a 15 solicitações por segundo. Ao gerar volumes grandes, envie solicitações sequencialmente para evitar exceder o limite de frequência e obter um erro 429.

* Para recuperar a lista de códigos, chame o método Obter códigos de promoção de código promocional.

| Parâmetro | Valor |
|---|---|
| Número mínimo de códigos por solicitação. | 1 |
| Número máximo de códigos por solicitação. Use apenas quando precisar do maior lote único quanto possível. | 50,000 |
| Número recomendado de códigos por solicitação. | Até 10.000. Se precisar criar mais, envie múltiplas solicitações sequenciais. |

### Obter limite de código promocional para o usuário especificado

 - [GET /v2/project/{project_id}/admin/user/limit/promocode/external_id/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promo-code-user-limit.md): Obtém o número restante de vezes que o usuário especificado pode usar o código promocional.

A API User limit permite limitar o número de vezes que os usuários podem usar um código promocional. Para configurar o limite de usuário em si, vá para a seção Admin:
* Códigos Promocionais

### Obter limite de código promocional para códigos

 - [GET /v2/project/{project_id}/admin/code/limit/promocode/external_id/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-promo-codes/get-promo-code-code-limit.md): Obtém o número restante de vezes que os códigos podem ser usados. Para filtrar os códigos, use o parâmetro  de pesquisa codes.

Para configurar o limite de código em si, vá para a seção Admin:
* Promo Codes

## Ofertas de catálogo exclusivas

Chame métodos API desta subseção para configurar e gerenciar ofertas de catálogo exclusivas.

<div class="note">
  <p><b>Observação</b></p>
  <p>Consulte a nossa <a href="https://developers.xsolla.com/pt/liveops/promotion-tools/unique-offer/">documentação</a> para obter informações detalhadas sobre ofertas exclusivas.</p>
</div>

### Criar promoção de oferta de catálogo exclusiva

 - [POST /v3/project/{project_id}/admin/unique_catalog_offer](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer.md): Cria uma promoção exclusiva de oferta de catálogo.

### Obter lista de promoções exclusivas de ofertas de catálogo

 - [GET /v3/project/{project_id}/admin/unique_catalog_offer](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offers.md): Obtém a lista de promoções de ofertas de catálogo exclusivas de um projeto.

### Atualiza a promoção de oferta de catálogo exclusiva

 - [PUT /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/update-unique-catalog-offer-promotion.md): Atualiza a promoção de oferta de catálogo exclusiva.

### Obter promoção de oferta de catálogo exclusiva

 - [GET /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offer.md): Obtém a promoção de oferta de catálogo exclusiva especificada.

### Excluir promoção de oferta de catálogo exclusiva

 - [DELETE /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/delete-unique-catalog-offer-promotion.md): Exclui a promoção de oferta de catálogo único. A promoção excluída:
* Desaparece da lista de promoções configuradas no seu projeto.
* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode comprar itens com esta promoção.

Após a exclusão, a promoção não poderá ser restaurada.

### Ativar promoção de oferta de catálogo exclusiva

 - [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/activate](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/activate-unique-catalog-offer.md): Habilita uma promoção de oferta de catálogo exclusiva. Por padrão, uma promoção recém-criada é desabilitada.
Seus códigos não podem ser usados até que a promoção seja habilitada.

### Desativar promoção exclusiva de oferta de catálogo

 - [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/deactivate](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/deactivate-unique-catalog-offer.md): Desabilita uma promoção de oferta de catálogo exclusiva. Seus códigos não poderão ser usados depois de desabilitada.
Itens ocultos vinculados à promoção não são exibidos no catálogo.

### Criar código de oferta de catálogo exclusivo

 - [POST /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/create-unique-catalog-offer-code.md): Cria um código de oferta de catálogo exclusivo.

### Obtenha códigos de oferta de catálogo exclusivos

 - [GET /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offer-codes.md): Obtém códigos de oferta de catálogo exclusivos.

### Gerar códigos de oferta de catálogo exclusivos

 - [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code/generate](https://xsolla.redocly.app/pt/api/liveops/promotions-unique-catalog-offers/generate-unique-catalog-offer-codes.md): Gera códigos de oferta de catálogo exclusivos.

## Descontos

Chame métodos API desta subseção para configurar e gerenciar promoções de descontos.

<div class="note">
  <p><b>Observação</b></p>
  <p>Consulte a nossa <a href="https://developers.xsolla.com/pt/liveops/promotion-tools/discounts/">documentação</a> para obter informações detalhadas sobre descontos.</p>
</div>

### Criar promoção de desconto para item

 - [POST /v3/project/{project_id}/admin/promotion/item](https://xsolla.redocly.app/pt/api/liveops/promotions-discounts/create-item-promotion.md): Cria uma promoção de desconto para um item.

As promoções oferecem um desconto (%) nos itens.
O desconto será aplicado a todos os preços dos itens especificados.

### Obter lista de promoções de itens

 - [GET /v3/project/{project_id}/admin/promotion/item](https://xsolla.redocly.app/pt/api/liveops/promotions-discounts/get-item-promotion-list.md): Obtenha a lista de promoções de itens de um projeto.

As promoções oferecem um desconto (%) nos itens.
O desconto será aplicado a todos os preços dos itens especificados.

### Atualizar promoção de item

 - [PUT /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://xsolla.redocly.app/pt/api/liveops/promotions-discounts/update-item-promotion.md): Atualiza a promoção.

ObservaçãoNovos dados substituirão dados antigos. Se você quiser atualizar apenas uma parte de uma promoção, você deve transferir todos os dados necessários na solicitação também.

As promoções oferecem um desconto (%) nos itens.
O desconto será aplicado a todos os preços dos itens especificados.

### Obter promoção de itens

 - [GET /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://xsolla.redocly.app/pt/api/liveops/promotions-discounts/get-item-promotion.md): Obtém a promoção aplicada a itens específicos.

As promoções oferecem um desconto (%) nos itens.
O desconto será aplicado a todos os preços dos itens especificados.

### Excluir promoção de item

 - [DELETE /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://xsolla.redocly.app/pt/api/liveops/promotions-discounts/delete-item-promotion.md): Exclui a promoção de desconto. A promoção excluída:
* Desaparece da lista de promoções configuradas no seu projeto.
* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode comprar itens com esta promoção.

Após a exclusão, a promoção não poderá ser restaurada.

## Bônus

</div>Chame métodos API desta subseção para configurar e gerenciar promoções de bônus.

<div class="note">
  <p><b>Observação</b></p>
  <p>Consulte a nossa <a href="https://developers.xsolla.com/pt/liveops/promotion-tools/bonuses/">documentação</a> para obter informações detalhadas sobre bônus.</p>
</div>

### Criar promoção de bônus

 - [POST /v3/project/{project_id}/admin/promotion/bonus](https://xsolla.redocly.app/pt/api/liveops/promotions-bonuses/create-bonus-promotion.md): Cria a promoção de bônus.

A promoção adiciona itens bônus gratuitos à compra feita por um usuário.
A promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.

### Obter lista de promoções de bônus

 - [GET /v3/project/{project_id}/admin/promotion/bonus](https://xsolla.redocly.app/pt/api/liveops/promotions-bonuses/get-bonus-promotion-list.md): Obtém a lista de promoções bônus de um projeto.

A promoção adiciona itens bônus gratuitos à compra feita por um usuário.
A promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.

### Atualizar promoção bônus

 - [PUT /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://xsolla.redocly.app/pt/api/liveops/promotions-bonuses/update-bonus-promotion.md): Atualiza a promoção.

ObservaçãoNovos dados substituirão dados antigos. Se você quiser atualizar apenas uma parte de uma promoção, você deve transferir todos os dados necessários na solicitação também.

A promoção adiciona itens bônus gratuitos à compra feita por um usuário.
A promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.

### Obter promoção bônus

 - [GET /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://xsolla.redocly.app/pt/api/liveops/promotions-bonuses/get-bonus-promotion.md): Recebe a promoção bônus.

A promoção adiciona itens bônus gratuitos à compra feita por um usuário.
A promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.

### Excluir promoção bônus

 - [DELETE /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://xsolla.redocly.app/pt/api/liveops/promotions-bonuses/delete-bonus-promotion.md): Exclui a promoção bônus. A promoção excluída:
* Desaparece da lista de promoções configuradas no seu projeto.
* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode obter itens bônus com esta promoção.

Após a exclusão, a promoção não poderá ser restaurada.

## Catálogo personalizado

A personalização permite que você especifique as condições para exibir o catálogo de itens e aplicar promoções apenas para usuários autorizados específicos. As condições são definidas com base nos atributos dos usuários e permite que você ofereça itens e promoções que sejam relevantes a usuários específicos.

Os seguintes tipos de personalização estão disponíveis:

* [Personalização do lado da Xsolla](/pt/liveops/promotion-tools/personalization/#guides_personalization_on_xsolla_side). Regras de personalização e lógica são configuradas e armazenadas no lado da Xsolla.
* [Personalização do lado do parceiro](/pt/liveops/promotion-tools/personalization/#guides_personalization_on_partner_side). Você configura as regras e lógica de personalização do seu lado e envia uma carga de catálogo final para um usuário específico à Xsolla.

<div class="note">
  Observação</b><br><br>
  Você só pode usar um tipo de personalização. Para alterá-lo, siga as
  <a href="/pt/liveops/promotion-tools/personalization/#guides_personalization_change">instruções</a>.
</div>

Para configurar a personalização no lado da Xsolla usando a Xsolla API:

1. Crie itens usando as chamadas API da subseção **Admin** dos grupos [Itens e moedas virtuais](/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list/), [Conjuntos](/pt/api/catalog/bundles-admin/admin-create-bundle) ou [Chaves de jogo](/pt/api/catalog/game-keys-admin).
2. [Configure os atributos dos usuários usando a Xsolla Login API](/pt/liveops/promotion-tools/personalization/#web_shop_guide_personalization_setting_attributes) e mantenha-os sincronizados atualizando os dados na Xsolla sempre que ocorrerem atualizações no seu jogo.
3. Configure a personalização para itens ou promoções:
    * Para personalizar o catálogo de itens, define as regras de exibição de catálogos usando a chamada de API [Criar regra de filtro de catálogo](/pt/api/liveops/personalized-catalog/create-filter-rule):
        * Na matriz [attribute_conditions](/pt/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=attribute_conditions), especifique as condições que determinam a disponibilidade do item com base nos atributos do usuário.
        * Na matriz [itens](/pt/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=items), forneça a lista de itens que devem permanecer visíveis ao usuário se os atributos deles corresponder às condições especificadas.
    * Para configurar promoções personalizadas, use as [chamadas API de criação e atualização para o tipo de promoção desejado](/pt/api/liveops/promotions-discounts/create-item-promotion). Na matriz [attribute_conditions](/pt/api/liveops/promotions-discounts/create-item-promotion), especifique as condições que determinam a disponibilidade da promoção com base nos atributos de usuários.

4. Passe o [JWT do usuário](/pt/api/login/getting-user-token?#getting-user-token) com os atributos do usuário para as [chamadas API de recuperação de catálogo](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items) para receber um catálogo personalizado.

**Sequência para configurar e aplicar personalizações do lado da Xsolla para o catálogo de itens:**

![Personalização para o catálogo de itens](https://cdn.xsolla.net/developers/current/images/api_docs/personalization-catalog.png)

**Sequência para configurar e aplicar personalizações do lado da Xsolla para promoções:**

![Personalização para promoções](https://cdn.xsolla.net/developers/current/images/api_docs/personalization-liveops.png)

<div class="note">
<b>Observação</b><br><br>
Informações detalhadas são fornecidas:
<ul>
  <li>no <a href="/pt/liveops/promotion-tools/personalization/">guia de configuração de personalização do laod da Xsolal e do lado do parceiro</a></li>
  <li>no tutorial passo-a-passo sobre a <a href="/pt/doc/shop-builder/tutorials/personalization-tutorial/">personalização de catálogos de itens no lado da Xsolla</a></li>
</ul>
</div>

### Obter lista de regras de filtro de catálogo

 - [GET /v2/project/{project_id}/admin/user/attribute/rule](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/get-filter-rules.md): Obtém todas as regras aplicadas aos atributos do usuário.

### Criar regra de filtro de catálogo

 - [POST /v2/project/{project_id}/admin/user/attribute/rule](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/create-filter-rule.md): Criar regra para atributos de usuário.

### Obter todas as regras de catálogo para pesquisa no lado do cliente

 - [GET /v2/project/{project_id}/admin/user/attribute/rule/all](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/get-all-filter-rules.md): Obtém uma lista de todas as regras de catálogo para pesquisa no lado do cliente.

AtençãoRetorna apenas id da regra, nome e is_enabled

### Obter regra de filtro de catálogo

 - [GET /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/get-filter-rule-by-id.md): Obtenha regras específicas aplicáveis aos atributos do usuário.

### Atualizar regra de filtro de catálogo

 - [PUT /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/update-filter-rule-by-id.md): Atualiza uma regra específica que se aplica aos atributos do usuário. O valor padrão será usado para uma propriedade não especificada (se a propriedade não for necessária).

### Regra de filtro do catálogo de atualizações

 - [PATCH /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/patch-filter-rule-by-id.md): Atualiza uma regra específica que se aplica aos atributos do usuário. O valor atual será usado para uma propriedade não especificada.

### Regra de filtro de exclusão de catálogo

 - [DELETE /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://xsolla.redocly.app/pt/api/liveops/personalized-catalog/delete-filter-rule-by-id.md): Exclui uma regra específica.

## Gestão

### Atualizar todos os limites de promoção para o usuário especificado

 - [DELETE /v2/project/{project_id}/admin/user/limit/promotion/all](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/reset-all-user-promotions-limit.md): Atualiza todos os limites em todas as promoções para o usuário especificado para que ele possa usar essas promoções novamente.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

### Atualizar limite de promoção para usuários

 - [DELETE /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}/all](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/reset-user-promotion-limit.md): Atualiza o limite da promoção para que um usuário possa usar essa promoção novamente. Se o parâmetro user for null, essa chamada atualizará esse limite para todos os usuários.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

### Obter limite de promoção para o usuário especificado

 - [GET /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/get-user-promotion-limit.md): Obtém o número restante de vezes que o usuário especificado pode usar a promoção dentro do limite aplicado.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

### Aumentar o limite de promoção para o usuário especificado

 - [POST /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/add-user-promotion-limit.md): Aumenta o número restante de vezes que o usuário especificado pode usar a promoção dentro do limite aplicado.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

### Definir limite de promoção para o usuário especificado

 - [PUT /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/set-user-promotion-limit.md): Define o número de vezes que o usuário especificado pode usar uma promoção dentro do limite aplicado depois que ela foi aumentada ou diminuída.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

### Diminuir o limite de promoção para o usuário especificado

 - [DELETE /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://xsolla.redocly.app/pt/api/liveops/user-limits-admin/remove-user-promotion-limit.md): Diminui o número restante de vezes que o usuário especificado pode usar uma promoção dentro do limite aplicado.

A API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:
* Promoções de Desconto
* Promoções de Bônus

## Admin

### Obter lista de pontos de valor

 - [GET /v2/project/{project_id}/admin/items/value_points](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-get-value-points-list.md): Obtém a lista de pontos de valor dentro de um projeto para administração.

### Criar ponto de valor

 - [POST /v2/project/{project_id}/admin/items/value_points](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-create-value-points.md): Cria um ponto de valor.

### Obter ponto de valor

 - [GET /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-get-value-point.md): Obtém um ponto de valor pelo SKU dentro de um projeto para administração.

### Atualizar ponto de valor

 - [PUT /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-update-value-point.md): Atualiza um ponto de valor identificado por um SKU.

### Excluir pontos de valor

 - [DELETE /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-delete-value-point.md): Exclui um ponto de valor identificado por um SKU.

### Obter lista de itens com pontos de valor

 - [GET /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-get-items-value-point-reward.md): Obtém a lista de todos os itens com pontos de valor dentro de um projeto para administração.

### Definir pontos de valor para itens

 - [PUT /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-set-items-value-point-reward.md): Atribui pontos de valor a um ou vários itens por um SKU. Os usuários recebem pontos de valor depois de comprar esses itens.

Observe que essa solicitação PUT substitui todos os pontos de valor definidos anteriormente para itens no projeto.

Para evitar a exclusão não intencional de pontos de valor, inclua todos os itens e seus respectivos pontos de valor em cada solicitação PUT.

Se desejar atualizar apenas os pontos de valor de um item específico, preservando os pontos de valor de outros itens, recupere o conjunto atual de pontos de valor usando uma solicitação GET, modifique os pontos de valor do item desejado e envie o conjunto modificado de pontos de valor de volta com os pontos de valor atualizados para o item específico.

### Atualizar parcialmente os pontos de valor dos itens

 - [PATCH /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-patch-items-value-point-reward.md): Atualiza parcialmente o número de pontos de valor para um ou mais itens pelo SKU do item. Os usuários recebem esses pontos de valor após a compra dos itens especificados.

Princípios de atualização de pontos de valor:
  * Se um item ainda não tiver pontos de valor, enviar um valor diferente de zero no campo amount os criará.
  * Se um item já tiver pontos de valor, o envio de um valor diferente de zero no campo amount os atualizará.
  * Se amount for definido como 0, os pontos de valor existentes para esse item serão excluídos.

Ao contrário do método PUT (Definir pontos de valor para itens), este método PATCH não sobrescreve todos os pontos de valor existentes dos itens no projeto, apenas atualiza os itens especificados.

Uma única solicitação pode atualizar até 100 itens. SKUs de itens duplicados não podem ser incluídos na mesma solicitação.

### Excluir pontos de valor de itens

 - [DELETE /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-delete-items-value-point-reward.md): Remove recompensas de pontos de valor de TODOS os itens.

### Obter lista de cadeias de recompensas

 - [GET /v3/project/{project_id}/admin/reward_chain](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-get-reward-chains.md): Obtém lista de cadeias de recompensa.

AtençãoTodos 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 é de 10 itens por resposta. Para obter mais dados página por página, use os campos limit e offset.

### Criar cadeia de recompensas

 - [POST /v3/project/{project_id}/admin/reward_chain](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-create-reward-chain.md): Cria cadeias de recompensas.

### Obtenha a cadeia de recompensas

 - [GET /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-get-reward-chain.md): Obtém uma cadeia de recompensa específica.

### Atualizar cadeia de recompensas

 - [PUT /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-update-reward-chain.md): Atualiza a cadeia de recompensas específica.

### Excluir cadeia de recompensas

 - [DELETE /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-delete-reward-chain.md): Exclui uma cadeia de recompensas específica.

### Alternar cadeia de recompensas

 - [PUT /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/toggle](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-toggle-reward-chain.md): Ativar/desativar a cadeia de recompensas.

### Redefinir cadeia de recompensas

 - [POST /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/reset](https://xsolla.redocly.app/pt/api/liveops/reward-chain-value-points-admin/admin-reset-reward-chain.md): Redefine o saldo de pontos de valor e progresso de todos os usuários na cadeia de recompensas. O saldo está vinculado ao tipo de pontos específico. Se esses pontos de valor são usados em outras cadeias, o saldo será redefinido em todas as cadeias que usam esses pontos de valor. Após a redefinição, você poderá atualizar o período de validade da cadeia de recompensas, e os usuários poderão progredir por ela novamente. O saldo do clã é calculado através da soma do saldo de todos os seus membros. Portanto, após a redefinição, o saldo do clã também será redefinido. Essa solicitação é irreversível e se aplica a todos os usuários do projeto.

Aviso
  
  Você não deve redefinir a cadeia de recompensas durante seu período de validade. Nesse caso, os usuários podem perder pontos de valor ganhos antes de reivindicar sua recompensa.

## Cliente

### Obtenha as cadeias de recompensa do usuário atual

 - [GET /v2/project/{project_id}/user/reward_chain](https://xsolla.redocly.app/pt/api/liveops/reward-chain-client/get-reward-chains-list.md): Ponto de extremidade do cliente. Obtém as cadeias de recompensa do usuário atual.


  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 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, consulte o bloco Segurança para esta chamada.

### Obter o saldo de pontos de valor do usuário atual

 - [GET /v2/project/{project_id}/user/reward_chain/{reward_chain_id}/balance](https://xsolla.redocly.app/pt/api/liveops/reward-chain-client/get-user-reward-chain-balance.md): Ponto de extremidade do cliente. Obtém o saldo atual de pontos de valor do usuário. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Resgatar recompensa por etapa

 - [POST /v2/project/{project_id}/user/reward_chain/{reward_chain_id}/step/{step_id}/claim](https://xsolla.redocly.app/pt/api/liveops/reward-chain-client/claim-user-reward-chain-step-reward.md): Ponto de extremidade do cliente. Resgata a recompensa de etapa do usuário atual de uma cadeia de recompensas. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

## Cliente de clãs

### Obter os 10 maiores contribuintes da cadeia de recompensas no clã

 - [GET /v2/project/{project_id}/user/clan/contributors/{reward_chain_id}/top](https://xsolla.redocly.app/pt/api/liveops/clan-reward-chain-client/get-user-clan-top-contributors.md): Recupera a lista dos 10 principais contribuintes para a cadeia de recompensas específica sob o clã do usuário atual. Se um usuário não pertence a um clã, a chamada retorna uma matriz vazia. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Atualizar o clã do usuário atual

 - [PUT /v2/project/{project_id}/user/clan/update](https://xsolla.redocly.app/pt/api/liveops/clan-reward-chain-client/user-clan-update.md): Atualiza o clã do usuário atual por meio de atributos de usuário. Resgata todas as recompensas de cadeias de recompensas que não foram resgatadas para um clã anterior e as retorna na resposta. Se o usuário estava em um clã e agora não está — sua inclusão no clã será revogada. Se o usuário mudou de clã — o clã será alterado. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

## Admin

### Obter lista de recompensas diárias

 - [GET /v2/project/{project_id}/admin/daily_chain](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-get-daily-chains.md): Obtém uma lista de recompensas diárias para administração.

AvisoUm método retorna uma lista paginada de itens. O valor máximo e padrão é 50 itens por resposta. Para obter mais itens da lista, use os parâmetros limit e offset e busque mais páginas. Por exemplo, ao chamar um método com limit = 25 e offset = 100, a resposta retorna 25 itens começando do 101º item na lista geral.

### Criar recompensa diária

 - [POST /v2/project/{project_id}/admin/daily_chain](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-create-daily-chain.md): Cria uma recompensa diária.

### Obter recompensa diária

 - [GET /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-get-daily-chain.md): Obtém uma cadeia de recompensas específica para administração.

### Atualizar recompensa diária

 - [PUT /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-update-daily-chain.md): Atualiza uma recompensa diária específica.

### Excluir recompensa diária

 - [DELETE /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-delete-daily-chain.md): Exclui uma recompensa diária específica.

### Alternar recompensa diária

 - [PUT /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/toggle](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-toggle-daily-chain.md): Ativa ou desativa uma recompensa diária.

### Redefinir recompensa diária

 - [POST /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/reset](https://xsolla.redocly.app/pt/api/liveops/daily-chain-admin/admin-reset-daily-chain.md): Redefine o progresso para todos os usuários na recompensa diária. Aplica-se apenas a recompensas diárias do tipo rolling.

## Cliente

### Obter recompensas diárias do usuário atual

 - [GET /v2/project/{project_id}/user/daily_chain](https://xsolla.redocly.app/pt/api/liveops/daily-chain-client/get-daily-chains-list.md): Ponto de extremidade do cliente. Obtém as recompensas diárias do usuário atual.

AvisoUm método retorna uma lista paginada de itens. O valor máximo e padrão é 50 itens por resposta. Para obter mais itens da lista, use os parâmetros limit e offset e busque mais páginas. Por exemplo, ao chamar um método com limit = 25 e offset = 100, a resposta retorna 25 itens começando do 101º item na lista geral.




  Nota
    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, consulte o bloco Segurança para esta chamada.

### Obtém a recompensa diária do usuário atual por seu ID

 - [GET /v2/project/{project_id}/user/daily_chain/{daily_chain_id}](https://xsolla.redocly.app/pt/api/liveops/daily-chain-client/get-user-daily-chain-by-id.md): Ponto de extremidade do cliente. Obtém a recompensa diária do usuário atual pelo seu ID. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Resgatar etapa da recompensa diária

 - [POST /v2/project/{project_id}/user/daily_chain/{daily_chain_id}/step/number/{step_number}/claim](https://xsolla.redocly.app/pt/api/liveops/daily-chain-client/claim-user-daily-chain-step-reward.md): Ponto de extremidade do cliente. Resgata a recompensa de etapa do usuário atual de uma recompensa diária. Todas as etapas só podem ser resgatadas em ordem sequencial. A recompensa por uma etapa perdida não pode ser obtida por moeda virtual ou real, nem assistindo a um anúncio 


  Nota
    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, consulte o bloco Segurança para esta chamada.

## Admin

### Obter lista de cadeias de ofertas

 - [GET /v2/project/{project_id}/admin/offer_chain](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-get-offer-chains.md): Obtém a lista de cadeias de ofertas para administração.

AvisoTodos os projetos têm um limite no número de itens que podem ser retornados em uma única resposta. O valor padrão e máximo é de 10 itens por resposta. Para obter mais dados, use os parâmetros de consulta limit e offset para a paginação.

### Criar cadeia de ofertas

 - [POST /v2/project/{project_id}/admin/offer_chain](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-create-offer-chain.md): Cria uma cadeia de ofertas.

### Obter cadeia de ofertas

 - [GET /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-get-offer-chain.md): Obtém uma cadeia de ofertas específica para administração.

### Atualizar cadeia de ofertas

 - [PUT /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-update-offer-chain.md): Atualiza uma cadeia de ofertas específica.

### Excluir cadeia de ofertas

 - [DELETE /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-delete-offer-chain.md): Exclui uma cadeia de ofertas específica.

Após a exclusão:Todas as recompensas já recebidas pelos usuários são retidas.Etapas não concluídas ficam indisponíveis e suas recompensas não podem mais ser obtidas.

Ao contrário de desabilitar a cadeia de ofertas por meio da chamada da chamada Alternar cadeia de ofertas, a exclusão é irreversível e o progresso do usuário não é preservado.

### Alternar cadeia de ofertas

 - [PUT /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}/toggle](https://xsolla.redocly.app/pt/api/liveops/offer-chain-admin/admin-toggle-offer-chain.md): Habilita ou desabilita uma cadeia de ofertas.

Quando a cadeia de ofertas é desativada, os usuários perdem temporariamente o acesso a ela, mas seu progresso é preservado.

Depois que a cadeia de ofertas for reativada, os usuários poderão continuar da etapa de onde pararam.

## Cliente

### Obtenha as cadeias de ofertas do usuário atual

 - [GET /v2/project/{project_id}/user/offer_chain](https://xsolla.redocly.app/pt/api/liveops/offer-chain-client/get-offer-chains-list.md): Obtém as cadeias de ofertas atuais do usuário.

AvisoTodos os projetos têm um limite no número de itens que podem ser retornados em uma única resposta. O valor padrão e máximo é de 30 itens por resposta. Para obter mais dados, use os parâmetros de consulta limit e offset para a paginação.




  Nota
    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, consulte o bloco Segurança para esta chamada.

### Obter a cadeia de ofertas do usuário atual por ID

 - [GET /v2/project/{project_id}/user/offer_chain/{offer_chain_id}](https://xsolla.redocly.app/pt/api/liveops/offer-chain-client/get-user-offer-chain-by-id.md): Obtém a cadeia de ofertas do usuário atual pelo ID da cadeia de ofertas. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

### Resgate a etapa da cadeia de oferta gratuita

 - [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/claim](https://xsolla.redocly.app/pt/api/liveops/offer-chain-client/claim-user-offer-chain-step-reward.md): Conclui a progressão do usuário atual por meio da etapa da cadeia de ofertas e concede a recompensa associada.


  Aviso
    Use essa chamada somente para etapas gratuitas na cadeia de ofertas.
    Para etapas que exigem pagamento em moeda real, use a chamada Criar ordem para a etapa da cadeia de ofertas pagas.





  Nota
    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, consulte o bloco Segurança para esta chamada.

### Criar ordem para a etapa da cadeia de ofertas pagas

 - [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/order](https://xsolla.redocly.app/pt/api/liveops/offer-chain-client/order-user-offer-chain-step-reward.md): Cria um pedido para o item associado à etapa da cadeia de ofertas pagas especificada. O pedido criado obtém o status new do 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 
    Esse método deve ser usado no lado do cliente. O endereço IP do usuário é usado para determinar o país, o que afeta a moeda e os métodos de pagamento disponíveis. Usar esse método do lado do servidor pode resultar na detecção incorreta da moeda e afetar os métodos de pagamento no Pay Station.





 Aviso
    Use essa chamada somente para etapas da cadeia de ofertas pagas.
    Para obter etapas gratuitas, use a chamada  da cadeia de Resgate a etapa da cadeia de oferta gratuita.





  Nota
    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, consulte o bloco Segurança para esta chamada.

## payment-client-side

### Criar ordem para a etapa da cadeia de ofertas pagas

 - [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/order](https://xsolla.redocly.app/pt/api/liveops/offer-chain-client/order-user-offer-chain-step-reward.md): Cria um pedido para o item associado à etapa da cadeia de ofertas pagas especificada. O pedido criado obtém o status new do 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 
    Esse método deve ser usado no lado do cliente. O endereço IP do usuário é usado para determinar o país, o que afeta a moeda e os métodos de pagamento disponíveis. Usar esse método do lado do servidor pode resultar na detecção incorreta da moeda e afetar os métodos de pagamento no Pay Station.





 Aviso
    Use essa chamada somente para etapas da cadeia de ofertas pagas.
    Para obter etapas gratuitas, use a chamada  da cadeia de Resgate a etapa da cadeia de oferta gratuita.





  Nota
    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, consulte o bloco Segurança para esta chamada.

## Admin

### Obter informações sobre venda cruzada no projeto

 - [GET /v2/project/{project_id}/admin/items/upsell](https://xsolla.redocly.app/pt/api/liveops/upsell-admin/get-upsell-configurations-for-project-admin.md): Recupera as informações sobre a venda cruzada no projeto: se está habilitado, o tipo de venda cruzada e a lista de SKUs de itens que fazem parte dessa venda cruzada.

### Criar venda cruzada

 - [POST /v2/project/{project_id}/admin/items/upsell](https://xsolla.redocly.app/pt/api/liveops/upsell-admin/post-upsell.md): Cria uma venda cruzada para um projeto. 


  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.

### Atualizar venda cruzada

 - [PUT /v2/project/{project_id}/admin/items/upsell](https://xsolla.redocly.app/pt/api/liveops/upsell-admin/put-upsell.md): Atualiza uma venda cruzada para um projeto. 


  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.

### Ativar/desativar a venda cruzada do projeto

 - [PUT /v2/project/{project_id}/admin/items/upsell/{toggle}](https://xsolla.redocly.app/pt/api/liveops/upsell-admin/put-upsell-toggle-active-inactive.md): Altera o status de uma venda cruzada em um projeto para ativa ou inativa. 


  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.

## Cliente

### Obter lista de itens de venda cruzada no projeto

 - [GET /v2/project/{project_id}/items/upsell](https://xsolla.redocly.app/pt/api/liveops/upsell-client/get-upsell-for-project-client.md): Obtém uma lista de itens de venda cruzada em um projeto, se já tiverem sido configuradas. 


  Nota
    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, consulte o bloco Segurança para esta chamada.

## Admin

### Obter informações do programa de fidelidade

 - [GET /projects/{project_id}/admin/program](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-admin/loyalty-get-programs.md): Retorna informações sobre o programa de fidelidade do projeto.

### Obter lista de pontos de fidelidade no programa

 - [GET /projects/{project_id}/admin/programs/{loyalty_program_id}/loyalty_points](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-admin/loyalty-get-program-loyalty-points.md): Retorna a lista de pontos de fidelidade no programa.

### Obter saldo de pontos de fidelidade do usuário

 - [GET /projects/{project_id}/users/{user_id}/points/{point_id}/balance](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-admin/loyalty-get-user-point-balance.md): Retorna o saldo atual dos pontos de fidelidade especificados.

### Debita o saldo de pontos de fidelidade do usuário

 - [POST /projects/{project_id}/users/{user_id}/points/{point_id}/balance/debit](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-admin/loyalty-debit-user-point-balance.md): Debita uma quantia específica do saldo de pontos de fidelidade do usuário.

### Credita um valor ao saldo de pontos de fidelidade do usuário

 - [POST /projects/{project_id}/users/{user_id}/points/{point_id}/balance/credit](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-admin/loyalty-credit-user-point-balance.md): Credita uma quantia específica ao saldo de pontos de fidelidade do usuário.

## Cliente

### Obter saldo de pontos de fidelidade do usuário

 - [GET /v1/projects/{project_id}/loyalty_point_balance](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-client/loyalty-get-user-balance.md): Retorna o saldo atual dos pontos de fidelidade.

### Criar pedido com o item especificado comprado com pontos de fidelidade

 - [POST /v2/project/{project_id}/payment/item/{item_sku}/loyalty_point/{loyalty_point_sku}](https://xsolla.redocly.app/pt/api/liveops/loyalty-program-client/loyalty-create-order-with-item-for-loyalty-points.md): Cria um pedido com um item especificado que é pago integralmente com os pontos de fidelidade do usuário. Para comprar diversos itens de uma vez, passe o número deles no parâmetro quantity.

