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

# Suscripciones de Economy v2

> Cree suscripciones virtuales de PlayFab Economy v2 para conceder acceso por tiempo a artículos duraderos del juego y administrar beneficios recurrentes para los jugadores.

Las suscripciones le permiten conceder acceso basado en tiempo a bienes duraderos. Los artículos incluidos en una suscripción se desempaquetan en el inventario de un jugador después de llamar a [GetInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/get-inventory-items).

<Note>
  Este artículo se centra en las suscripciones virtuales, es decir, las suscripciones que existen dentro del juego.
</Note>

## Creación de una suscripción

Para crear una suscripción, primero debe asegurarse de haber publicado los [artículos de catálogo](/services/playfab/economy-monetization/economy-v2/quickstart#step-3---publish-an-item-to-the-catalog), la [moneda](/services/playfab/economy-monetization/economy-v2/quickstart#part-2-inventory-and-virtual-currencies-overview) o el [contenido generado por el usuario (UGC)](/services/playfab/economy-monetization/economy-v2/ugc/quickstart) que quiera que sea accesible o comprable en el juego. Para configurar el catálogo antes de crear una suscripción, consulte la [guía de inicio rápido de Economy V2](/services/playfab/economy-monetization/economy-v2/quickstart)

### GameManager

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

### API

Puede usar la API [CreateDraftItem](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/create-draft-item) para crear una suscripción.

Un ejemplo de solicitud de la API `CreateDraftItem` para crear una suscripción:

```json theme={null}
{
  "Item": {
   "Type": "subscription",
    "Title": {
      "NEUTRAL": "Holiday Skins Pass"
    },
    "StartDate": "2023-03-07T00:01:00.0000000Z",
    "ItemReferences":[
      {
        "Id":"{{GlowingGlovesItemID}}",
        "Amount": 1
      }, 
      {
        "Id":"{{ShinyShoesItemID}}", 
        "Amount": 1
      }
    ],
        "PriceOptions": {
          "Prices": [
        {
            "UnitDurationInSeconds":604800,
              "Amounts": [
                {
                    "ItemId": "{{DiamondItemID}}",
                    "Amount": 5
                },
                {
                    "ItemId": "{{GoldItemID}}",
                    "Amount": 10
                }
                ]
        },      
        {
            "UnitDurationInSeconds":2628000,
              "Amounts": [
                {
                    "ItemId": "{{DiamondItemID}}",
                    "Amount": 7
                },
                {
                    "ItemId": "{{GoldItemID}}",
                    "Amount": 12
                }
                ]
        } ]
          }
        },
  "Publish": true
}
```

***

La suscripción Holiday Skins Pass anterior concede dos artículos, `Glowing Gloves` y `Shiny Shoes`, con dos puntos de precio para dos períodos de validez diferentes. El primer conjunto de precios, de 5 diamantes y 10 de oro, garantiza que la suscripción sea válida durante una semana, mientras que el segundo conjunto de precios, de 7 diamantes y 12 de oro, garantiza que la suscripción sea válida durante un mes. Tenga en cuenta que la duración debe establecerse en segundos.

Esto debería devolver una respuesta que indica que la suscripción se ha creado y publicado:

```json theme={null}
{
  "code": 200,
    "status": "OK",
    "data": {
        "Item": {
            "Id": "{{NewlyCreatedSubscriptionItemID}}",
            "Type": "subscription",
            "AlternateIds": [],
            "Title": {
                "NEUTRAL": "Holiday Skins Pass"
            },
    ...
}
```

***

## Suscripciones dentro del inventario

Las suscripciones estarán presentes en la colección de inventario del jugador con un identificador, un StackId, una fecha de expiración y propiedades de presentación. Todo lo que hay en una suscripción se puede modificar igual que cualquier otro artículo mediante Add, Subtract, Update, etc.

Puede usar [GetInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/get-inventory-items) con un filtro de tipo para recuperar todas las suscripciones que un jugador tiene actualmente.

```json theme={null}
{ 
    "Entity": {
        "Type": "title_player_account", 
        "Id": "ID" 
    }, 
    "CollectionId": "default", 
    "Filter": "type eq 'subscription'"
}

**Sample Response**

{
    "code": 200,
    "status": "OK",
    "data": {
        "Items": [
            {
                "Id": "{{SubscriptionID}}",
                "StackId": "default",
                "DisplayProperties": {},
                "Type": "subscription",
                "ExpirationDate": "2023-08-27T23:59:59Z"
            }
        ],
        "ETag": "1/Mw=="
    }
}
```

Una suscripción no expirada se desempaqueta en el momento de la lectura. Los artículos desempaquetados tienen el identificador esperado y un StackId compuesto único formado por el identificador de la suscripción y el StackId de la suscripción. La cantidad se establece en la cantidad configurada en la referencia de artículo de la suscripción. Estos artículos desempaquetados son inmutables y no se pueden modificar mediante Add, Subtract, Update, etc.

```json theme={null}

{ 
    "Entity": {
        "Type": "title_player_account", 
        "Id": "ID" 
    }, 
    "CollectionId": "default", 
    "Filter": "StackId eq 'SubscriptionItemID:default'"
}

**Sample Response**

{
    "code": 200,
    "status": "OK",
    "data": {
        "Items": [
            {
                "Id": "{{GlowingGlovesItemID}}",
                "StackId": "{{SubscriptionID:default}}",
                "DisplayProperties": {},
                "Amount": 1,
                "Type": "catalogItem"
            },
            {
                "Id": "{{ShinyShoesItemID}}",
                "StackId": "{{SubscriptionID:default}}",
                "DisplayProperties": {},
                "Amount": 1,
                "Type": "catalogItem"
            }
        ],
        "ETag": "1/NQ=="
    }
}
```

El desempaquetado de suscripciones se produce antes del filtrado y la paginación, de modo que los artículos de la suscripción se puedan filtrar y paginar de forma fiable igual que cualquier otro artículo de una colección.

Puede usar [UpdateInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/update-inventory-items), [AddInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/add-inventory-items) y [SubtractIventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/subtract-inventory-items) para actualizar la fecha de expiración de una suscripción de un jugador.

En esta llamada a la API `UpdateInventoryItems` se actualiza la fecha de expiración de la suscripción.

```json theme={null}
{
   "Entity": { 
      "Type": "title_player_account", 
      "Id": "{{ID}}" 
    }, 
  "CollectionId": "default", 
   "Item": { 
        "Id": "{{SubscriptionID}}", 
        "StackId": "default",
        "DisplayProperties": {},
        "Type": "subscription",
        "ExpirationDate": "2023-03-27T23:59:59Z" 
    } 
} 
```

En esta llamada a la API `AddInventoryItems` se amplía la fecha de expiración aumentando el parámetro DurationInSeconds.

```json theme={null}
{
    "Entity": { 
        "Type": "title_player_account", 
        "Id": "{{ID}}" 
    }, 
    "CollectionId": "default", 
    "Item": { 
        "Id": "{{SubscriptionID}}" 
    }, 
    "DurationInSeconds":2628000 
} 
```

En esta llamada a la API `SubtractInventoryItems` se reduce la fecha de expiración disminuyendo el parámetro DurationInSeconds.

```json theme={null}
{
    "Entity": { 
        "Type": "title_player_account", 
        "Id": "{{ID}}" 
    }, 
    "CollectionId": "default", 
    "Item": { 
        "Id": "{{SubscriptionID}}" 
    }, 
    "DurationInSeconds":60 
} 
```


## Related topics

- [¿Qué es PlayFab Economy?](/es/services/playfab/economy-monetization/economy-what-is.md)
- [Ofertas dirigidas de Economy V2](/es/services/playfab/economy-monetization/economy-v2/player-segmented-monetization/targeted-offers.md)
- [Límites de Economy V2](/es/services/playfab/economy-monetization/economy-v2/limits.md)
- [Lotes de Economy v2](/es/services/playfab/economy-monetization/economy-v2/catalog/bundles.md)
- [Tiendas de Economy v2](/es/services/playfab/economy-monetization/economy-v2/catalog/stores.md)
