> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lojas do Economy v2

> Crie Lojas do PlayFab Economy v2 para organizar listas de itens, substituir preços do catálogo e executar promoções, descontos e ofertas por tempo limitado no jogo.

<Info>
  O Economy v2 agora está em disponibilidade geral. Para obter suporte e enviar comentários, acesse o [Fórum do PlayFab](https://community.playfab.com).
</Info>

As lojas são uma excelente forma de expandir e desenvolver a economia do seu jogo. As lojas são um tipo especial de item que contém uma lista de itens e preços e permitem substituir os preços base do catálogo para os itens. As lojas podem ser usadas para gerenciar onde os itens podem ser comprados no seu jogo, oferecer descontos e promoções no jogo e muito mais!

## Criar uma loja

Para criar uma loja, primeiro você deve garantir que tem outros itens do catálogo, moedas ou UGC publicados que deseja tornar acessíveis/compráveis no seu jogo. Você pode seguir as etapas do [Início rápido do Economy v2](/pt-BR/services/playfab/economy-monetization/economy-v2/quickstart#step-3---publish-an-item-to-the-catalog)

### GameManager

1. Navegue até **Economy** > **Catalog (V2)**.
2. Na guia **Stores**, selecione **New Store**.

Preencha os metadados desejados. Um dos pontos principais a definir são os itens que você deseja disponibilizar nessa loja e os preços pelos quais deseja substituí-los.

### API

Você pode usar `CreateDraftItem` para criar uma loja.

Um exemplo de solicitação `CreateDraftItem` para criar uma loja:

```json theme={null}
{
  "Item": {
   "Type": "store",
    "Title": {
      "NEUTRAL": "My First Store",
    },
    "StartDate": "2022-09-07T00:00:00.00000000Z",
    "ItemReferences":[
      {
        "Id":"LaserSword",
        "Amount": 1,
        "PriceOptions": {
          "Prices": [{
            "Amounts": [{
              "ItemId": "Diamond",
              "Amount": 1
            }]
          }]
        }
      },
      {
      "Id":"WeaponBundle",
      "PriceOptions": {
        "Prices": [{
          "Amounts": [{
            "ItemId": "Gold",
            "Amount": 10
            },
            {
            "ItemId": "Silver",
            "Amount": 10
          }]
        }],
      },
    }]
   },
   "Publish": true
}
```

***

O exemplo acima é uma loja que vende dois itens, `LaserSword` e `WeaponBundle`. Ambos são itens existentes do catálogo com um preço base definido no catálogo. Essa loja substitui os preços existentes e agora oferece `LaserSword` por 1 `Diamond` e `WeaponBundle` por 10 Gold e 10 Silver.

Essa solicitação retornaria uma resposta indicando que a loja foi criada e publicada:

```json theme={null}
{
  "code": 202,
  "status": "Accepted",
  "Item": {
    "Type": "store",
    "Id": "{{StoreID}}", 
    "Title": {
      "NEUTRAL": "My First Store",
    },
    ...
}
```

Observe o `Id` que agora está associado à nossa loja publicada.

<Note>
  Para ajudar a simplificar o conceito, os IDs dos itens foram trocados de GUIDs para os nomes dos itens para ilustrar melhor o exemplo de uso de lojas.
</Note>

## Usar uma loja

As lojas são usadas quando os jogadores chamam a API `PurchaseInventoryItems`. Quando você chama `PurchaseInventoryItems`, uma das propriedades opcionais é o parâmetro `StoreId`, no qual podemos passar a loja a ser aplicada a essa solicitação de compra.

Um exemplo de solicitação `PurchaseInventoryItems` usando uma loja:

```json theme={null}
{
    "Entity": {
        "Type": "title_player_account",
        "Id": "{{PlayerID}}"
    },
    "Item": {
        "Id": "LaserSword",
    },
    "Amount": 10,
    "PriceAmounts": [
        {
            "ItemId": "Diamond",
            "Amount": 1
        }
    ],
    "StoreId": "{{StoreID}}"
}
```

Observe o `{{StoreId}}` passado na solicitação de compra e como o `PriceAmount` esperado agora corresponde ao custo de 1 Diamond definido na nossa loja.

## Pesquisar em uma loja

Ao usar a API `SearchItems`, uma das propriedades que você pode passar é o parâmetro `Store`. Esse parâmetro permite pesquisar no contexto de uma loja. Além de permitir verificar se um item existe em uma loja específica, ele também pode ser usado para exibir os preços substituídos dos itens/conteúdos da loja. Você também pode usar o `AlternateId` da loja para pesquisá-la.

```json theme={null}
{
  "Search": "",
  "Filter": "ContentType eq 'weapons'",
  "Store": {
    "Id": "{{StoreID}}"
  },
}
```


## Related topics

- [Visão geral do catálogo](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/catalog-overview.md)
- [Contêineres com conteúdo fixo no Economy v2](/pt-BR/services/playfab/economy-monetization/economy-v2/tutorials/containers-with-fixed-contents.md)
- [Jogo de criação, parte 3 - Codificação](/pt-BR/services/playfab/economy-monetization/economy-v2/tutorials/craftingGame/crafting-game-coding.md)
- [Ofertas direcionadas do Economy V2](/pt-BR/services/playfab/economy-monetization/economy-v2/player-segmented-monetization/targeted-offers.md)
- [Pacotes do Economy v2](/pt-BR/services/playfab/economy-monetization/economy-v2/catalog/bundles.md)
