> ## 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.

# Tiendas de Economy v2

> Cree tiendas de PlayFab Economy v2 para seleccionar listas de artículos, invalidar precios del catálogo y ejecutar promociones, descuentos y ofertas por tiempo limitado en el juego.

<Info>
  Economy v2 ya está disponible con carácter general. Para obtener soporte técnico y enviar comentarios, vaya al [foro de PlayFab](https://community.playfab.com).
</Info>

Las tiendas son una excelente manera de aprovechar y desarrollar la economía del juego. Las tiendas son un tipo de artículo especial que contiene una lista de artículos y precios, y le permiten invalidar los precios base del catálogo para los artículos. Las tiendas se pueden usar para administrar dónde se pueden comprar artículos en el juego, ofrecer descuentos y promociones en el juego, ¡y mucho más!

## Creación de una tienda

Para crear una tienda, primero debe asegurarse de que tiene otros artículos de catálogo, moneda o UGC publicados que quiera que sean accesibles o comprables en el juego. Puede seguir los pasos de la [guía de inicio rápido de Economy v2](/services/playfab/economy-monetization/economy-v2/quickstart#step-3---publish-an-item-to-the-catalog)

### GameManager

1. Vaya a **Economy** > **Catalog (V2)**.
2. En la pestaña **Stores**, seleccione **New Store**.

Rellene los metadatos deseados; una de las cosas clave que hay que establecer son los artículos que quiere que estén disponibles en esta tienda y los precios con los que quiere invalidarlos.

### API

Puede usar `CreateDraftItem` para crear una tienda.

Un ejemplo de solicitud `CreateDraftItem` para crear una tienda:

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

***

Lo anterior es una tienda que vende dos artículos, `LaserSword` y `WeaponBundle`. Ambos artículos son artículos de catálogo existentes con algún precio base existente tal como se define en el catálogo. Esta tienda invalida sus precios existentes y ahora ofrece `LaserSword` por 1 `Diamond` y `WeaponBundle` por 10 de oro y 10 de plata.

Esta solicitud devolvería una respuesta que indica que la tienda se ha creado y publicado:

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

Observe el `Id` que ahora está asociado a nuestra tienda publicada.

<Note>
  Para ayudar a simplificar el concepto, los identificadores de artículo se han cambiado de GUID a los nombres de los artículos para ilustrar mejor el ejemplo de uso de tiendas.
</Note>

## Uso de una tienda

Las tiendas se usan cuando los jugadores llaman a la API `PurchaseInventoryItems`. Cuando se llama a `PurchaseInventoryItems`, una de las propiedades opcionales es un parámetro `StoreId` donde podemos pasar la tienda que usamos para aplicarla a esta solicitud de compra.

Un ejemplo de solicitud `PurchaseInventoryItems` mediante una tienda:

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

Observe el `{{StoreId}}` pasado en la solicitud de compra y cómo el `PriceAmount` previsto ahora coincide con el costo de 1 Diamond establecido en nuestra tienda.

## Búsqueda en una tienda

Cuando usa la API `SearchItems`, una de las propiedades que puede pasar es el parámetro `Store`. Este parámetro le permite buscar dentro del contexto de una tienda. Además de poder comprobar si un artículo existe en una tienda concreta, también se puede usar para mostrar los precios invalidados de los artículos o el contenido de la tienda. También puede usar el `AlternateId` de la tienda para buscarla.

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


## Related topics

- [Contenedores con contenido fijo en Economy v2](/es/services/playfab/economy-monetization/economy-v2/tutorials/containers-with-fixed-contents.md)
- [Información general del catálogo](/es/services/playfab/economy-monetization/economy-v2/catalog/catalog-overview.md)
- [Juego de creación de objetos, parte 3: programación](/es/services/playfab/economy-monetization/economy-v2/tutorials/craftingGame/crafting-game-coding.md)
- [Ofertas dirigidas de Economy V2](/es/services/playfab/economy-monetization/economy-v2/player-segmented-monetization/targeted-offers.md)
- [Lotes de Economy v2](/es/services/playfab/economy-monetization/economy-v2/catalog/bundles.md)
