REST Resource: operators.clients.users.planStatus

Risorsa: PlanStatus

PlanStatus contiene i dettagli di tutti i pacchetti di servizi 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 risorsa di PlanStatus 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, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Obbligatorio. Ora in cui le informazioni sul gruppo del piano condiviso diventano obsolete. PlanStatus non verrà pubblicato nelle applicazioni dopo questo periodo. L'ora di scadenza deve essere futura.

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

updateTime

string (Timestamp format)

Obbligatorio. 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 la data di aggiornamento delle informazioni sullo stato del piano. L'ora di aggiornamento deve essere nel passato, ma non può risalire a più di 30 giorni prima.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo 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. Verrà visualizzato nell'intestazione dell'interfaccia utente.

subscriberId

string

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

accountInfo

object (AccountInfo)

Obbligatorio per gli utenti prepagati. Informazioni sul saldo dell'account utente.

uiCompatibility

enum (UiCompatibility)

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

notifications[]

enum (NotificationType)

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

planInfoPerClient

object (PlanInfoPerClient)

Informazioni sul piano dati pertinenti a un determinato client Google.

cpidState

enum (CpidState)

Stato dell'ID CP associato a questo stato del piano.

Piano

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

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

string

Il 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 postpagato.

expirationTime

string (Timestamp format)

Obbligatorio. Alla scadenza del piano. Per la maggior parte dei piani, questo valore deve essere uguale al massimo di tutti i tempi di scadenza specifici del modulo del piano. Per i piani che aggiornano periodicamente la quota dei moduli, questo dovrebbe essere il tempo di scadenza complessivo del piano, il momento in cui i moduli del piano smettono di aggiornarsi. Questo campo deve essere omesso se il piano non ha una scadenza.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo 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 e così via.

PlanCategory

Possibili tipi di categorie di piani.

Enum
PLAN_CATEGORY_UNSPECIFIED Non specificato.
PREPAID Piano prepagato.
POSTPAID Piano postpagato.

PlanModule

Informazioni su ogni modulo (o sotto-piano) del 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 approssimative sul saldo.

trafficCategories[]

enum (PlanModuleTrafficCategory)

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

expirationTime

string (Timestamp format)

Obbligatorio. Ora di scadenza specifica del modulo del piano. Per i moduli del piano con quota che si aggiorna periodicamente, questo è il momento del successivo aggiornamento del modulo. Questo campo deve essere omesso se il modulo del piano non ha una scadenza.

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

overUsagePolicy

enum (OverUsagePolicy)

Norme relative al superamento dell'utilizzo, ad esempio limitazione.

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 a seconda delle condizioni di rete. Se ometti maxRateKbps o lo imposti su 0, indica che non deve essere eseguita alcuna limitazione per questo modulo del piano.

description

string

Obbligatorio. Descrizione del modulo del piano, potrebbe essere mostrata all'utente e dovrebbe essere simile alla descrizione di 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 quota. I moduli del piano che aggiornano la quota lo faranno una volta ogni periodo di aggiornamento.

Campo unione balance. Obbligatorio. Informazioni sul saldo del modulo del piano, che deve 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 del piano basato sui byte. Per i moduli che vengono aggiornati periodicamente, questo campo rappresenta il saldo dei byte per periodo di aggiornamento.

timeBalance

object (TimeQuota)

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

ByteQuota

Informazioni sulla quota/sul saldo del modulo del piano basato sui byte.

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

string (int64 format)

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

remainingBytes

string (int64 format)

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

TimeQuota

Informazioni sulla quota/sul saldo del modulo del 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 esempio 40 minuti.

BalanceLevel

Informazioni sul saldo dei dati del modulo del piano 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 dei dati (o il tempo rimanente) è pari o inferiore al 10-25% del saldo (o del tempo) originale del pacchetto. Gli operatori POSSONO determinare la soglia esatta per ogni pacchetto come ritengono opportuno.
HIGH_QUOTA Il saldo dati (o il tempo rimanente) è superiore al 10-25% del saldo (o del tempo) originale del pacchetto. Gli operatori POSSONO determinare la soglia esatta per ogni pacchetto come ritengono opportuno. Il saldo dei 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 di scoperta (navigazione) dei video, che si riferisce a tutto il traffico delle app video, esclusa la parte di streaming video/audio.
VIDEO_OFFLINE Traffico video offline, ovvero la somma del traffico VIDEO_BROWSING e del traffico video/audio offline (non in streaming).
MUSIC Traffico dell'app Musica.
GAMING Traffico dell'app di gioco.
SOCIAL Traffico delle app social.
MESSAGING Traffico delle app di messaggistica.
APP_STORE Traffico dello store, ad esempio aggiornamento o download di una nuova app.

OverUsagePolicy

Norme sull'utilizzo eccessivo: cosa succede quando la quota dell'utente si esaurisce.

Enum
OVER_USAGE_POLICY_UNSPECIFIED Non specificato.
THROTTLED La velocità è limitata.
BLOCKED La connessione è bloccata.
PAY_AS_YOU_GO Pay-per-use.

PlanState

Enumerazione che rappresenta i diversi stati del piano/modulo del piano dell'utente.

Enum
ACTIVE Plan/PlanModule è attivo e l'utente può utilizzare i dati offerti come parte del modulo.
INACTIVE Il piano/modulo del piano è inattivo e, sebbene l'utente disponga ancora del modulo, non può utilizzare i dati che ne fanno parte. Ciò potrebbe accadere se il modulo offre dati solo in determinati orari del giorno 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 automaticamente che il piano è attivo.
NEWLY_ACTIVE Il piano/modulo del piano precedentemente inattivo o inesistente è stato appena attivato. Questo stato deve essere utilizzato solo per un periodo di tempo molto breve dopo l'ora di 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 diventerà impreciso molto rapidamente.
EXPIRED Plan/PlanModule is expired. L'impostazione di questo valore enum attiva una notifica di scadenza del piano.

RefreshPeriod

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

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 dell'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 sull'account utente.

loanBalance

object (Money)

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

unpaidLoan

object (Money)

Importo di denaro dovuto dall'utente all'operatore a causa di prestiti monetari.

accountBalanceStatus

enum (AccountBalanceStatus)

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

validUntil

string (Timestamp format)

Obbligatorio. Il periodo di validità del saldo dell'account. Questo campo verrà utilizzato per mostrare all'utente il messaggio "Non valido in

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo 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 in modalità pay as you go. Se questo campo viene compilato dall'operatore quando condivide le informazioni dell'account con GTAF, GTAF tenterà di inviare una notifica all'utente per informarlo che sta spendendo denaro in uno stato di pagamento a consumo.

accountTopUp

object (Money)

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

Denaro

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

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

string

Il codice di valuta di 3 lettere definito nello standard ISO 4217.

units

string (int64 format)

Le unità intere dell'importo. Ad esempio, se currencyCode è "USD", un'unità corrisponde a un dollaro statunitense.

nanos

integer

Numero di unità nano (10^-9) dell'importo. Il valore deve essere compreso tra -999.999.999 e +999.999.999 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.

AccountBalanceStatus

Stato del portafoglio dell'utente.

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.

UiCompatibility

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

Enum
UI_COMPATIBILITY_UNSPECIFIED Per impostazione predefinita, supponiamo che PlanStatus sia compatibile con la UI.
UI_COMPATIBLE Indica che l'intero PlanStatus è compatibile con la UI e che 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 le informazioni sul piano.

NotificationType

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

Enum
NOTIFICATION_UNDEFINED Tipo di genere di notifica sconosciuto
NOTIFICATION_LOW_BALANCE_WARNING Notifica che avvisa gli utenti in caso di saldo in esaurimento
NOTIFICATION_DATA_EXPIRATION_WARNING Notifica che avvisa gli utenti che il piano dati sta per scadere
NOTIFICATION_OUT_OF_DATA Notifica agli utenti che i dati sono esauriti
NOTIFICATION_PLAN_ACTIVATION Notifica che il piano acquistato da un utente è ora attivo
NOTIFICATION_PAY_AS_YOU_GO Una notifica che informa l'utente che sta pagando i dati in uno stato di pagamento a consumo.
NOTIFICATION_ACCOUNT_TOP_UP Una notifica che informa l'utente che ha ricaricato il saldo del suo account.
NOTIFICATION_DATA_EXPIRED Una notifica che informa l'utente che il suo piano dati è scaduto.

PlanInfoPerClient

Informazioni sul piano dati pertinenti a un determinato client Google.

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

object (YouTube)

Informazioni sul piano correlate 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)

Funzionalità di streaming consapevole del piano (PAS) di YouTube, che limita la velocità in bit del video pubblicato.

RateLimitedStreaming

Informazioni sul piano dati per consentire a YouTube di migliorare l'esperienza utente di streaming con limitazione della velocità.

Rappresentazione JSON
{
  "maxMediaRateKbps": integer
}
Campi
maxMediaRateKbps

integer

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

AndroidSystemInfo

Informazioni sul piano dati pertinenti all'intero sistema Android.

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

object (CellularInfo)

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

CellularInfo

Informazioni su una connessione cellulare che il piano offre all'utente.

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

enum (ConnectionType)

Il tipo di connessione fornita dall'operatore all'utente.

meteredness

enum (Meteredness)

Lo stato di misurazione del piano utente.

ConnectionType

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

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

Misurazione

Tipo di piano dell'utente

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

CpidState

Un enum per l'operatore per rappresentare lo stato CPID.

Enum
CPID_STATE_UNSPECIFIED Lo stato dell'ID cliente non è specificato. Viene trattato come se l'ID CP fosse valido.
CPID_INVALIDATED Il CPID viene invalidato e il client deve recuperarne uno nuovo dall'endpoint CPID.

Metodi

create

Consente a un operatore di telefonia mobile (identificato dal suo numero di sistema autonomo (ASN) unico) di aggiungere una nuova voce PlanStatus per un utente da utilizzare da un client specifico.