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. 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 una entrada como mínimo y cinco como máximo. Los usuarios siempre recibirán todas estas fases en el orden especificado. Las fases no se pueden agregar, eliminar ni reordenar después de la creación inicial.

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 de la región de esta oferta. Debe contener al menos una entrada.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

La configuración de las ubicaciones nuevas que Play podría lanzar en el futuro

offerTags[]

object (OfferTag)

Lista de hasta 20 etiquetas personalizadas especificadas para esta oferta y devueltas 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 usuarios nuevos y existentes.
INACTIVE La oferta de suscripción no está disponible para 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 esta fase de la oferta no es gratuita, cada recurrencia le cobra al usuario el precio de esta fase de la oferta.

duration

string

Obligatorio. Es la duración de una sola 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)

Información sobre los precios de las ubicaciones nuevas en las que Play pueda lanzarse

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

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 resultante se redondeará a la unidad facturable más cercana (p.ej., centavos para USD). El descuento relativo se considera no válido si el precio con descuento es inferior al precio mínimo permitido en esta región.

absoluteDiscount

object (Money)

Es la cantidad absoluta de dinero que se resta del precio del plan básico prorrateado durante la duración de la fase que el usuario paga por esta fase de 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 absoluto de USD 1 en una fase de 3 meses 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)

Establece esta opción 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. 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 resultante se redondeará a la unidad facturable más cercana (p.ej., centavos para USD). 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 la cantidad absoluta de dinero que se resta del precio del plan básico prorrateado durante la duración de la fase que el usuario paga por esta fase de 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 absoluto de USD 1 en una fase de 3 meses correspondería a un precio de USD 2. El precio resultante no puede ser inferior al precio mínimo permitido para cualquier ubicación nueva en la que se lance Play.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Establece esta opción para especificar que esta oferta es gratuita.

OtherRegionsSubscriptionOfferPhasePrices

Información sobre los precios de las ubicaciones nuevas en las que Play pueda lanzarse

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

object (Money)

Obligatorio. Es el precio en USD para usar en cualquier ubicación nueva en la que se pueda lanzar Play.

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. El alcance de las suscripciones que tiene en cuenta esta regla. Solo se permite "esta suscripción" y "cualquier suscripción en 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 en la app principal.

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

TargetingRuleScopeThisSubscription

Este tipo no tiene campos.

Representa el alcance de la regla de segmentación correspondiente a las suscripciones en las que está definida 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 verdadera, un usuario no podrá volver a ser apto para esta oferta si alguna vez se suscribió 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, al que debe estar suscrito un usuario para poder usar esta regla. Si no se especifica, se establece la coincidencia con 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 definido por 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 de las nuevas ubicaciones que Play puede lanzar en una oferta de suscripción especificada.

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.