REST Resource: monetization.subscriptions.basePlans.offers

Recurso: SubscriptionOffer

Una sola 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. El nombre del paquete de la app a la que pertenece la suscripción superior.

productId

string

Obligatorio. Inmutable. Es el ID de la suscripción principal a la que pertenece esta oferta.

basePlanId

string

Obligatorio. Inmutable. Es el ID del plan básico para el que esta oferta es una extensión.

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 puede cambiar con las acciones Activar y Desactivar. Nota: El estado del plan básico sustituye 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. Fases de esta oferta de suscripción Debe contener al menos una entrada y puede contener cinco como máximo. Los usuarios siempre recibirán todas estas fases en el orden especificado. No se pueden agregar, quitar ni reordenar las fases después de la creación inicial.

targeting

object (SubscriptionOfferTargeting)

Son los requisitos que los usuarios deben cumplir a fin de ser aptos para 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 por su cuenta.

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 para ubicaciones nuevas podría lanzarse 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

Es el estado actual de la oferta de suscripción.

Enumeradores
STATE_UNSPECIFIED Valor predeterminado, nunca se debe usar.
DRAFT La oferta de suscripción no está disponible para los usuarios ni estuvo disponible nunca.
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

Es 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, se le cobra al usuario por cada recurrencia el precio de esta fase.

duration

string

Obligatorio. La duración de una sola recurrencia de esta fase. Se especifica en formato ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Obligatorio. 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 tenga una configuración regional.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Información de precios para ubicaciones nuevas en las que se pueda lanzar Play.

RegionalSubscriptionOfferPhaseConfig

Configuración de 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
  }
  // 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% por una fase de 3 meses correspondería a un precio de USD 1.50. El descuento debe especificarse 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 el equivalente en dólares estadounidenses). El descuento relativo se considera no válido si el precio con descuento resulta ser menor que el 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 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 absoluto de USD 1 para 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

Configurada para especificar que esta oferta es gratuita.

OtherRegionsSubscriptionOfferPhaseConfig

La configuración de las ubicaciones nuevas en las que se pueda lanzar Play 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
  }
  // 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% por una fase de 3 meses correspondería a un precio de USD 1.50. El descuento debe especificarse 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 el equivalente en dólares estadounidenses). El descuento relativo se considera no válido si el precio con descuento resulta ser 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 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 absoluto de USD 1 para 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 pueda lanzar Play.

free

object

Configurada para especificar que esta oferta es gratuita.

OtherRegionsSubscriptionOfferPhasePrices

Información de precios para ubicaciones nuevas en las que se pueda lanzar Play.

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

object (Money)

Obligatorio. Es el precio en USD que se puede usar en ubicaciones nuevas donde se pueda lanzar Play.

eurPrice

object (Money)

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

SubscriptionOfferTargeting

Define la regla que debe cumplir un usuario 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. Déjalo en blanco si el desarrollador es apto para la oferta. Las direcciones (rule) solo pueden ser una de las siguientes opciones:
acquisitionRule

object (AcquisitionTargetingRule)

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

upgradeRule

object (UpgradeTargetingRule)

Regla de segmentación de oferta para actualizar los planes existentes de los usuarios.

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 esta regla considera. Solo permite "esta suscripción" y "cualquier suscripción en la app".

TargetingRuleScope

Define el alcance de las suscripciones que una regla de segmentación puede establecer para segmentar las ofertas para los usuarios según 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 el período de facturación {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 la estableces como verdadera, los usuarios no podrán volver a ser aptos para esta oferta si alguna vez se suscribieron a ella.

scope

object (TargetingRuleScope)

Obligatorio. El alcance de las suscripciones que esta regla considera. Solo permite "esta suscripción" y "suscripción específica en la aplicación".

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 poder usar esta regla. Si no se especifica, se coincidirán 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 de región 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 estableces este valor como falso, no se cancelará la suscripción de los suscriptores existentes. Si no se especifica, el valor predeterminado será falso.

OtherRegionsSubscriptionOfferConfig

La configuración de cualquier ubicación nueva en la que se pueda lanzar Play se especifica en una oferta de suscripción.

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

boolean

Si la oferta de suscripción en ubicaciones nuevas podría lanzarse Play 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 oferta de suscripción nueva.

deactivate

Desactiva una oferta de suscripción.

delete

Borra una oferta de suscripción.

get

Lee una sola oferta

list

Muestra una lista de todas las ofertas de una suscripción determinada.

patch

Actualiza una oferta de suscripción existente.