REST Resource: monetization.subscriptions.basePlans.offers

Ressource : SubscriptionOffer

Une seule offre temporaire

Représentation 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)
    }
  ]
}
Champs
packageName

string

Obligatoire. Immuable. Nom du package de l'application à laquelle appartient l'abonnement parent.

productId

string

Obligatoire. Immuable. ID de l'abonnement parent auquel cette offre appartient.

basePlanId

string

Obligatoire. Immuable. ID du forfait de base dont cette offre est une extension.

offerId

string

Obligatoire. Immuable. Identifiant unique de cette offre d'abonnement. Doit être unique dans le forfait de base.

state

enum (State)

Uniquement en sortie. État actuel de cette offre. Peut être modifié à l'aide des actions "Activer" et "Désactiver". Remarque : L'état du forfait de base remplace cet état. Par conséquent, une offre active peut ne pas être disponible si le forfait de base n'est pas actif.

phases[]

object (SubscriptionOfferPhase)

Obligatoire. Phases de cette offre d'abonnement. Doit contenir au moins une entrée et au maximum deux. Les utilisateurs recevront toujours toutes ces phases dans l'ordre spécifié.

targeting

object (SubscriptionOfferTargeting)

Conditions que les utilisateurs doivent remplir pour bénéficier de cette offre. Représente les exigences que Play évaluera pour décider si une offre doit être renvoyée. Les développeurs peuvent filtrer eux-mêmes ces offres.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Obligatoire. Configuration spécifique à la région de cette offre. Doit contenir au moins une entrée.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Configuration pour les nouveaux pays où Play pourrait être lancé à l'avenir.

offerTags[]

object (OfferTag)

Liste de 20 balises personnalisées maximum spécifiées pour cette offre et renvoyées à l'application via la bibliothèque Billing.

État

État actuel de l'offre d'abonnement.

Enums
STATE_UNSPECIFIED Valeur par défaut, ne doit jamais être utilisée.
DRAFT L'offre d'abonnement n'est pas et n'a jamais été disponible pour les utilisateurs.
ACTIVE L'offre d'abonnement est disponible pour les nouveaux utilisateurs et les utilisateurs existants.
INACTIVE L'offre d'abonnement n'est pas disponible pour les nouveaux utilisateurs. Les utilisateurs existants conservent l'accès.

SubscriptionOfferPhase

Une seule phase d'une offre d'abonnement.

Représentation JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Champs
recurrenceCount

integer

Obligatoire. Nombre de fois où cette phase se répète. Si cette phase de l'offre n'est pas sans frais, l'utilisateur est facturé du prix de cette phase de l'offre à chaque récurrence.

duration

string

Obligatoire. Durée d'une seule occurrence de cette phase. Spécifié au format ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Obligatoire. Configuration spécifique à la région de cette phase de l'offre. Cette liste doit contenir exactement une entrée pour chaque région pour laquelle l'offre d'abonnement dispose d'une configuration régionale.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Informations tarifaires pour les nouveaux pays dans lesquels Play pourrait être lancé.

RegionalSubscriptionOfferPhaseConfig

Configuration d'une phase unique d'une offre d'abonnement dans une seule région.

Représentation JSON
{
  "regionCode": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
Champs
regionCode

string

Obligatoire. Immuable. Région à laquelle cette configuration s'applique.

Remplacement du prix de cette phase. Obligatoire. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
price

object (Money)

Prix absolu que l'utilisateur paie pour cette phase de l'offre. Le prix ne doit pas être inférieur au prix minimal autorisé pour cette région.

relativeDiscount

number

Pourcentage de remise soustrait du prix du forfait de base au prorata de la durée de la phase, spécifié sous la forme d'une fraction strictement supérieure à 0 et strictement inférieure à 1. Par exemple, une valeur de 0.8 représente une remise de 80 %, ce qui signifie que si le prix du forfait de base au prorata est de 100 $, le prix de l'offre sera de 20 $. Le prix obtenu sera arrondi à l'unité facturable la plus proche (par exemple, les centimes pour les USD). La remise relative est considérée comme non valide si le prix remisé est inférieur au prix minimal autorisé dans cette région.

absoluteDiscount

object (Money)

Montant absolu soustrait du prix du forfait de base, calculé au prorata de la durée de la phase. Par exemple, si le prix du forfait de base pour cette région est de 12 $ pour une période d'un an, une remise absolue de 1 $ pour une phase d'une durée de trois mois correspondrait à un prix de 2 $. Le prix obtenu ne peut pas être inférieur au prix minimal autorisé pour cette région.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Définissez cette option pour indiquer que cette offre est sans frais.

Fin des champs mutuellement exclusifs.

RegionalSubscriptionOfferPhaseFreePriceOverride

Ce type ne comporte aucun champ.

Représente la configuration de remplacement du prix par un prix nul pour une seule phase d'une offre d'abonnement.

OtherRegionsSubscriptionOfferPhaseConfig

Configuration pour toutes les nouvelles zones géographiques dans lesquelles Play peut être lancé pour une seule phase d'offre.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
Champs
Remplacement du prix de cette phase. Obligatoire. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Prix absolu que l'utilisateur paie pour cette phase de l'offre. Le prix ne doit pas être inférieur au prix minimal autorisé pour les nouveaux pays dans lesquels Play pourrait être lancé.

relativeDiscount

number

Pourcentage de remise soustrait du prix du forfait de base au prorata de la durée de la phase, spécifié sous la forme d'une fraction strictement supérieure à 0 et strictement inférieure à 1. Par exemple, une valeur de 0.8 représente une remise de 80 %, ce qui signifie que si le prix du forfait de base au prorata est de 100 $, le prix de l'offre sera de 20 $. Le prix obtenu sera arrondi à l'unité facturable la plus proche (par exemple, les centimes pour les USD). La remise relative est considérée comme non valide si le prix réduit est inférieur au prix minimal autorisé dans les nouveaux pays où Play pourrait être lancé.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Montant absolu soustrait du prix du forfait de base, calculé au prorata de la durée de la phase. Par exemple, si le prix du forfait de base pour cette région est de 12 $ pour une période d'un an, une remise absolue de 1 $ pour une phase d'une durée de trois mois correspondrait à un prix de 2 $. Le prix obtenu ne peut pas être inférieur au prix minimal autorisé pour les nouveaux pays dans lesquels Play pourrait être lancé.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Définissez cette option pour indiquer que cette offre est sans frais.

Fin des champs mutuellement exclusifs.

OtherRegionsSubscriptionOfferPhasePrices

Informations tarifaires pour les nouveaux pays dans lesquels Play pourrait être lancé.

Représentation JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Champs
usdPrice

object (Money)

Obligatoire. Prix en USD à utiliser pour les nouveaux pays dans lesquels Play pourrait être lancé.

eurPrice

object (Money)

Obligatoire. Prix en EUR à utiliser pour les nouveaux pays dans lesquels Play pourrait être lancé.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Ce type ne comporte aucun champ.

Représente la configuration de remplacement du prix par un prix nul pour tout nouveau pays où Play peut lancer une phase d'offre unique.

SubscriptionOfferTargeting

Définit la règle qu'un utilisateur doit respecter pour recevoir cette offre.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of mutually exclusive fields.
}
Champs
Laissez ce champ vide pour que l'éligibilité à l'offre soit déterminée par le développeur. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
acquisitionRule

object (AcquisitionTargetingRule)

Règle de ciblage des offres pour l'acquisition de nouveaux utilisateurs.

upgradeRule

object (UpgradeTargetingRule)

Règle de ciblage des offres pour mettre à niveau les forfaits existants des utilisateurs.

Fin des champs mutuellement exclusifs.

AcquisitionTargetingRule

Représente une règle de ciblage de la forme : l'utilisateur n'a jamais eu {scope} auparavant.

Représentation JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Champs
scope

object (TargetingRuleScope)

Obligatoire. Champ d'application des abonnements pris en compte par cette règle. Seules les options "cet abonnement" et "tout abonnement dans l'application" sont autorisées.

TargetingRuleScope

Définit le champ d'application des abonnements auxquels une règle de ciblage peut correspondre pour cibler les offres auprès des utilisateurs en fonction de leurs droits d'accès passés ou actuels.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of mutually exclusive fields.
}
Champs
Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
thisSubscription

object (TargetingRuleScopeThisSubscription)

La portée de la règle de ciblage actuelle est l'abonnement dans lequel cette offre est définie.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

Le champ d'application de la règle de ciblage actuelle est n'importe quel abonnement de l'application parente.

specificSubscriptionInApp

string

La règle de ciblage actuelle s'applique à l'abonnement associé à l'ID d'abonnement spécifié. Il doit s'agir d'un abonnement dans la même application parente.

Fin des champs mutuellement exclusifs.

TargetingRuleScopeThisSubscription

Ce type ne comporte aucun champ.

Représente le champ d'application de la règle de ciblage correspondant aux abonnements dans lesquels cette offre est définie.

TargetingRuleScopeAnySubscriptionInApp

Ce type ne comporte aucun champ.

Représente le champ d'application de la règle de ciblage correspondant à n'importe quel abonnement dans l'application parente.

UpgradeTargetingRule

Représente une règle de ciblage au format suivant : l'utilisateur dispose actuellement de {scope} [avec la période de facturation {billingPeriod}].

Représentation JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Champs
oncePerUser

boolean

Limitez cette offre à une seule utilisation par utilisateur. Si la valeur est "true", un utilisateur ne pourra plus jamais bénéficier de cette offre s'il y a déjà souscrit.

scope

object (TargetingRuleScope)

Obligatoire. Champ d'application des abonnements pris en compte par cette règle. Seules les options "cet abonnement" et "abonnement spécifique dans l'application" sont autorisées.

billingPeriodDuration

string

Durée de la période de facturation spécifique, spécifiée au format ISO 8601, à laquelle un utilisateur doit être actuellement abonné pour être éligible à cette règle. Si aucune valeur n'est spécifiée, toutes les périodes de facturation sont éligibles.

RegionalSubscriptionOfferConfig

Configuration d'une offre d'abonnement dans une seule région.

Représentation JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Champs
regionCode

string

Obligatoire. Immuable. Code de la région à laquelle cette configuration s'applique, tel que défini par la norme ISO 3166-2 (par exemple, "US").

newSubscriberAvailability

boolean

Indique si l'offre d'abonnement dans la région spécifiée est disponible pour les nouveaux abonnés. Si cette valeur est définie sur "false", l'abonnement des abonnés existants ne sera pas résilié. Si aucune valeur n'est spécifiée, la valeur par défaut est "false".

OtherRegionsSubscriptionOfferConfig

Configuration pour les nouveaux pays dans lesquels Play pourrait se lancer, spécifiée dans une offre d'abonnement.

Représentation JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Champs
otherRegionsNewSubscriberAvailability

boolean

Si l'offre d'abonnement est disponible dans les nouveaux pays où Play pourrait être lancé à l'avenir. Si aucune valeur n'est spécifiée, la valeur par défaut est "false".

Méthodes

activate

Active une offre d'abonnement.

batchGet

Lit une ou plusieurs offres d'abonnement.

batchUpdate

Met à jour un lot d'offres d'abonnement.

batchUpdateStates

Met à jour un lot d'états d'offres d'abonnement.

create

Crée une offre d'abonnement.

deactivate

Désactive une offre d'abonnement.

delete

Supprime une offre d'abonnement.

get

Lit une seule offre

list

Répertorie toutes les offres d'un abonnement donné.

patch

Met à jour une offre d'abonnement existante.

Codes d'erreur

Les opérations de cette ressource renvoient les codes d'erreur HTTP suivants :

Code d'erreur Motif Description Solution