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 のステータスです。

プラン

ユーザーのモバイルプランの詳細(定期購入者が購入する最上位のモバイル サービス パッケージ)。プランは「10 GB のモバイルデータ、30 日間」のようにシンプルにすることも、コンポーネントの集合(プラン モジュールと呼ぶ)として定義することもできます。たとえば、ACME プラン 199 には、「2 GB のデータ」、「無制限の WhatsApp + 無制限の Wechat」、「1 GB の Spotify」と記載されています。

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)

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

プランカテゴリ

使用可能なプランのカテゴリタイプ。

列挙型
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)

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

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

必須。Plan(計画)モジュールの説明

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 分。

残高レベル

低精度プラン モジュールのデータ残高情報。

列挙型
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 TrueView ディスカバリー(ブラウジング)トラフィック。動画/音声ストリーミング部分を除くすべての動画アプリ トラフィックを指します。
VIDEO_OFFLINE 動画のオフライン トラフィック。つまり、VIDEO_BROWSING と動画/音声のオフライン(ストリーミング以外の)トラフィックの合計です。
MUSIC Music アプリのトラフィック
GAMING ゲームアプリのトラフィック
SOCIAL ソーシャル アプリのトラフィック
MESSAGING メッセージ アプリのトラフィック
APP_STORE アプリストアのトラフィック(新しいアプリの更新やダウンロードなど)。

過剰使用ポリシー

使用ポリシー超過: ユーザーが割り当てを使い切った場合

列挙型
OVER_USAGE_POLICY_UNSPECIFIED (指定なし)
THROTTLED 速度が調整されます。
BLOCKED 接続がブロックされています。
PAY_AS_YOU_GO 従量課金

プランの状態

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

列挙型
ACTIVE Plan/PlanModule は有効で、ユーザーはモジュールの一部として提供されるデータを使用できます。
INACTIVE Plan/Plan(計画)モジュールが無効であり、モジュールを保有しているものの、そのモジュールに含まれるデータは使用できない。これは、モジュールが 1 日の特定の時間にしかデータを提供していない場合や、ユーザーがモジュールを購入したがそれをまだ有効にしていない場合に発生する可能性があります。
EXPIRING_SOON Plan/PlanModule はまもなく有効期限切れとなります。呼び出し元は、この値を設定するタイミングを判断するための適切なレベルを選択する必要があります。これは、プランがアクティブであることを自動的に示すものです。
NEWLY_ACTIVE 以前アクティブでなかったか、存在しない Plan/PlanModule が有効になりました。この状態は、起動した期間が終わるまで非常に短い期間だけ使用します。そうでない場合は、代わりに ACTIVE 状態を使用する必要があります。NEWLY_ACTIVE モジュールで送信されるデータプランのステータス通知は、短期間の TTL で送信する必要があります。これは、NEWLY_ACTIVE ステータスが非常に迅速に不正確になるためです。
EXPIRED Plan/PlanModule の有効期限が切れている。この列挙値を設定すると、プランの期限切れ通知がトリガーされます。

更新期間

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

列挙型
REFRESH_PERIOD_NONE 更新期間はありません。plan モジュールが繰り返しない場合に使用されます。
DAILY Plan(計画)モジュールは毎日リセットされます。
MONTHLY Plan(計画)モジュールは毎月リセットされます。
BIWEEKLY plan モジュールは 2 週間ごとにリセットされます。
WEEKLY Plan(計画)モジュールは毎週リセットされます。

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)

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

validUntil

string (Timestamp format)

必須。アカウント残高が有効であるまでの時間。このフィールドは、&yt; <ph type="x-smartling-placeholder">

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 は、口座がチャージされたことを示す通知をユーザーに送信しようとします。

金額

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

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 ユーザー アカウント残高は無効であり、アカウントに変更を加えるまでは使用できません。

UI 互換性

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

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

通知タイプ

モバイルデータ通信プランのユーザーに送信される通知の種類です。

列挙型
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 プランの Aware Streaming(PAS)機能。配信される動画のビットレートを制限します。

RateLimitedStreaming

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

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

integer

このユーザーでサポートされている YouTube ビットレートは kbps です(1,000 ビット/秒)。

AndroidSystemInfo

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

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

object (CellularInfo)

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

CellularInfo

プランがユーザーに提供しているモバイル接続に関する情報。

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

enum (ConnectionType)

オペレーターがユーザーに提供している接続のタイプ。

meteredness

enum (Meteredness)

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

接続タイプ

接続タイプ: 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 を取得する必要があります。

Methods

create

携帯通信会社(固有の自律システム番号(ASN)で識別)が特定のプランのユーザーが使用できる新しい PlanStatus エントリを追加することを許可します。