REST Resource: operators.clients.users.planStatus

リソース: PlanStatus

PlanStatus には、ユーザーが購入したすべてのトップレベルのモバイル サービス パッケージの詳細が含まれます。

JSON 表現
{
  "name": string,
  "plans": [
    {
      object (Plan)
    }
  ],
  "languageCode": string,
  "expireTime": string,
  "updateTime": string,
  "title": string,
  "subscriberId": string,
  "accountInfo": {
    object (AccountInfo)
  },
  "uiCompatibility": enum (UiCompatibility),
  "notifications": [
    enum (NotificationType)
  ],
  "planInfoPerClient": {
    object (PlanInfoPerClient)
  },
  "cpidState": enum (CpidState)
}
フィールド
name

string

PlanStatus のリソース名。次の形式になります。operators/{asn_id}/planStatuses/{userKey}PlanStatus エントリの作成時に、この名前は無視されます。

plans[]

object (Plan)

このユーザーが所有するプランのリスト。

languageCode

string

必須。「en-US」や「sr-Latn」などの BCP-47 言語コード。詳しくは、http://www.unicode.org/reports/tr35/#Unicode_locale_identifier をご覧ください。

expireTime

string (Timestamp format)

必須。共有プラン グループの情報が古くなる時刻。この時間以降、PlanStatus はアプリケーションに提供されなくなります。有効期限は将来の日付にする必要があります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

必須。データプラン エージェント(DPA)がバックエンド システムからプランのステータス情報を取得した時刻。プランのステータス情報の最新度を判断するために使用できます。更新時間は過去のものでなければなりませんが、30 日以上前のものにすることはできません。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

title

string

ユーザーが携帯通信会社と結んでいる契約のタイトル。これは UI ヘッダーに表示されます。

subscriberId

string

ユーザーを識別するための、携帯通信会社のシステム内の一意の安定した識別子。

accountInfo

object (AccountInfo)

プリペイド ユーザーに必要です。ユーザー アカウントの残高に関する情報。

uiCompatibility

enum (UiCompatibility)

PlanStatus をユーザー インターフェースでユーザーに表示できるかどうかを判断します。UI_INCOMPATIBLE に設定すると、PlanStatus はユーザーへの通知の送信に使用できますが、ユーザーへのプラン情報の表示には使用されません。

notifications[]

enum (NotificationType)

GTAF からユーザーに送信される通知の種類のリストが含まれます。呼び出し元によってこのフィールドが入力された場合、GTAF はこのフィールドを無視します。

planInfoPerClient

object (PlanInfoPerClient)

特定の Google クライアントに関連するデータプラン情報。

cpidState

enum (CpidState)

このプランのステータスに関連付けられている CPID のステータス。

計画

ユーザーのモバイル プランの詳細。これは、加入者が購入する最上位のモバイル サービス パッケージです。プランは「30 日間 10 GB のモバイルデータ」のように単純なものにすることも、コンポーネントのコレクション(プラン モジュール)として定義することもできます。たとえば、「2 GB のデータ、WhatsApp と WeChat の無制限利用、Spotify の 1 GB 利用」と説明されている ACME プラン 199 には、3 つのプラン モジュールが含まれています。

JSON 表現
{
  "planName": string,
  "planId": string,
  "planCategory": enum (PlanCategory),
  "expirationTime": string,
  "planModules": [
    {
      object (PlanModule)
    }
  ],
  "planState": enum (PlanState)
}
フィールド
planName

string

ユーザーのモバイル プランの名前。

planId

string

必須。プラン ID。特典などでプランを参照するために使用されます。

planCategory

enum (PlanCategory)

プリペイド プランまたはポストペイド プラン。

expirationTime

string (Timestamp format)

必須。このプランの有効期限。ほとんどのプランでは、これはすべてのプラン モジュール固有の有効期限の最大値と等しくなります。モジュールの割り当てを定期的に更新するプランの場合、これはプラン全体の有効期限、つまりプラン モジュールの更新が停止する時間です。プランに有効期限がない場合は、このフィールドを省略する必要があります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

planModules[]

object (PlanModule)

プラン モジュール(サブプラン)の詳細情報。

planState

enum (PlanState)

ユーザー プランの状態(有効、無効など)。

PlanCategory

プランのカテゴリ タイプ。

列挙型
PLAN_CATEGORY_UNSPECIFIED (指定なし)
PREPAID プリペイド プラン。
POSTPAID 後払いプラン。

PlanModule

プラン内の各データプラン モジュール(またはサブプラン)の情報。

JSON 表現
{
  "coarseBalanceLevel": enum (BalanceLevel),
  "trafficCategories": [
    enum (PlanModuleTrafficCategory)
  ],
  "expirationTime": string,
  "overUsagePolicy": enum (OverUsagePolicy),
  "maxRateKbps": string,
  "description": string,
  "moduleName": string,
  "usedBytes": string,
  "planModuleState": enum (PlanState),
  "refreshPeriod": enum (RefreshPeriod),

  // Union field balance can be only one of the following:
  "byteBalance": {
    object (ByteQuota)
  },
  "timeBalance": {
    object (TimeQuota)
  }
  // End of list of possible types for union field balance.
}
フィールド
coarseBalanceLevel

enum (BalanceLevel)

大まかな残高情報。

trafficCategories[]

enum (PlanModuleTrafficCategory)

このプラン モジュールに対して課金されるトラフィック カテゴリのリスト。

expirationTime

string (Timestamp format)

必須。プラン モジュール固有の有効期限。割り当てが定期的に更新されるプラン モジュールの場合、これは次のモジュール更新の時刻です。プラン モジュールに有効期限がない場合は、このフィールドを省略する必要があります。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

overUsagePolicy

enum (OverUsagePolicy)

使用量超過ポリシー(制限など)。

maxRateKbps

string (int64 format)

このプラン モジュールで許可される最大データレート(Kbps)。実際に観測されるデータレートは、ネットワークの状態に応じて 0 ~ maxRateKbps の範囲になります。maxRateKbps を省略するか 0 に設定すると、このプラン モジュールに対してスロットリングは行われません。

description

string

必須。プラン モジュールの説明。ユーザーに表示される可能性があり、このプラン モジュールの市場向けの説明に近いものにする必要があります。

moduleName

string

必須。プラン モジュールの名前。

usedBytes

string (int64 format)

このプラン モジュールからユーザーが使用した合計バイト数。

planModuleState

enum (PlanState)

プラン モジュールの状態(有効、無効など)。

refreshPeriod

enum (RefreshPeriod)

このプラン モジュールの更新期間。プラン モジュールが割り当てを更新しない場合は REFRESH_PERIOD_NONE。割り当てを更新するプラン モジュールは、更新期間ごとに 1 回更新します。

共用体フィールド balance。必須。プラン モジュールの残高情報。byte_balance、time_balance、coarse_balance_level のいずれかである必要があります。balance は次のいずれかになります。
byteBalance

object (ByteQuota)

バイトベースのプラン モジュールの残高情報。定期的に更新されるモジュールの場合、このフィールドは更新期間ごとのバイト残高を表します。

timeBalance

object (TimeQuota)

時間ベースのプラン モジュールの残高情報。定期的に更新されるモジュールの場合、このフィールドは更新期間ごとの時間残高を表します。

ByteQuota

バイトベースのプラン モジュールの割り当て/残高情報。

JSON 表現
{
  "quotaBytes": string,
  "remainingBytes": string
}
フィールド
quotaBytes

string (int64 format)

モジュールの割り当て(バイト単位)。無制限プランの場合は、2^63 - 1(9223372036854775807)に設定する必要があります。

remainingBytes

string (int64 format)

残高リマインダー通知に必要です。残りの割り当て残高(バイト単位)。

TimeQuota

時間ベースのプラン モジュールの割り当て/残高情報。

JSON 表現
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
フィールド
quotaMinutes

string (int64 format)

時間ベースのプランのモジュールの割り当て(分単位)。例: 180 分。

remainingMinutes

string (int64 format)

時間ベースのプランの残りの割り当て(分単位)。例: 40 分。

BalanceLevel

大まかなプラン モジュールのデータ残高情報。

列挙型
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 従量課金制。

PlanState

ユーザーのプラン/プラン モジュールのさまざまな状態を表す列挙型。

列挙型
ACTIVE Plan/PlanModule が有効で、ユーザーはモジュールの一部として提供されるデータを使用できます。
INACTIVE プラン/プラン モジュールが無効になっている。ユーザーはモジュールを所有しているが、モジュールに含まれるデータを使用できない。これは、モジュールが特定の時間帯にのみデータを提供する場合や、ユーザーがモジュールを購入したもののまだ有効化されていない場合に発生する可能性があります。
EXPIRING_SOON Plan/PlanModule の有効期限がまもなく切れます。呼び出し元は、この値を設定するタイミングを判断する適切なレベルを選択する必要があります。これは、プランが自動的に有効になることを意味します。
NEWLY_ACTIVE 以前に無効または存在しなかった Plan/PlanModule が有効になった。この状態は、有効化日時の直後のごく短い期間のみ使用し、それ以外の場合は ACTIVE 状態を使用する必要があります。NEWLY_ACTIVE モジュールで送信されるデータプランのステータス通知は、NEWLY_ACTIVE ステータスがすぐに不正確になるため、短い TTL で送信する必要があります。
EXPIRED Plan/PlanModule の有効期限が切れています。この列挙値を設定すると、プランの有効期限切れの通知がトリガーされます。

RefreshPeriod

更新期間(プラン モジュールがリセットされる定期的な間隔)を表します。

列挙型
REFRESH_PERIOD_NONE 更新期間はありません。プラン モジュールが定期購入でない場合に使用されます。
DAILY プラン モジュールは毎日リセットされます。
MONTHLY プラン モジュールは毎月リセットされます。
BIWEEKLY プラン モジュールは 2 週間ごとにリセットされます。
WEEKLY プラン モジュールは毎週リセットされます。

AccountInfo

プリペイド ユーザーのアカウント残高に関する情報。

JSON 表現
{
  "accountBalance": {
    object (Money)
  },
  "loanBalance": {
    object (Money)
  },
  "unpaidLoan": {
    object (Money)
  },
  "accountBalanceStatus": enum (AccountBalanceStatus),
  "validUntil": string,
  "payAsYouGoCharge": {
    object (Money)
  },
  "accountTopUp": {
    object (Money)
  }
}
フィールド
accountBalance

object (Money)

必須。ユーザー アカウントに残っているアカウント残高。

loanBalance

object (Money)

該当する場合は必須です。携帯通信会社からの金銭的融資によって追加されたユーザー アカウントに残っているアカウント残高。この残高がある場合、フィールド accountBalance にはこの残高は含まれません。

unpaidLoan

object (Money)

金銭的融資によりユーザーが携帯通信会社に支払うべき金額。

accountBalanceStatus

enum (AccountBalanceStatus)

必須。アカウント残高のステータスを示します。validUntil 時間と accountBalanceStatus フィールドが一致しない場合は、accountBalanceStatus を使用します。

validUntil

string (Timestamp format)

必須。アカウント残高が有効な期限。このフィールドは、ユーザーにアカウント残高に対して「」と表示するために使用されます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

payAsYouGoCharge

object (Money)

従量課金制でプランを使用してユーザーが費やした金額。このフィールドに携帯通信会社が入力して GTAF とアカウント情報を共有すると、GTAF は従量課金制で料金が発生していることを示す通知をユーザーに送信しようとします。

accountTopUp

object (Money)

アカウントのチャージ通知に必要です。ユーザーがアカウント残高に追加した金額。このフィールドに携帯通信会社が入力して GTAF とアカウント情報を共有すると、GTAF はユーザーにアカウントがチャージされたことを知らせる通知を送信しようとします。

Money

金額をその通貨タイプで表します。

JSON 表現
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
フィールド
currencyCode

string

ISO 4217 で定義されている 3 文字の通貨コード。

units

string (int64 format)

金額の整数部分。たとえば、currencyCode"USD" の場合、1 単位は 1 米ドルです。

nanos

integer

金額の小数部分をナノ(10^-9)単位で表した数。値は -999,999,999 以上 +999,999,999 以下でなければなりません。units が正の場合、nanos には正数または 0 を指定します。units がゼロの場合、nanos には正数、0、または負数を指定できます。units が負の場合、nanos は負数または 0 を指定します。たとえば、$-1.75 は units = -1、nanos = -750,000,000 と表されます。

AccountBalanceStatus

ユーザー ウォレットのステータス。

列挙型
VALID ユーザー アカウントの残高は有効で、購入に使用できます。
INVALID ユーザー アカウントの残高が無効で、アカウントを変更しないと使用できません。

UiCompatibility

共有されている PlanStatus をユーザーに表示できるかどうかを表す列挙型。

列挙型
UI_COMPATIBILITY_UNSPECIFIED デフォルトでは、PlanStatus は UI と互換性があるとみなされます。
UI_COMPATIBLE PlanStatus 全体が UI と互換性があり、プラン情報をユーザーに表示できることを示します。
UI_INCOMPATIBLE PlanStatus が UI と互換性がないことを示します。フィールドはユーザーへの通知の送信には使用できますが、ユーザーへのプラン情報の表示には使用できません。

NotificationType

モバイルデータ プランの設定のユーザーに送信される通知のタイプ。

列挙型
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 データプランの有効期限が切れたことをユーザーに知らせる通知。

PlanInfoPerClient

特定の Google クライアントに関連するデータプラン情報。

JSON 表現
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
フィールド
youtube

object (YouTube)

YouTube 関連のプラン情報。

androidSystemInfo

object (AndroidSystemInfo)

Android システムに関連するプラン情報。

YouTube

YouTube に関連するデータプランの情報。

JSON 表現
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
フィールド
rateLimitedStreaming

object (RateLimitedStreaming)

YouTube のプラン認識ストリーミング(PAS)機能。配信される動画のビットレートを制限します。

RateLimitedStreaming

YouTube がレート制限付きストリーミングのユーザー エクスペリエンスを向上させるためのデータプラン情報。

JSON 表現
{
  "maxMediaRateKbps": integer
}
フィールド
maxMediaRateKbps

integer

このユーザーでサポートされている YouTube のビットレート(kbps 単位、1 秒あたりの 1,000 ビット単位)。

AndroidSystemInfo

Android システム全体に関連するデータプラン情報。

JSON 表現
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
フィールド
cellularInfo[]

object (CellularInfo)

接続タイプごとのモバイル情報。たとえば、4G、5G などの接続タイプごとに 1 つの cellularInfo メッセージがあります。

CellularInfo

プランでユーザーに提供されるモバイル接続に関する情報。

JSON 表現
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
フィールド
connectionType

enum (ConnectionType)

事業者がユーザーに提供している接続のタイプ。

meteredness

enum (Meteredness)

ユーザー プランの従量課金制の状態。

ConnectionType

接続タイプ: 2G、3G、4G

列挙型
CONNECTION_TYPE_UNSPECIFIED (指定なし)
CONNECTION_2_G 2G.
CONNECTION_3_G 3G.
CONNECTION_4_G 4G。
CONNECTION_5_G 5G。
CONNECTION_ALL 全ジャンル。

従量制

ユーザーが利用しているプランの種類

列挙型
METEREDNESS_UNSPECIFIED GTAF は、ユーザー プランの従量課金制の状態を認識していません。
METEREDNESS_UNMETERED ユーザーが従量制課金プランを利用している。
METEREDNESS_METERED お客様が従量課金プランをご利用の場合。

CpidState

CPID の状態を表すための携帯通信会社の列挙型。

列挙型
CPID_STATE_UNSPECIFIED CPID の状態は指定されていません。これは、CPID が有効であるかのように扱われます。
CPID_INVALIDATED CPID は無効になり、クライアントは CPID エンドポイントから新しい CPID を取得する必要があります。

メソッド

create

モバイル オペレーター(固有の自律システム番号(ASN)で識別)が、特定のクライアントで使用されるユーザーの新しい PlanStatus エントリを追加できるようにします。