REST Resource: monetization.subscriptions.basePlans.offers

Recurso: SubscriptionOffer

Una única oferta temporal

Representación JSON
{
  "packageName": string,
  "productId": string,
  "basePlanId": string,
  "offerId": string,
  "state": enum (State),
  "phases": [
    {
      object (SubscriptionOfferPhase)
    }
  ],
  "targeting": {
    object (SubscriptionOfferTargeting)
  },
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferConfig)
  },
  "offerTags": [
    {
      object (OfferTag)
    }
  ]
}
Campos
packageName

string

Obligatorio. Inmutable. Es el nombre del paquete de la app a la que pertenece la suscripción superior.

productId

string

Obligatorio. Inmutable. El ID de la suscripción superior a la que pertenece esta oferta.

basePlanId

string

Obligatorio. Inmutable. El ID del plan básico al que se aplica esta oferta.

offerId

string

Obligatorio. Inmutable. Es el ID único de esta oferta de suscripción. Debe ser único en el plan básico.

state

enum (State)

Solo salida. Es el estado actual de esta oferta. Se pueden cambiar con las acciones Activar y Desactivar. Nota: El estado del plan básico reemplaza este estado, por lo que es posible que una oferta activa no esté disponible si el plan básico no está activo.

phases[]

object (SubscriptionOfferPhase)

Obligatorio. Las fases de esta oferta de suscripción. Debe contener al menos una y dos entradas como máximo. Los usuarios siempre recibirán todas estas fases en el orden especificado.

targeting

object (SubscriptionOfferTargeting)

Son los requisitos que deben cumplir los usuarios para poder acceder a esta oferta. Representa los requisitos que Play evaluará para decidir si se debe devolver una oferta. Los desarrolladores pueden filtrar aún más estas ofertas.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Obligatorio. Es la configuración específica por región de esta oferta. Debe contener al menos una entrada.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Es la configuración para las ubicaciones nuevas en las que Play puede hacer un lanzamiento en el futuro.

offerTags[]

object (OfferTag)

Es una lista de hasta 20 etiquetas personalizadas especificadas para esta oferta, que se devuelven a la app a través de la biblioteca de facturación.

Estado

El estado actual de la oferta de suscripción.

Enumeraciones
STATE_UNSPECIFIED Valor predeterminado, nunca se debe usar.
DRAFT La oferta de suscripción no está disponible para los usuarios ni nunca estuvo disponible.
ACTIVE La oferta de suscripción está disponible para los usuarios nuevos y existentes.
INACTIVE La oferta de suscripción no está disponible para los usuarios nuevos. Los usuarios existentes conservan el acceso.

SubscriptionOfferPhase

Una sola fase de una oferta de suscripción.

Representación JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Campos
recurrenceCount

integer

Obligatorio. La cantidad de veces que se repite esta fase. Si no es gratuita, se le cobra al usuario el precio correspondiente en cada recurrencia.

duration

string

Obligatorio. Es la duración de una única recurrencia de esta fase. Especificado en formato ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Obligatorio. Es la configuración específica de la región de esta fase de la oferta. Esta lista debe contener exactamente una entrada para cada región en la que la oferta de suscripción tiene una configuración regional.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Es la información de precios de ubicaciones nuevas en las que Play podría lanzar la opción en el futuro.

RegionalSubscriptionOfferPhaseConfig

Configuración para una sola fase de una oferta de suscripción en una sola región.

Representación JSON
{
  "regionCode": string,

  // Union field price_override can be only one of the following:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
Campos
regionCode

string

Obligatorio. Inmutable. La región a la que se aplica esta configuración.

Campo de unión price_override. La anulación de precio de esta fase. Obligatorio. Las direcciones (price_override) solo pueden ser una de las siguientes opciones:
price

object (Money)

Es el precio absoluto que paga el usuario por esta fase de la oferta. El precio no debe ser inferior al precio mínimo permitido para esta región.

relativeDiscount

number

Es la fracción del precio del plan básico prorrateado en función de la duración de la fase de la oferta por la que paga el usuario. Por ejemplo, si el precio del plan básico para esta región es de USD 12 por un período de 1 año, un descuento del 50% en una fase de 3 meses correspondería a un precio de USD 1.50. El descuento se debe especificar como una fracción estrictamente mayor que 0 y menor que 1. El precio final se redondeará a la unidad facturable más cercana (p. ej., centavos en el caso del dólar estadounidense). El descuento relativo se considera no válido si el precio con descuento termina siendo inferior al precio mínimo permitido en esta región.

absoluteDiscount

object (Money)

Es el importe absoluto de dinero restado del precio del plan básico prorrateado en función de la duración de la fase de la oferta por la que paga el usuario. Por ejemplo, si el precio del plan básico para esta región es de USD 12 por un período de 1 año, un descuento absoluto de USD 1 para una fase de 3 meses de duración correspondería a un precio de USD 2. El precio resultante no puede ser inferior al precio mínimo permitido para esta región.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Se establece para especificar que esta oferta es gratuita.

RegionalSubscriptionOfferPhaseFreePriceOverride

Este tipo no tiene campos.

Representa la configuración de anulación de precio gratuita para una sola fase de una oferta de suscripción

OtherRegionsSubscriptionOfferPhaseConfig

Configuración de nuevas ubicaciones en las que Play pueda lanzarse para una sola fase de la oferta.

Representación JSON
{

  // Union field price_override can be only one of the following:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
Campos
Campo de unión price_override. Es la anulación de precio de esta fase. Obligatorio. Las direcciones (price_override) solo pueden ser una de las siguientes opciones:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Es el precio absoluto que paga el usuario por esta fase de la oferta. El precio no debe ser inferior al precio mínimo permitido para cualquier ubicación nueva en la que se pueda lanzar Play.

relativeDiscount

number

La fracción del precio del plan básico prorrateado sobre la duración de la fase que el usuario paga por esta fase de la oferta. Por ejemplo, si el precio del plan básico para esta región es de USD 12 por un período de 1 año, un descuento del 50% en una fase de 3 meses correspondería a un precio de USD 1.50. El descuento se debe especificar como una fracción estrictamente mayor que 0 y menor que 1. El precio final se redondeará a la unidad facturable más cercana (p. ej., centavos en el caso del dólar estadounidense). El descuento relativo se considera no válido si el precio con descuento termina siendo inferior al precio mínimo permitido en cualquier ubicación nueva en la que se pueda lanzar Play.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Es el importe absoluto de dinero restado del precio del plan básico prorrateado en función de la duración de la fase de la oferta por la que paga el usuario. Por ejemplo, si el precio del plan básico para esta región es de USD 12 por un período de 1 año, un descuento absoluto de USD 1 para una fase de 3 meses de duración correspondería a un precio de USD 2. El precio final no debe ser inferior al precio mínimo permitido para cualquier ubicación nueva en la que Play puede hacer un lanzamiento.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Se establece para especificar que esta oferta es gratuita.

OtherRegionsSubscriptionOfferPhasePrices

Es la información de precios de ubicaciones nuevas en las que Play podría lanzar la opción en el futuro.

Representación JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Campos
usdPrice

object (Money)

Obligatorio. Es el precio en USD que se usará para las ubicaciones nuevas en las que Play puede hacer un lanzamiento.

eurPrice

object (Money)

Obligatorio. Es el precio en EUR para usar en las ubicaciones nuevas en las que se pueda lanzar Play.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Este tipo no tiene campos.

Representa la configuración de anulación de precio gratuita para cualquier ubicación nueva que Play pueda lanzar en una sola fase de la oferta.

SubscriptionOfferTargeting

Define la regla que un usuario debe cumplir para recibir esta oferta.

Representación JSON
{

  // Union field rule can be only one of the following:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of list of possible types for union field rule.
}
Campos
Campo de unión rule. Deja el campo en blanco para que la oferta sea apta por el desarrollador. Las direcciones (rule) solo pueden ser una de las siguientes opciones:
acquisitionRule

object (AcquisitionTargetingRule)

Regla de segmentación de ofertas para la adquisición de usuarios nuevos.

upgradeRule

object (UpgradeTargetingRule)

Regla de segmentación de ofertas para actualizar planes existentes.

AcquisitionTargetingRule

Representa una regla de segmentación con el siguiente formato: El usuario nunca tuvo {scope} antes.

Representación JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Campos
scope

object (TargetingRuleScope)

Obligatorio. Es el alcance de suscripciones que se considera en esta regla. Solo permite "esta suscripción" y "cualquier suscripción de la app".

TargetingRuleScope

Define el alcance de las suscripciones con las que una regla de segmentación puede coincidir para segmentar ofertas para los usuarios en función de derechos anteriores o actuales.

Representación JSON
{

  // Union field scope can be only one of the following:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of list of possible types for union field scope.
}
Campos

Campo de unión scope.

scope puede ser una de las siguientes opciones:

thisSubscription

object (TargetingRuleScopeThisSubscription)

El alcance de la regla de segmentación actual es la suscripción en la que se define esta oferta.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

El alcance de la regla de segmentación actual es cualquier suscripción de la app superior.

specificSubscriptionInApp

string

El alcance de la regla de segmentación actual es la suscripción con el ID de suscripción especificado. Debe ser una suscripción dentro de la misma app superior.

TargetingRuleScopeThisSubscription

Este tipo no tiene campos.

Representa el alcance de la regla de segmentación correspondiente a las suscripciones en las que se define esta oferta.

TargetingRuleScopeAnySubscriptionInApp

Este tipo no tiene campos.

Representa el alcance de la regla de segmentación correspondiente a cualquier suscripción en la app superior.

UpgradeTargetingRule

Representa una regla de segmentación con el siguiente formato: El usuario actualmente tiene {scope} [con período de facturación de {billing_period}].

Representación JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Campos
oncePerUser

boolean

Limita esta oferta a una sola vez por usuario. Si se establece como verdadero, los usuarios no volverán a reunir los requisitos para acceder a esta oferta si alguna vez se suscribieron a ella.

scope

object (TargetingRuleScope)

Obligatorio. El alcance de las suscripciones que tiene en cuenta esta regla. Solo se permite "esta suscripción" y "suscripción específica en la app".

billingPeriodDuration

string

Es la duración específica del período de facturación, en formato ISO 8601, a la que debe estar suscrito un usuario para cumplir con los requisitos de esta regla. Si no se especifica, la regla abarcará a los usuarios suscritos a cualquier período de facturación.

RegionalSubscriptionOfferConfig

Configuración de una oferta de suscripción en una sola región.

Representación JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Campos
regionCode

string

Obligatorio. Inmutable. Es el código regional al que se aplica esta configuración, según lo define la norma ISO 3166-2; p.ej., “US”.

newSubscriberAvailability

boolean

Indica si la oferta de suscripción en la región especificada está disponible para suscriptores nuevos. Si este valor se establece como falso, no se cancelará la suscripción de los suscriptores existentes. Si no se especifica, el valor predeterminado será falso.

OtherRegionsSubscriptionOfferConfig

Es la configuración especificada en una oferta de suscripción para cualquier ubicación nueva en la que Play puede hacer un lanzamiento.

Representación JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Campos
otherRegionsNewSubscriberAvailability

boolean

Si la oferta de suscripción está en nuevas ubicaciones que Play podría lanzar en el futuro. Si no se especifica, el valor predeterminado será falso.

Métodos

activate

Activa una oferta de suscripción.

batchGet

Lee una o más ofertas de suscripción.

batchUpdate

Actualiza un lote de ofertas de suscripción.

batchUpdateStates

Actualiza un lote de estados de ofertas de suscripción.

create

Crea una nueva oferta de suscripción.

deactivate

Desactiva una oferta de suscripción.

delete

Borra una oferta de suscripción.

get

Lee una sola oferta.

list

Enumera todas las ofertas de una suscripción determinada.

patch

Actualiza una oferta de suscripción existente.