REST Resource: operators.clients.users.planStatus

Risorsa: PlanStatus

PlanStatus contiene dettagli di tutti i pacchetti di servizi per dispositivi mobili di primo livello acquistati da un utente.

Rappresentazione 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)
}
Campi
name

string

Il nome della risorsa PlanPlan nel seguente formato: operators/{asn_id}/planStatuses/{userKey}. Il nome viene ignorato durante la creazione di una voce PlanStatus.

plans[]

object (Plan)

Elenco dei piani di proprietà di questo utente.

languageCode

string

Obbligatorio. Il codice lingua BCP-47, come "en-US" o "sr-Latn". Per ulteriori informazioni, visita http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Obbligatorio. Data e ora in cui le informazioni del gruppo del piano condiviso diventano obsolete. Una volta trascorso questo periodo, PlanStatus non verrà pubblicato per le applicazioni. L'ora di scadenza deve essere successiva a quella corrente.

Un timestamp in formato RFC3339 UTC "Zulu", con una risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Obbligatorio. L'ora in cui l'agente del piano dati (DPA) ha recuperato le informazioni sullo stato del piano dai sistemi di backend. Può essere utilizzato per determinare quanto sono recenti le informazioni sullo stato del piano. L'ora di aggiornamento deve essere nel passato, ma non può essere antecedente a 30 giorni.

Un timestamp in formato RFC3339 UTC "Zulu", con una risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

title

string

Titolo del contratto stipulato dall'utente con l'operatore. Questa informazione verrà visualizzata nell'intestazione dell'interfaccia utente.

subscriberId

string

Identificatore stabile univoco nel sistema dell'operatore per identificare l'utente.

accountInfo

object (AccountInfo)

Obbligatorio per gli utenti che utilizzano il pagamento anticipato. Informazioni sul saldo dell'account utente.

uiCompatibility

enum (UiCompatibility)

Determina se lo stato del piano può essere mostrato all'utente in un'interfaccia utente. Se impostato su UI_INCOMPATIBLE, il PlanStatus può essere utilizzato per inviare notifiche all'utente, ma non per mostrare le informazioni del piano all'utente.

notifications[]

enum (NotificationType)

Contiene l'elenco dei tipi di notifiche inviate all'utente da GTAF. GTAF ignora questo campo se viene completato dal chiamante.

planInfoPerClient

object (PlanInfoPerClient)

Informazioni sul piano dati pertinenti per un determinato cliente Google.

cpidState

enum (CpidState)

Stato del CPID associato a questo stato del piano.

Pianificazione

Dettagli del piano mobile dell'utente, ovvero il pacchetto di servizi per dispositivi mobili di primo livello acquistato da un abbonato. Il piano può essere semplice come "10 GB di dati mobili per 30 giorni" o può essere definito come una raccolta di componenti (definiti come moduli del piano). Ad esempio, il piano ACME 199, descritto come "Dati da 2 GB, WhatsApp illimitato + WeChat illimitato e spotify da 1 GB", contiene tre moduli di piano.

Rappresentazione JSON
{
  "planName": string,
  "planId": string,
  "planCategory": enum (PlanCategory),
  "expirationTime": string,
  "planModules": [
    {
      object (PlanModule)
    }
  ],
  "planState": enum (PlanState)
}
Campi
planName

string

Nome del piano mobile dell'utente.

planId

string

Obbligatorio. Identificatore del piano, utilizzato per fare riferimento al piano durante le offerte e così via.

planCategory

enum (PlanCategory)

Piano prepagato o posticipato.

expirationTime

string (Timestamp format)

Obbligatorio. Alla scadenza di questo piano. Per la maggior parte dei piani, dovrebbe essere uguale al valore massimo del valore di tutti i tempi di scadenza specifici del modulo del piano. Per i piani che aggiornano periodicamente la quota di moduli, questo valore corrisponde alla data di scadenza complessiva del piano, ovvero l'ora in cui si interrompe l'aggiornamento dei moduli del piano. Questo campo deve essere omesso se il piano non ha scadenza.

Un timestamp in formato RFC3339 UTC "Zulu", con una risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Informazioni dettagliate sui moduli del piano (sottopiani).

planState

enum (PlanState)

Stato del piano utente, ad esempio attivo, non attivo ecc.

Categoria piano

Possibili tipi di categorie di piani.

Enum
PLAN_CATEGORY_UNSPECIFIED Non specificato.
PREPAID Piano prepagato.
POSTPAID Piano con pagamento posticipato.

PianoModulo

Informazioni di ogni modulo (o piano secondario) di un piano dati all'interno di un piano.

Rappresentazione 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.
}
Campi
coarseBalanceLevel

enum (BalanceLevel)

Informazioni sul saldo approssimativo.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Elenco delle categorie di traffico che verranno addebitate in base a questo modulo del piano.

expirationTime

string (Timestamp format)

Obbligatorio. Data di scadenza specifica del modulo del piano. Per i moduli del piano con quota che si aggiorna periodicamente, questo è l'orario dell'aggiornamento successivo del modulo. Questo campo deve essere omesso se il modulo del piano non ha scadenza.

Un timestamp in formato RFC3339 UTC "Zulu", con una risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

È previsto un criterio di utilizzo eccessivo, ad esempio limitato.

maxRateKbps

string (int64 format)

Velocità dati massima consentita da questo modulo del piano in Kbps. La velocità dati effettiva osservata è compresa tra 0 e maxRateKbps in base alle condizioni di rete. L'omissione di maxRateKbps o la sua impostazione su 0 indica che non deve essere eseguita alcuna limitazione per questo modulo del piano.

description

string

Obbligatorio. La descrizione del modulo del piano potrebbe essere mostrata all'utente e dovrebbe essere simile alla descrizione del mercato di questo modulo del piano.

moduleName

string

Obbligatorio. Nome del modulo del piano.

usedBytes

string (int64 format)

Numero totale di byte utilizzati dall'utente da questo modulo del piano.

planModuleState

enum (PlanState)

Stato del modulo del piano, ad esempio attivo, non attivo e così via.

refreshPeriod

enum (RefreshPeriod)

Il periodo di aggiornamento di questo modulo del piano o REFRESH_PERIOD_NONE se il modulo del piano non aggiorna la sua quota. I moduli di piano che aggiornano la quota verranno eseguiti una volta ogni periodo di aggiornamento.

Campo unione balance. Obbligatorio. Le informazioni sul saldo del modulo del piano devono essere uno dei seguenti: byte_balance, time_balance, coarse_balance_level. balance può essere solo uno dei seguenti:
byteBalance

object (ByteQuota)

Informazioni sul saldo del modulo basato su byte in piani. Per i moduli che si aggiornano periodicamente, questo campo rappresenta il saldo in byte per periodo di aggiornamento.

timeBalance

object (TimeQuota)

Informazioni sul saldo del modulo relativo al piano basato sul tempo. Per i moduli che vengono aggiornati periodicamente, questo campo rappresenta il saldo temporale per periodo di aggiornamento.

Bytequota

Informazioni su quota/saldo del modulo basato su byte.

Rappresentazione JSON
{
  "quotaBytes": string,
  "remainingBytes": string
}
Campi
quotaBytes

string (int64 format)

Quota del modulo in byte. Per piani illimitati, deve essere impostato su 2^63 - 1 (9223372036854775807).

remainingBytes

string (int64 format)

Obbligatorio per le notifiche per saldo in esaurimento. Saldo quota rimanente in byte.

Quota di tempo

Informazioni sulla quota/saldo del modulo relativo al piano basato sul tempo.

Rappresentazione JSON
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Campi
quotaMinutes

string (int64 format)

Quota del modulo in minuti per il piano basato sul tempo, ad esempio 180 minuti.

remainingMinutes

string (int64 format)

Saldo della quota rimanente in minuti per il piano basato sul tempo, ad es. 40 minuti.

LivelloBilanciamento

Informazioni sul saldo dati del modulo approssimativo.

Enum
BALANCE_LEVEL_UNSPECIFIED Non specificato.
NO_PLAN Nessun piano dati.
OUT_OF_DATA Il saldo dati è pari a zero.
LOW_QUOTA Il saldo dati (o il tempo rimanente) è pari o inferiore al 10-25% del saldo (o tempo) originale del pacchetto. Gli operatori POSSONO determinare la soglia esatta per ogni pacchetto come ritengono opportuno.
HIGH_QUOTA Il saldo (o il tempo rimanente) dei dati è superiore al 10-25% del saldo (o tempo) originale del pacchetto. Gli operatori POSSONO determinare la soglia esatta per ogni pacchetto come ritengono opportuno. Il saldo dati è elevato.

PlanModuleTrafficCategory

Categoria di traffico del modulo del piano, che descrive l'insieme del traffico dell'applicazione che rientra in un determinato modulo del piano.

Enum
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED Non specificato.
GENERIC Generico, si applica a tutto il traffico.
VIDEO Tutto il traffico video.
VIDEO_BROWSING Traffico video discovery (navigazione), che si riferisce a tutto il traffico dell'app video esclusa la parte dello streaming video/audio.
VIDEO_OFFLINE Traffico video offline, ovvero la somma del traffico VIDEO_BROWSING e video offline/video (non in streaming).
MUSIC Traffico delle app musicali.
GAMING Traffico delle app di gioco
SOCIAL Traffico delle app social.
MESSAGING Traffico delle app di messaggistica.
APP_STORE Traffico dello store, come l'aggiornamento o il download di una nuova app.

Norme di oltre utilizzo

Norma di utilizzo eccessivo: cosa succede quando l'utente esaurisce la quota.

Enum
OVER_USAGE_POLICY_UNSPECIFIED Non specificato.
THROTTLED La velocità è limitata.
BLOCKED La connessione è bloccata.
PAY_AS_YOU_GO Pagamento per utilizzo.

Piano

Enumerazione che rappresenta lo stato del modulo o del modulo del piano dell'utente.

Enum
ACTIVE Plan/PlanModule è attivo e l'utente può utilizzare i dati offerti nell'ambito del modulo.
INACTIVE Il modulo Piano/piano è inattivo e mentre l'utente ha ancora il modulo, non può utilizzare i dati che fanno parte del modulo. Questo può accadere se il modulo offre dati solo in determinati momenti della giornata o se l'utente ha acquistato un modulo ma non è ancora attivato.
EXPIRING_SOON Plan/PlanModule scadrà a breve. Il chiamante deve scegliere il livello appropriato per determinare quando impostare questo valore. Ciò significa che il piano è attivo.
NEWLY_ACTIVE Plan/PlanModule precedentemente inattivo o inesistente è appena stato attivato. Questo stato va utilizzato solo per un breve periodo dopo l'attivazione, altrimenti deve essere utilizzato lo stato ATTIVO. Le notifiche sullo stato del piano dati inviate con i moduli NEWLY_ACTIVE devono essere inviate con un TTL breve, poiché lo stato NEWLY_ACTIVE diventa molto rapido.
EXPIRED Plan/PlanModule scaduto. L'impostazione di questo valore enumera la notifica di un piano scaduto.

Periodo di aggiornamento

Rappresenta un periodo di aggiornamento, l'intervallo regolare a cui viene reimpostato un modulo del piano.

Enum
REFRESH_PERIOD_NONE Nessun periodo di aggiornamento. Utilizzato quando il modulo del piano non è ricorrente.
DAILY Il modulo del piano viene reimpostato ogni giorno.
MONTHLY Il modulo del piano viene reimpostato ogni mese.
BIWEEKLY Il modulo del piano viene reimpostato ogni due settimane.
WEEKLY Il modulo del piano viene reimpostato ogni settimana.

AccountInfo

Informazioni sul saldo dell'account utente prepagato.

Rappresentazione JSON
{
  "accountBalance": {
    object (Money)
  },
  "loanBalance": {
    object (Money)
  },
  "unpaidLoan": {
    object (Money)
  },
  "accountBalanceStatus": enum (AccountBalanceStatus),
  "validUntil": string,
  "payAsYouGoCharge": {
    object (Money)
  },
  "accountTopUp": {
    object (Money)
  }
}
Campi
accountBalance

object (Money)

Obbligatorio. Saldo dell'account rimanente nell'account utente.

loanBalance

object (Money)

Obbligatorio se applicabile. Saldo dell'account rimanente sull'account utente aggiunto da un prestito monetario dell'operatore. Se presente, il campo accountBalance non include questo saldo.

unpaidLoan

object (Money)

Importo del denaro dovuto dall'utente per motivi di prestito monetario.

accountBalanceStatus

enum (AccountBalanceStatus)

Obbligatorio. Indica lo stato del saldo dell'account. In caso di mancata corrispondenza tra il campo validUntil e il campo accountBalanceStatus, utilizziamo accountBalanceStatus.

validUntil

string (Timestamp format)

Obbligatorio. Il periodo di tempo durante il quale il saldo dell'account sarà valido. Questo campo verrà utilizzato per mostrare "Non valido in

Un timestamp in formato RFC3339 UTC "Zulu", con una risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

L'importo speso dall'utente utilizzando il piano con pagamento a consumo. Se questo campo viene compilato dal corriere quando condividi i dati dell'account con GTAF, GTAF tenterà di inviare una notifica all'utente indicando che sta spendendo denaro in un pagamento a consumo.

accountTopUp

object (Money)

Obbligatorio per la notifica di ricarica dell'account. L'importo che l'utente ha aggiunto al saldo del proprio account. Se questo campo viene compilato dall'operatore quando condividi i dati dell'account con GTAF, GTAF tenterà di inviare una notifica all'utente indicando che il suo account è stato ricaricato.

Money

Rappresenta un importo di denaro con il relativo tipo di valuta.

Rappresentazione JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campi
currencyCode

string

Il codice valuta di 3 lettere definito in ISO 4217.

units

string (int64 format)

L'unità intera dell'importo. Ad esempio, se currencyCode è "USD", 1 unità equivale a un dollaro USA.

nanos

integer

Numero di unità di nano (10^-9) della quantità. Il valore deve essere compreso tra -999.999.999 e +999.999.999 (estremi inclusi). Se units è positivo, nanos deve essere positivo o zero. Se units è zero, nanos può essere positivo, zero o negativo. Se units è negativo, nanos deve essere negativo o zero. Ad esempio,$-1,75 è rappresentato come units=-1 e nanos=-750.000.000.

StatoAccountAccount

Stato del portafoglio utenti.

Enum
VALID Il saldo dell'account utente è valido e può essere utilizzato per effettuare acquisti.
INVALID Il saldo dell'account utente non è valido e non può essere utilizzato senza apportare modifiche all'account.

Compatibilità Ui

Enumerazione che indica se lo stato PlanPlan condiviso può essere mostrato all'utente.

Enum
UI_COMPATIBILITY_UNSPECIFIED Per impostazione predefinita, supponiamo che PlanStatus sia compatibile con l'interfaccia utente.
UI_COMPATIBLE Indica che l'intero PlanStatus è compatibile con l'interfaccia utente e le informazioni sul piano possono essere mostrate all'utente.
UI_INCOMPATIBLE Indica che PlanStatus non è compatibile con l'interfaccia utente. I campi possono essere utilizzati per inviare notifiche all'utente, ma non per mostrare informazioni sul piano all'utente.

Tipo di notifica

Il tipo di notifica inviata all'utente delle impostazioni del piano dati mobili.

Enum
NOTIFICATION_UNDEFINED Tipo di genere di notifica sconosciuto
NOTIFICATION_LOW_BALANCE_WARNING Notifica che avvisa gli utenti per il saldo in esaurimento
NOTIFICATION_DATA_EXPIRATION_WARNING Notifica che avvisa gli utenti che il piano dati sta per scadere
NOTIFICATION_OUT_OF_DATA Notifica relativa all'esaurimento dei dati degli utenti
NOTIFICATION_PLAN_ACTIVATION Notifica che indica che il piano acquistato di un utente è ora attivo
NOTIFICATION_PAY_AS_YOU_GO Una notifica che informa l'utente che sta pagando i dati in un pagamento a consumo.
NOTIFICATION_ACCOUNT_TOP_UP Una notifica per informare l'utente che ha esaurito il saldo dell'account.
NOTIFICATION_DATA_EXPIRED Una notifica per informare l'utente che il piano dati è scaduto.

PlanInfoPerClient

Informazioni sul piano dati pertinenti per un determinato cliente Google.

Rappresentazione JSON
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
Campi
youtube

object (YouTube)

Informazioni sul piano relativo a YouTube.

androidSystemInfo

object (AndroidSystemInfo)

Informazioni sul piano pertinenti per il sistema Android.

YouTube

Informazioni sul piano dati pertinenti per YouTube.

Rappresentazione JSON
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Campi
rateLimitedStreaming

object (RateLimitedStreaming)

La funzionalità YouTube Plan Aware Streaming (PAS) che limita la velocità in bit del video pubblicato.

Streaming limitato

Informazioni sul piano dati per consentire a YouTube di migliorare l'esperienza utente con streaming limitato.

Rappresentazione JSON
{
  "maxMediaRateKbps": integer
}
Campi
maxMediaRateKbps

integer

La velocità in bit supportata per YouTube di questo utente in kbps (1000's di bit al secondo).

InformazioniSistema Android

Informazioni sul piano dati pertinenti per l'intero sistema Android.

Rappresentazione JSON
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
Campi
cellularInfo[]

object (CellularInfo)

Informazioni sulla rete cellulare in base al tipo di connessione. Ad esempio, ci sarà un messaggio cellulareInfo per ogni tipo di connessione come 4G, 5G e così via.

Informazioni rete mobile

Informazioni sulla connessione di una rete cellulare che il piano offre all'utente.

Rappresentazione JSON
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
Campi
connectionType

enum (ConnectionType)

Il tipo di connessione che l'operatore fornisce all'utente.

meteredness

enum (Meteredness)

Lo stato di misurazione del piano utente.

Tipo di connessione

Tipo di connessione: 2G, 3G, 4G

Enum
CONNECTION_TYPE_UNSPECIFIED Non specificato.
CONNECTION_2_G 2G.
CONNECTION_3_G 3G.
CONNECTION_4_G Rete 4G.
CONNECTION_5_G 5G.
CONNECTION_ALL Tutti i tipi.

Misurazione

Tipo di piano sottoscritto dall'utente

Enum
METEREDNESS_UNSPECIFIED GTAF non conosce lo stato di misurazione del piano utente.
METEREDNESS_UNMETERED L'utente ha un piano non a consumo.
METEREDNESS_METERED L'utente ha impostato un piano a consumo.

CpidStato

Un'enumerazione del corriere per rappresentare lo stato CPID.

Enum
CPID_STATE_UNSPECIFIED Lo stato del CPID non è specificato. Questo valore viene considerato come valido per il CPID.
CPID_INVALIDATED Il CPID non è valido e il client deve recuperare un nuovo CPID dall'endpoint CPID.

Metodi

create

Consente a un operatore di telefonia mobile (identificato dal suo numero di sistema autonomo autonomo) (ASN) di aggiungere una nuova voce PlanStatus per un utente, che verrà utilizzato da un determinato client.