- Ресурс: PlanStatus
- Методы
Ресурс: PlanStatus
PlanStatus содержит подробную информацию обо всех пакетах мобильных услуг верхнего уровня, приобретенных пользователем.
Представление JSON | |
---|---|
{ "name": string, "plans": [ { object ( |
Поля | |
---|---|
name | Имя ресурса PlanStatus в следующем формате: |
plans[] | Список планов, принадлежащих этому пользователю. |
languageCode | Необходимый. Код языка BCP-47, например «en-US» или «sr-Latn». Для получения дополнительной информации см. http://www.unicode.org/reports/tr35/#Unicode_locale_identifier . |
expireTime | Необходимый. Время, когда информация о группе общего плана устаревает. По истечении этого времени PlanStatus не будет передаваться приложениям. Отметка времени в формате RFC3339 UTC "Zulu" с точностью до наносекунд. Пример: |
updateTime | Необходимый. Время, когда агент плана данных (DPA) получил информацию о состоянии плана из серверных систем. Может использоваться для определения того, насколько актуальна информация о состоянии плана. Отметка времени в формате RFC3339 UTC "Zulu" с точностью до наносекунд. Пример: |
title | Название договора, заключенного пользователем с оператором. Это будет показано в заголовке пользовательского интерфейса. |
subscriberId | Уникальный стабильный идентификатор в системе оператора для идентификации пользователя. |
accountInfo | Требуется для пользователей с предоплатой. Информация о балансе учетной записи пользователя. |
uiCompatibility | Определяет, можно ли отображать PlanStatus пользователю в пользовательском интерфейсе. Если установлено значение UI_INCOMPATIBLE, PlanStatus может использоваться для отправки уведомлений пользователю, но не будет использоваться для отображения информации о плане пользователю. |
notifications[] | Типы уведомлений, отправленных пользователю. |
planInfoPerClient | |
План
Подробная информация о тарифном плане мобильной связи пользователя, который представляет собой пакет мобильных услуг верхнего уровня, приобретаемый подписчиком. План может быть таким простым, как «10 ГБ мобильных данных на 30 дней», или он может быть определен как набор компонентов (которые мы называем модулями плана). Например, план ACME 199, описываемый как «2 ГБ данных, неограниченное количество WhatsApp + неограниченное количество WeChat и 1 ГБ Spotify», содержит три модуля плана.
Представление JSON | |
---|---|
{ "planName": string, "planId": string, "planCategory": enum ( |
Поля | |
---|---|
planName | Название мобильного плана пользователя. |
planId | Необходимый. Идентификатор плана, используемый для ссылки на план во время предложений и т. д. |
planCategory | Тарифный план с предоплатой или постоплатой. |
expirationTime | Необходимый. Когда этот план истекает. Для большинства планов это должно быть равно максимальному сроку действия всех модулей плана. Для планов, которые периодически обновляют квоту модуля, это должно быть общее время истечения срока действия плана, время, когда модули плана перестают обновляться. Это поле следует опустить, если срок действия плана не истекает. Отметка времени в формате RFC3339 UTC "Zulu" с точностью до наносекунд. Пример: |
planModules[] | Подробная информация о модулях плана (подпланах). |
planState | Состояние пользовательского плана, например, активно, неактивно и т. д. |
ПланКатегория
Возможные типы категорий плана.
перечисления | |
---|---|
PLAN_CATEGORY_UNSPECIFIED | Неопределенные. |
PREPAID | План предоплаты. |
POSTPAID | Постоплатный план. |
ПланМодуль
Информация о каждом модуле плана данных (или подплане) внутри плана.
Представление JSON | |
---|---|
{ "coarseBalanceLevel": enum ( |
Поля | ||
---|---|---|
coarseBalanceLevel | Информация о грубом балансе. | |
trafficCategories[] | Список категорий трафика, которые будут тарифицироваться по этому модулю плана. | |
expirationTime | Необходимый. Запланируйте конкретное время истечения срока действия модуля. Для модулей плана с периодически обновляемой квотой это время следующего обновления модуля. Это поле следует опустить, если срок действия плана не истекает. Отметка времени в формате RFC3339 UTC "Zulu" с точностью до наносекунд. Пример: | |
overUsagePolicy | Политика чрезмерного использования, например, дросселирование. | |
maxRateKbps | Максимальная скорость передачи данных, разрешенная этим модулем плана, в кбит/с. Фактическая наблюдаемая скорость передачи данных находится в диапазоне от 0 до maxRateKbps в зависимости от условий сети. Если параметр maxRateKbps не указан или задан равным 0, это означает, что для этого модуля плана регулирование не выполняется. | |
description | Необходимый. Описание модуля плана может быть доступно пользователю и должно быть близко к рыночному описанию этого модуля плана. | |
moduleName | Необходимый. Имя модуля плана. | |
usedBytes | Общее количество байтов, использованных пользователем из этого модуля плана. | |
planModuleState | Состояние модуля плана, например, активное, неактивное и т. д. | |
refreshPeriod | Период обновления этого модуля плана или REFRESH_PERIOD_NONE, если модуль плана не обновляет свою квоту. Модули планирования, которые обновляют квоты, будут делать это один раз в каждый период обновления. | |
balance поля Союза. Необходимый. Информация о балансе модуля плана должна быть одной из следующих: byte_balance, time_balance,ough_balance_level. balance может быть только одним из следующих: | ||
byteBalance | Информация о балансе модуля плана на основе байтов. Для модулей, которые периодически обновляются, это поле представляет баланс байтов за период обновления. | |
timeBalance | Информация о балансе модуля плана на основе времени. Для модулей, которые периодически обновляются, это поле представляет баланс времени за период обновления. |
БайтКвота
Информация о квотах/балансе модуля плана в байтах.
Представление JSON | |
---|---|
{ "quotaBytes": string, "remainingBytes": string } |
Поля | |
---|---|
quotaBytes | Квота модуля в байтах. Для безлимитных планов это должно быть установлено на 2 ^ 63 - 1 (9223372036854775807). |
remainingBytes | Требуется для уведомлений о низком балансе. Остаток квоты в байтах. |
квота времени
Информация о квоте / балансе модуля плана на основе времени.
Представление JSON | |
---|---|
{ "quotaMinutes": string, "remainingMinutes": string } |
Поля | |
---|---|
quotaMinutes | Квота модуля в минутах для повременного плана, например, 180 минут. |
remainingMinutes | Остаток баланса квоты в минутах для повременного плана, например, 40 минут. |
Уровень баланса
Информация о балансе данных модуля грубого плана.
перечисления | |
---|---|
BALANCE_LEVEL_UNSPECIFIED | Неопределенные. |
NO_PLAN | Нет тарифного плана. |
OUT_OF_DATA | Баланс данных равен нулю. |
LOW_QUOTA | Баланс данных (или оставшееся время) равен или меньше 10-25% исходного баланса пакета (или времени). Перевозчики МОГУТ определять точный порог для каждого пакета по своему усмотрению. |
HIGH_QUOTA | Баланс данных (или оставшееся время) превышает 10-25% исходного баланса пакета (или времени). Перевозчики МОГУТ определять точный порог для каждого пакета по своему усмотрению. Баланс данных высокий. |
PlanModuleTrafficCategory
Категория трафика модуля плана, которая описывает набор трафика приложения, попадающего в конкретный модуль плана.
перечисления | |
---|---|
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED | Неопределенные. |
GENERIC | Общий, применяется ко всему трафику. |
VIDEO | Весь видео трафик. |
VIDEO_BROWSING | Трафик обнаружения (просмотра) видео, который относится ко всему трафику видеоприложений, за исключением части потоковой передачи видео/аудио. |
VIDEO_OFFLINE | Автономный видеотрафик, который представляет собой сумму VIDEO_BROWSING и видео/аудио офлайн-трафика (не потокового). |
MUSIC | Трафик музыкального приложения. |
GAMING | Трафик игровых приложений. |
SOCIAL | Трафик социальных приложений. |
MESSAGING | Трафик мессенджера. |
APP_STORE | Трафик магазина приложений, например обновление или загрузка нового приложения. |
OverUsagePolicy
Политика чрезмерного использования: что происходит, когда у пользователя заканчивается квота.
перечисления | |
---|---|
OVER_USAGE_POLICY_UNSPECIFIED | Неопределенные. |
THROTTLED | Скорость занижена. |
BLOCKED | Соединение заблокировано. |
PAY_AS_YOU_GO | Оплата за использование. |
ПланСостояние
Перечисление, представляющее различное состояние пользовательского плана/модуля плана.
перечисления | |
---|---|
ACTIVE | Plan/PlanModule активен, и пользователь может использовать данные, предлагаемые как часть модуля. |
INACTIVE | Модуль Plan/Plan неактивен, и пока у пользователя все еще есть модуль, пользователь не может использовать данные, являющиеся частью модуля. Это может произойти, если модуль предлагает данные только в определенное время дня или если пользователь приобрел модуль, но он еще не активирован. |
EXPIRING_SOON | Срок действия Plan/PlanModule скоро истечет. Вызывающий должен выбрать соответствующий уровень для определения того, когда устанавливать это значение. Это автоматически означает, что план активен. |
NEWLY_ACTIVE | Plan/PlanModule, который ранее был неактивным или несуществующим, только что был активирован. Это состояние следует использовать только в течение очень короткого периода после времени активации, в противном случае вместо него следует использовать состояние АКТИВНО. Уведомления о статусе тарифного плана, отправляемые с модулями NEWLY_ACTIVE, следует отправлять с коротким TTL, так как статус NEWLY_ACTIVE очень быстро станет неточным. |
EXPIRED | Срок действия плана/планмодуля истек. Установка этого значения перечисления активирует уведомление об истечении срока действия плана. |
ОбновитьПериод
Представляет период обновления, регулярный интервал, через который модуль плана сбрасывается.
перечисления | |
---|---|
REFRESH_PERIOD_NONE | Нет периода обновления. Используется, когда модуль плана не повторяется. |
DAILY | Модуль плана сбрасывается каждый день. |
MONTHLY | Модуль плана сбрасывается каждый месяц. |
BIWEEKLY | Модуль плана сбрасывается каждые две недели. |
WEEKLY | Модуль плана сбрасывается каждую неделю. |
Информация об аккаунте
Информация о балансе предоплаченного счета пользователя.
Представление JSON | |
---|---|
{ "accountBalance": { object ( |
Поля | |
---|---|
accountBalance | Необходимый. Баланс учетной записи, остающийся на учетной записи пользователя. |
loanBalance | Требуется, если применимо. Баланс учетной записи, остающийся на учетной записи пользователя, который был добавлен за счет денежного займа от оператора. Поле accountBalance, если оно присутствует, не включает этот баланс. |
unpaidLoan | Сумма денег, которую пользователь должен перевозчику из-за денежных займов. |
accountBalanceStatus | Необходимый. Показывает состояние баланса счета. В случае несоответствия между временем validUntil и полем accountBalanceStatus мы используем accountBalanceStatus. |
validUntil | Необходимый. Время, до которого действителен баланс счета. Это поле будет использоваться для отображения «Недействительно в Отметка времени в формате RFC3339 UTC "Zulu" с точностью до наносекунд. Пример: |
payAsYouGoCharge | Сумма денег, которую пользователь потратил, используя план с оплатой по мере использования. Если это поле заполняется перевозчиком при обмене информацией об учетной записи с GTAF, GTAF попытается отправить пользователю уведомление о том, что он тратит деньги в режиме оплаты по мере использования. |
accountTopUp | Требуется для уведомления о пополнении счета. Сумма денег, которую пользователь добавил на баланс своего аккаунта. Если это поле заполнено перевозчиком при обмене информацией об учетной записи с GTAF, GTAF попытается отправить пользователю уведомление о том, что его учетная запись была пополнена. |
Деньги
Представляет денежную сумму с ее типом валюты.
Представление JSON | |
---|---|
{ "currencyCode": string, "units": string, "nanos": number } |
Поля | |
---|---|
currencyCode | Трехбуквенный код валюты, определенный в ISO 4217. |
units | Целые единицы суммы. Например, если |
nanos | Количество нано (10^-9) единиц суммы. Значение должно находиться в диапазоне от -999 999 999 до +999 999 999 включительно. Если |
Состояние Баланса Аккаунта
Состояние кошелька пользователя.
перечисления | |
---|---|
VALID | Баланс учетной записи пользователя действителен и может быть использован для совершения покупок. |
INVALID | Баланс учетной записи пользователя недействителен и не может быть использован без внесения изменений в учетную запись. |
UiСовместимость
Перечисление, указывающее, можно ли показать пользователю совместно используемый PlanStatus.
перечисления | |
---|---|
UI_COMPATIBILITY_UNSPECIFIED | По умолчанию предполагается, что PlanStatus совместим с пользовательским интерфейсом. |
UI_COMPATIBLE | Указывает, что весь PlanStatus совместим с пользовательским интерфейсом, и информация о плане может быть показана пользователю. |
UI_INCOMPATIBLE | Указывает, что PlanStatus не совместим с пользовательским интерфейсом. Поля можно использовать для отправки уведомлений пользователю, но нельзя использовать для отображения информации о плане пользователю. |
тип уведомления
Тип уведомления, отправляемого пользователю настроек тарифного плана мобильной передачи данных.
перечисления | |
---|---|
NOTIFICATION_UNDEFINED | Неизвестный тип жанра уведомления |
NOTIFICATION_LOW_BALANCE_WARNING | Уведомление, которое предупреждает пользователей о низком балансе |
NOTIFICATION_DATA_EXPIRATION_WARNING | Уведомление, предупреждающее пользователей об истечении срока действия тарифного плана |
NOTIFICATION_OUT_OF_DATA | Уведомление о том, что у пользователей закончились данные |
NOTIFICATION_PLAN_ACTIVATION | Уведомление о том, что приобретенный пользователем план теперь активен |
NOTIFICATION_PAY_AS_YOU_GO | Уведомление, информирующее пользователя о том, что он платит за данные в состоянии оплаты по мере использования. |
NOTIFICATION_ACCOUNT_TOP_UP | Уведомление, информирующее пользователя о том, что он пополнил баланс своего счета. |
NOTIFICATION_DATA_EXPIRED | Уведомление, информирующее пользователя о том, что срок действия его тарифного плана истек. |
ПланИнфоПерКлиент
Информация о тарифных планах, относящаяся к конкретному клиенту Google.
Представление JSON | |
---|---|
{
"youtube": {
object ( |
Поля | |
---|---|
youtube | Информация о плане YouTube. |
YouTube
Информация о тарифном плане, имеющая отношение к YouTube.
Представление JSON | |
---|---|
{
"rateLimitedStreaming": {
object ( |
Поля | |
---|---|
rateLimitedStreaming | Функция YouTube Plan Aware Streaming (PAS), ограничивающая битрейт доставляемого видео. |
RateLimitedStreaming
Информация о тарифном плане, позволяющая YouTube улучшить качество потоковой передачи с ограниченной скоростью.
Представление JSON | |
---|---|
{ "maxMediaRateKbps": number } |
Поля | |
---|---|
maxMediaRateKbps | Битрейт YouTube, поддерживаемый для этого пользователя, в кбит/с (тысячи бит в секунду). |
Методы | |
---|---|
| Позволяет оператору мобильной связи (определяемому своим уникальным номером автономной системы (ASN)) добавлять новую запись PlanStatus для пользователя, который будет использоваться конкретным клиентом. |