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)
  }
}
欄位
name

string

PlanStatus 的資源名稱,格式如下:operators/{asn_id}/planStatuses/{userKey}。建立 PlanStatus 項目時,系統會忽略這個名稱。

plans[]

object (Plan)

這位使用者擁有的方案清單。

languageCode

string

必要,BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier

expireTime

string (Timestamp format)

必要,共用企劃書群組資訊過時的時間。這段期間過後,應用程式就不會提供 PlanStatus。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,範例:"2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

必要,數據方案代理程式 (DPA) 從後端系統擷取方案狀態資訊的時間。可用來判斷方案狀態資訊的近期位置。

RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,範例:"2014-10-02T15:01:23.045123456Z"

title

string

使用者與電信業者的合約名稱。這項資訊會顯示在使用者介面標頭中。

subscriberId

string

電信業者系統中的不重複穩定 ID,用於識別使用者。

accountInfo

object (AccountInfo)

僅適用於預付使用者。使用者帳戶餘額的相關資訊。

uiCompatibility

enum (UiCompatibility)

決定是否要在使用者介面向使用者顯示 PlanStatus。設為 UI_INCOMPATIBLE 時,PlanStatus 可用來通知使用者,不會用於顯示方案資訊。

notifications[]

enum (NotificationType)

傳送給使用者的通知類型。

planInfoPerClient

object (PlanInfoPerClient)

方案

使用者的行動資費方案,其中包含訂閱者購買的頂層行動服務方案。方案可以簡單來說為「10 GB 的 30 天行動數據」;也可以定義為一組元件 (稱為方案模組)。例如,ACME 方案 199,描述為「2GB 資料」、「無限制的 WhatsApp + 無限即時通訊和 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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,範例:"2014-10-02T15:01:23.045123456Z"

planModules[]

object (PlanModule)

詳細方案模組 (子方案) 資訊。

planState

enum (PlanState)

使用者方案的狀態,例如有效、無效。

方案類別

可能的企劃書類別類型。

列舉
PLAN_CATEGORY_UNSPECIFIED 未指明
PREPAID 預付方案。
POSTPAID 後付方案,

規劃模組

方案中每個數據方案模組 (或子方案) 的資訊。

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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,範例:"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。重新整理配額的計畫模組會在每次重新整理週期執行一次。

聯集欄位 balance。必要,方案模組餘額資訊,應為下列其中一種:bytes_balance、time_balance、coarse_balance_level。balance 只能是下列其中一項:
byteBalance

object (ByteQuota)

以位元組為單位的計畫模組餘額資訊。對於定期重新整理的模組,這個欄位代表每個重新整理週期的位元組餘額。

timeBalance

object (TimeQuota)

以時間為準的方案模組餘額資訊。針對定期重新整理的模組,這個欄位會表示每次重新整理的時間範圍。

位元組配額

以位元組為單位的計畫模組配額/餘額資訊。

JSON 表示法
{
  "quotaBytes": string,
  "remainingBytes": string
}
欄位
quotaBytes

string (int64 format)

模組配額 (以位元組為單位)。如果是無限方案,請設為 2^63 - 1 (9223372036854775807)。

remainingBytes

string (int64 format)

適用於低餘額通知。剩餘配額餘額 (以位元組為單位)。

時間配額

以時間為基礎的方案模組配額/餘額資訊。

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%。貨運公司可能會視情況決定每個包裹的確切門檻。資料餘額偏高。

企劃書模組流量類別

方案模組流量類別,說明特定方案模組中的應用程式流量組合。

列舉
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED 未指明
GENERIC 一般流量,適用於所有流量。
VIDEO 所有影片流量。
VIDEO_BROWSING 影片探索 (瀏覽) 流量,也就是所有影片應用程式流量 (影片/音訊串流部分除外)。
VIDEO_OFFLINE 影片離線流量,也就是 VIDEO_BROWSING 和離線/非串流 (非串流) 流量的總和。
MUSIC 音樂應用程式流量。
GAMING 遊戲應用程式流量。
SOCIAL 社交應用程式流量。
MESSAGING 訊息應用程式流量。
APP_STORE 應用程式商店流量,例如更新或下載新的應用程式。

過度使用政策

超過用量政策:使用者配額用盡時的情形。

列舉
OVER_USAGE_POLICY_UNSPECIFIED 未指明
THROTTLED 速度受到限制。
BLOCKED 連線已遭封鎖。
PAY_AS_YOU_GO 即付即用,以量計費。

企劃書狀態

列舉各種使用者方案/方案模組的狀態。

列舉
ACTIVE 企劃書/PlanModule 有效,使用者可以使用模組提供的資料。
INACTIVE 「方案/企劃書」模組無效,雖然使用者仍具備該模組,但使用者無法使用模組中的資料。如果模組只在一天中的特定時段提供資料,或是使用者已購買模組,但尚未啟用,就有可能會發生這種情況。
EXPIRING_SOON Plan/PlanModule 即將到期。呼叫端應選擇適當層級,決定設定這個值的時機。這代表已生效。
NEWLY_ACTIVE 先前已啟用或不存在的 Planning/PlanModule。此狀態只應在啟用時間後的極短時間內使用,否則應改用「ACTIVE 狀態」。使用 NEWLY_ACTIVE 模組傳送數據方案狀態通知時,應使用短期 TTL,因為 NEWLY_ACTIVE 狀態很快會變得準確。
EXPIRED Plan/PlanModule 已過期。設定這個列舉值會觸發方案過期的通知。

重新整理週期

代表重新整理週期,也就是重設企劃書模組的固定間隔。

列舉
REFRESH_PERIOD_NONE 沒有重新整理週期。如果方案模組並非週期性,應使用這個選項。
DAILY 方案模組每天都會重設。
MONTHLY 這個方案模組會每月重設一次。
BIWEEKLY 計劃模組每兩週重設一次。
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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,範例:"2014-10-02T15:01:23.045123456Z"

payAsYouGoCharge

object (Money)

使用者採用「即付即用」方案時,使用者花費的金額。如果電信業者在與 GTAF 分享帳戶資訊時填入這個欄位,GTAF 就會嘗試傳送通知給使用者,通知使用者他們選擇即付即用。

accountTopUp

object (Money)

帳戶儲值通知需要。使用者儲值至帳戶餘額的金額。如果電信業者在與 GTAF 分享帳戶資訊時填入這個欄位,GTAF 就會嘗試傳送通知給使用者,通知其帳戶已儲值。

金額

代表金額與其貨幣類型。

JSON 表示法
{
  "currencyCode": string,
  "units": string,
  "nanos": number
}
欄位
currencyCode

string

由 ISO 4217 定義的 3 個字母貨幣代碼。

units

string (int64 format)

總金額。舉例來說,如果 currencyCode"USD",則 1 單位為美元。

nanos

number

金額的奈米 (10^-9) 單位數量。這個值必須介於 -999,999,999 和 +999,999,999 (含) 之間。如果 units 為正數,則 nanos 必須為正數或零。如果 units 為零,nanos 可以是正數、零或負值。如果 units 為負值,nanos 必須是負值或零。舉例來說,$-1.75 會表示為 units=-1 和 nanos=-750,000,000。

帳戶餘額

使用者錢包的狀態。

列舉
VALID 使用者帳戶餘額有效,可用於購買交易。
INVALID 使用者帳戶餘額無效,且您必須在未進行變更的情況下才能使用。

Ui 相容性

用來表示能否向使用者顯示共用 Planning 狀態的列舉。

列舉
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 通知使用者他們的數據方案已過期。

方案個別用戶端

與特定 Google 客戶相關的數據方案資訊。

JSON 表示法
{
  "youtube": {
    object (YouTube)
  }
}
欄位
youtube

object (YouTube)

YouTube 相關方案資訊。

YouTube

YouTube 相關數據方案資訊。

JSON 表示法
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
欄位
rateLimitedStreaming

object (RateLimitedStreaming)

YouTube Plan Aware Streaming (PAS) 功能,限制影片的放送位元率。

RateLimitedStreaming

數據方案資訊,用於協助 YouTube 改善頻率限制的串流使用者體驗。

JSON 表示法
{
  "maxMediaRateKbps": number
}
欄位
maxMediaRateKbps

number

這位使用者支援的 YouTube 位元率 (kbps (每秒 1000 和 39;每秒))。

方法

create

允許行動電信業者 (透過專屬自治系統號碼 (ASN) 辨識) 新增 PlanStatus 項目,供特定用戶端使用。