REST Resource: monetization.subscriptions.basePlans.offers

Ресурс SubscriptionOffer

Одно временное предложение

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)
    }
  ]
}
Поля
packageName

string

Обязательно. Не меняется. Название пакета приложения, к которому относится родительская подписка.

productId

string

Обязательно. Не меняется. Идентификатор родительской подписки, к которой относится предложение.

basePlanId

string

Обязательно. Не меняется. Идентификатор основного плана, к которому относится это предложение.

offerId

string

Обязательно. Не меняется. Уникальный идентификатор этого специального предложения. У каждого специального предложения должен быть уникальный идентификатор.

state

enum (State)

Только для вывода. Текущий статус предложения. Его можно изменить с помощью действий "Активировать" и "Деактивировать". Примечание. Статус основного плана имеет приоритет над статусом специального предложения, поэтому активное предложение может быть недоступно, если основной план неактивен.

phases[]

object (SubscriptionOfferPhase)

Обязательно. Этапы этого предложения подписки. Должно содержать от одной до двух записей. Пользователи всегда будут проходить все эти этапы в указанном порядке.

targeting

object (SubscriptionOfferTargeting)

Требования, которые должны выполнить пользователи, чтобы воспользоваться предложением. Требования, которые Google Play будет оценивать, чтобы решить, нужно ли возвращать специальное предложение. Разработчики могут дополнительно фильтровать эти предложения.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Обязательно. Региональная конфигурация этого предложения. Должно содержать хотя бы одну запись.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Конфигурация для новых регионов, которые Google Play может поддерживать в будущем.

offerTags[]

object (OfferTag)

Список, содержащий до 20 специальных тегов, которые указаны для этого специального предложения и возвращаются в приложение через библиотеку Google Play Платежей.

Штат

Текущий статус специального предложения.

Перечисления
STATE_UNSPECIFIED Значение по умолчанию, которое не должно использоваться.
DRAFT Предложение подписки недоступно и никогда не было доступно пользователям.
ACTIVE Предложение доступно новым и существующим пользователям.
INACTIVE Специальное предложение недоступно новым пользователям. Существующие пользователи сохранят доступ.

SubscriptionOfferPhase

Один этап специального предложения.

JSON-представление
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Поля
recurrenceCount

integer

Обязательно. Количество повторений этого этапа. Если этап не бесплатный, то при каждом повторении с пользователя будет списываться его стоимость.

duration

string

Обязательно. Продолжительность одного повторения этого этапа. Указывается в формате ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Обязательно. Региональная конфигурация этого этапа специального предложения. Этот список должен содержать ровно одну запись для каждого региона, для которого в специальном предложении есть региональная конфигурация.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Информация о ценах для новых регионов, в которых может быть запущен Google Play.

RegionalSubscriptionOfferPhaseConfig

Конфигурация для одного этапа специального предложения в одном регионе.

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.
}
Поля
regionCode

string

Обязательно. Не меняется. Регион, к которому применяется эта конфигурация.

Переопределение цены для этого этапа. Обязательно. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
price

object (Money)

Абсолютная цена, которую пользователь платит за этот этап специального предложения. Цена не должна быть ниже минимальной цены, разрешенной для этого региона.

relativeDiscount

number

Процент скидки, вычитаемый из цены основного плана, пропорционально распределенный по продолжительности этапа, указанный в виде доли, строго большей 0 и строго меньшей 1. Например, значение 0.8 означает скидку 80 %. Если пропорциональная цена основного плана составляет 100 долларов США, то цена по специальному предложению будет равна 20 долларам США. Полученная цена будет округлена до ближайшей платежной единицы (например, до центов для долларов США). Относительная скидка считается недействительной, если цена со скидкой оказывается меньше минимальной цены, разрешенной в этом регионе.

absoluteDiscount

object (Money)

Абсолютная сумма, вычитаемая из цены основного плана, пропорционально распределенная по продолжительности этапа. Например, если цена основного плана для этого региона составляет 12 долларов США за 1 год, то абсолютная скидка в размере 1 доллара США для периода продолжительностью 3 месяца будет соответствовать цене 2 доллара США. Итоговая цена не может быть меньше минимальной цены, разрешенной для этого региона.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Укажите, что предложение бесплатное.

Конец взаимоисключающих полей.

RegionalSubscriptionOfferPhaseFreePriceOverride

У этого типа нет полей.

Представляет конфигурацию переопределения бесплатной цены для одного этапа специального предложения.

OtherRegionsSubscriptionOfferPhaseConfig

Настройка для новых регионов, в которых Google Play может запустить одну фазу специального предложения.

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.
}
Поля
Переопределение цены для этого этапа. Обязательно. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Абсолютная цена, которую пользователь платит за этот этап специального предложения. Цена не должна быть ниже минимальной цены, разрешенной для новых регионов, в которых может быть запущен Google Play.

relativeDiscount

number

Процент скидки, вычитаемый из цены основного плана, пропорционально распределенный по продолжительности этапа, указанный в виде доли, строго большей 0 и строго меньшей 1. Например, значение 0.8 означает скидку 80 %. Если пропорциональная цена основного плана составляет 100 долларов США, то цена по специальному предложению будет равна 20 долларам США. Полученная цена будет округлена до ближайшей платежной единицы (например, до центов для долларов США). Относительная скидка считается недействительной, если цена со скидкой оказывается меньше минимальной цены, разрешенной в любом новом регионе, в котором может быть запущен Google Play.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Абсолютная сумма, вычитаемая из цены основного плана, пропорционально распределенная по продолжительности этапа. Например, если цена основного плана для этого региона составляет 12 долларов США за 1 год, то абсолютная скидка в размере 1 доллара США для периода продолжительностью 3 месяца будет соответствовать цене 2 доллара США. Итоговая цена не может быть меньше минимальной цены, разрешенной для новых регионов, в которых может быть запущен Google Play.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Укажите, что предложение бесплатное.

Конец взаимоисключающих полей.

OtherRegionsSubscriptionOfferPhasePrices

Информация о ценах для новых регионов, в которых может быть запущен Google Play.

JSON-представление
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Поля
usdPrice

object (Money)

Обязательно. Цена в долларах США, которая будет использоваться в новых странах, где станет доступен Google Play.

eurPrice

object (Money)

Обязательно. Цена в евро, которая будет использоваться для новых регионов, где может появиться Google Play.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

У этого типа нет полей.

Представляет конфигурацию переопределения цены для новых регионов, в которых Google Play может запустить этап специального предложения.

SubscriptionOfferTargeting

Определяет правило, которому должен соответствовать пользователь, чтобы получить это предложение.

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.
}
Поля
Если оставить поле пустым, соответствие требованиям будет определять разработчик. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
acquisitionRule

object (AcquisitionTargetingRule)

Правило таргетинга специальных предложений для привлечения новых пользователей.

upgradeRule

object (UpgradeTargetingRule)

Правило таргетинга специальных предложений для пользователей, которые хотят перейти на более дорогой план.

Конец взаимоисключающих полей.

AcquisitionTargetingRule

Представляет правило таргетинга в форме: у пользователя никогда не было {scope}.

JSON-представление
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Поля
scope

object (TargetingRuleScope)

Обязательно. Область действия подписок, к которым применяется это правило. Доступны только варианты "Эта подписка" и "Любая подписка в приложении".

TargetingRuleScope

Определяет область действия подписок, которым может соответствовать правило таргетинга, чтобы предлагать пользователям специальные предложения на основе прошлых или текущих прав.

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.
}
Поля
Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
thisSubscription

object (TargetingRuleScopeThisSubscription)

Область действия текущего правила таргетинга – подписка, в которой определено это специальное предложение.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

Область действия текущего правила таргетинга – любая подписка в родительском приложении.

specificSubscriptionInApp

string

Область действия текущего правила таргетинга – подписка с указанным идентификатором. Подписка должна быть в том же родительском приложении.

Конец взаимоисключающих полей.

TargetingRuleScopeThisSubscription

У этого типа нет полей.

Представляет область действия правила таргетинга, соответствующую подпискам, в которых определено это предложение.

TargetingRuleScopeAnySubscriptionInApp

У этого типа нет полей.

Область действия правила таргетинга, соответствующая любой подписке в родительском приложении.

UpgradeTargetingRule

Представляет правило таргетинга в форме: у пользователя сейчас есть {scope} [с расчетным периодом {billingPeriod}].

JSON-представление
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Поля
oncePerUser

boolean

Ограничить предложение одним разом на пользователя. Если установлено значение True, пользователь, который уже оформлял подписку по этому специальному предложению, не сможет воспользоваться им снова.

scope

object (TargetingRuleScope)

Обязательно. Область действия подписок, к которым применяется это правило. Доступны только варианты "Эта подписка" и "Определенная подписка в приложении".

billingPeriodDuration

string

Продолжительность расчетного периода в формате ISO 8601, которая должна быть у пользователя, чтобы он мог воспользоваться этим правилом. Если не указано, то право на обновление получат пользователи со всеми вариантами расчетного периода.

RegionalSubscriptionOfferConfig

Конфигурация специального предложения для одного региона.

JSON-представление
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Поля
regionCode

string

Обязательно. Не меняется. Код региона, к которому применяется эта конфигурация, в соответствии со стандартом ISO 3166-2, например "US".

newSubscriberAvailability

boolean

Доступно ли предложение в указанном регионе для новых подписчиков. Если задано значение false, подписки существующих подписчиков не будут отменены. Если значение не указано, по умолчанию используется false.

OtherRegionsSubscriptionOfferConfig

Конфигурация для новых регионов, в которых Google Play может запустить специальное предложение.

JSON-представление
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Поля
otherRegionsNewSubscriberAvailability

boolean

Будет ли предложение доступно в новых регионах, которые со временем станут поддерживаться в Google Play. Если значение не указано, по умолчанию используется false.

Методы

activate

Активирует специальное предложение.

batchGet

Считывает одно или несколько специальных предложений.

batchUpdate

Обновляет пакет специальных предложений.

batchUpdateStates

Обновляет группу статусов специальных предложений.

create

Создает специальное предложение.

deactivate

Деактивирует специальное предложение.

delete

Удаляет специальное предложение.

get

Считывает одно предложение.

list

Список всех специальных предложений в рамках подписки.

patch

Обновляет существующее специальное предложение.

Коды ошибок

Операции этого ресурса возвращают следующие коды ошибок HTTP:

Код ошибки Причина Описание Разрешение