REST Resource: operators.clients.users.planStatus

Ressource: PlanStatus

Der PlanStatus enthält Details zu allen mobilen Paketen der obersten Ebene, die ein Nutzer gekauft hat.

JSON-Darstellung
{
  "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)
  }
}
Felder
name

string

Der Ressourcenname des PlanStatus im folgenden Format: operators/{asn_id}/planStatuses/{userKey}. Der Name wird beim Erstellen eines PlanStatus-Eintrags ignoriert.

plans[]

object (Plan)

Liste der Pläne, die diesem Nutzer gehören.

languageCode

string

Erforderlich. Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“. Weitere Informationen finden Sie unter http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Erforderlich. Zeit, in der die Informationen zur Gruppe des freigegebenen Plans veraltet sind. Nach diesen Zeiten wird PlanStatus nicht mehr für Anwendungen verwendet.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Erforderlich. Zeitpunkt, zu dem der Datenplan-Agent (DPA) die Tarifstatusinformationen aus den Back-End-Systemen abgerufen hat. Kann verwendet werden, um die Aktualität des Tarifstatus zu ermitteln.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

title

string

Titel des Vertrags, den der Nutzer mit dem Betreiber hat. Dies wird in der Benutzeroberfläche angezeigt.

subscriberId

string

Eindeutige stabile Kennung im Mobilfunkanbieter, um den Nutzer zu identifizieren.

accountInfo

object (AccountInfo)

Erforderlich für Nutzer mit Vorauszahlung. Informationen zum Kontostand des Nutzers.

uiCompatibility

enum (UiCompatibility)

Legt fest, ob der PlanStatus dem Nutzer auf einer Benutzeroberfläche angezeigt werden kann. Wenn dieser Parameter auf „UI_INCOMPATIBLE“ festgelegt ist, kann er verwendet werden, um Benachrichtigungen an den Nutzer zu senden. Die Informationen zum Tarif werden ihm jedoch nicht angezeigt.

notifications[]

enum (NotificationType)

Die Benachrichtigungstypen, die an den Nutzer gesendet wurden.

planInfoPerClient

object (PlanInfoPerClient)

Tarif

Details zum Mobilfunktarif des Nutzers, d. h. das Angebot für den Mobilfunkdienst auf oberster Ebene, den ein Abonnent kauft Der Plan kann so einfach wie mobile Daten von 10 GB für 30 Tage sein oder als Sammlung von Komponenten definiert werden (sogenannte Planmodule). Beispiel: Der Tarif „ACME-Tarif 199“ mit der Bezeichnung „2 GB Daten“, „Unbegrenzte WhatsApp“ + „Unbegrenzter WeChat“ und „1 GB Spotify“ enthält drei Tarifmodule.

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

string

Name des Mobilfunktarifs des Nutzers.

planId

string

Erforderlich. Plan-ID, die sich auf den Plan während der Angebote bezieht usw.

planCategory

enum (PlanCategory)

Prepaid- oder Postpaid-Tarif.

expirationTime

string (Timestamp format)

Erforderlich. Wann dieser Plan abläuft. Bei den meisten Tarifen entspricht dieser Wert der maximalen Ablaufzeit aller Modulmodule. Bei Plänen, die das Modulkontingent regelmäßig aktualisieren, sollte dies die Ablaufzeit des allgemeinen Plans sein, also die Zeit, zu der die Aktualisierung der Planmodule nicht mehr erfolgt. Dieses Feld sollte weggelassen werden, wenn der Plan nicht abläuft.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Detaillierte Informationen zu Planmodulen (Unterpläne).

planState

enum (PlanState)

Status des Nutzerplans, z.B. „Aktiv“, „Inaktiv“ usw.

Plankategorie

Mögliche Arten von Tarifen.

Enums
PLAN_CATEGORY_UNSPECIFIED Nicht angegeben
PREPAID Prepaid-Tarif.
POSTPAID Nachträglicher Tarif.

Planmodul

Informationen zu jedem Datentarifmodul (oder ‐plan) in einem Plan.

JSON-Darstellung
{
  "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.
}
Felder
coarseBalanceLevel

enum (BalanceLevel)

Ungefähre Kontostandinformationen.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Liste der Traffic-Kategorien, die in diesem Planmodul in Rechnung gestellt werden.

expirationTime

string (Timestamp format)

Erforderlich. Spezifische Ablaufzeit des Planmoduls. Für Tarifmodule mit einem Kontingent, das regelmäßig aktualisiert wird, ist dies die Zeit der nächsten Modulaktualisierung. Dieses Feld sollte weggelassen werden, wenn der Plan nicht abläuft.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Übernutzungsrichtlinie, z.B. gedrosselt.

maxRateKbps

string (int64 format)

Maximale Datenrate, die von diesem Tarifmodul in Kbit/s zulässig ist. Die tatsächliche Datenrate liegt abhängig von den Netzwerkbedingungen zwischen 0 und maxRateKbps. Wird „maxRateKbps“ weggelassen oder auf 0 gesetzt, bedeutet dies, dass für dieses Planmodul keine Drosselung durchgeführt werden muss.

description

string

Erforderlich. Beschreibung des Planmoduls, die Nutzern angezeigt werden kann und sich in der Nähe der Marktbeschreibung dieses Planmoduls befindet.

moduleName

string

Erforderlich. Name des Planmoduls.

usedBytes

string (int64 format)

Gesamtzahl der vom Nutzer aus diesem Planmodul verwendeten Byte.

planModuleState

enum (PlanState)

Status des Planmoduls, z.B. „Aktiv“, „Inaktiv“ usw.

refreshPeriod

enum (RefreshPeriod)

Die Aktualisierungszeit dieses Planmoduls oder REFRESH_PERIOD_NONE, wenn das Kontingent des Planmoduls nicht aktualisiert wird. Planmodule, die das Kontingent aktualisieren, tun dies einmal pro Aktualisierungszeitraum.

Union-Feld balance. Erforderlich. Informationen zum Saldo des Planmoduls müssen einem der folgenden Werte entsprechen: byte_balance, time_balance, roarse_balance_level. Für balance ist nur einer der folgenden Werte zulässig:
byteBalance

object (ByteQuota)

Bytebasierte Informationen zum Kontostand des Planmoduls. Bei Modulen, die regelmäßig aktualisiert werden, steht dieses Feld für den Byteguthaben pro Aktualisierungszeitraum.

timeBalance

object (TimeQuota)

Informationen zum zeitbasierten Modulmodul. Bei Modulen, die regelmäßig aktualisiert werden, steht dieses Feld für den Zeitausgleich pro Aktualisierungszeitraum.

Bytekontingent

Bytebasierte Informationen zu Kontingent/Guthaben des Planmoduls.

JSON-Darstellung
{
  "quotaBytes": string,
  "remainingBytes": string
}
Felder
quotaBytes

string (int64 format)

Modulkontingent in Byte. Für unbegrenzte Pläne sollte dieser Wert auf 2^63–1 (9223372036854775807) festgelegt werden.

remainingBytes

string (int64 format)

Erforderlich für Benachrichtigungen bei niedrigem Guthaben. Verbleibendes Kontingentguthaben in Byte.

Zeitkontingent

Zeitbasierte Informationen zu Kontingenten und Guthaben des Planmoduls.

JSON-Darstellung
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Felder
quotaMinutes

string (int64 format)

Modulkontingent in Minuten für einen zeitbasierten Tarif, z.B. 180 Minuten.

remainingMinutes

string (int64 format)

Verbleibendes Kontingentguthaben in Minuten für einen zeitbasierten Tarif, z.B. 40 Minuten.

Kontostand

Informationen zum Datenguthaben für das grobe Planmodul.

Enums
BALANCE_LEVEL_UNSPECIFIED Nicht angegeben
NO_PLAN Kein Datentarif.
OUT_OF_DATA Datensaldo ist null.
LOW_QUOTA Das Datenguthaben bzw. die verbleibende Zeit ist gleich oder kleiner als 10–25% des Originalpakets (oder der Zeit). Mobilfunkanbieter können den genauen Schwellenwert für jedes Paket nach eigenem Ermessen festlegen.
HIGH_QUOTA Das Datenguthaben bzw. die verbleibende Zeit beträgt mehr als 10–25% des Originalpakets (oder der Zeit). Mobilfunkanbieter können den genauen Schwellenwert für jedes Paket nach eigenem Ermessen festlegen. Das Datenguthaben ist hoch.

PlanModuleTrafficCategory

Traffic-Kategorie des Planmoduls, die den Traffic der Anwendung beschreibt, der in ein bestimmtes Planmodul fällt.

Enums
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED Nicht angegeben
GENERIC Allgemein, gilt für den gesamten Traffic.
VIDEO Alle Zugriffe auf Videos
VIDEO_BROWSING Video Discovery-Zugriffe (Browserzugriff): bezieht sich auf den gesamten App-Traffic mit Ausnahme des Video-/Audio-Streaming-Teils.
VIDEO_OFFLINE Offline-Videotraffic: Die Summe der VIDEO_BROWSING- und Video-/Audio-Offlinezugriffe (nicht Streaming).
MUSIC Zugriffe über die Musik-App
GAMING Zugriffe über Gaming-Apps
SOCIAL Zugriffe über soziale Netzwerke
MESSAGING Messaging-App-Traffic.
APP_STORE Zugriffe im App-Shop, z. B. Aktualisieren oder Herunterladen einer neuen App

Richtlinie zur übermäßigen Nutzung

Richtlinie zur übermäßigen Nutzung: Was passiert, wenn der Nutzer kein Kontingent mehr hat?

Enums
OVER_USAGE_POLICY_UNSPECIFIED Nicht angegeben
THROTTLED Geschwindigkeit wird gedrosselt.
BLOCKED Verbindung ist blockiert.
PAY_AS_YOU_GO Nutzungsbasierte Abrechnung

Planstatus

Aufzählung, die den unterschiedlichen Status des Plan-/Planmoduls des Nutzers darstellt.

Enums
ACTIVE Plan/PlanModule ist aktiv und der Nutzer kann die im Rahmen des Moduls angebotenen Daten verwenden.
INACTIVE Plan/Plan-Modul ist inaktiv und während der Benutzer noch das Modul hat, kann er keine Daten verwenden, die Teil des Moduls sind. Das kann passieren, wenn das Modul nur zu bestimmten Tageszeiten Daten bereitstellt oder der Nutzer ein Modul erworben hat, das noch nicht aktiviert ist.
EXPIRING_SOON Plan/PlanModule läuft bald ab. Der Anrufer sollte eine geeignete Stufe auswählen, um zu bestimmen, wann dieser Wert festgelegt werden soll. Das bedeutet, dass der Plan automatisch aktiv ist.
NEWLY_ACTIVE Der Plan/PlanModule, der zuvor inaktiv oder nicht vorhanden war, wurde gerade aktiviert. Dieser Status sollte nach der Aktivierungszeit nur für kurze Zeit verwendet werden. Andernfalls wird der Status AKTIV verwendet. Benachrichtigungen zum Datentarif, die mit NEWLY_ACTIVE Modulen gesendet werden, sollten mit einer kurzen TTL gesendet werden, da der Status NEWLY_ACTIVE sehr schnell ungenau wird.
EXPIRED Plan/PlanModule ist abgelaufen. Wenn Sie diesen Enum-Wert festlegen, wird eine abgelaufene Benachrichtigung über den Plan ausgelöst.

Aktualisierungsperiode

Stellt einen Aktualisierungszeitraum dar, in dem ein Planmodul zurückgesetzt wird.

Enums
REFRESH_PERIOD_NONE Kein Aktualisierungszeitraum. Wird verwendet, wenn sich das Modul des Plans nicht wiederholt.
DAILY Das Planmodul wird jeden Tag zurückgesetzt.
MONTHLY Das Planmodul wird jeden Monat zurückgesetzt.
BIWEEKLY Das Planmodul wird alle zwei Wochen zurückgesetzt.
WEEKLY Das Planmodul wird wöchentlich zurückgesetzt.

AccountInfo

Informationen zum Guthaben eines vorausbezahlten Nutzers

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

object (Money)

Erforderlich. Verbleibendes Guthaben im Nutzerkonto.

loanBalance

object (Money)

Erforderlich, sofern zutreffend. Das Guthaben auf dem Nutzerkonto, das durch einen Geldkredit des Mobilfunkanbieters hinzugefügt wurde. Falls vorhanden, enthält das Feld accountAccount diesen Saldo nicht.

unpaidLoan

object (Money)

Geldbetrag, der dem Nutzer aufgrund von Krediten geschuldet wird.

accountBalanceStatus

enum (AccountBalanceStatus)

Erforderlich. Zeigt den Status des Kontostands an. Bei einer Abweichung zwischen dem Feld „validUntil time“ und dem Feld „accountBalanceStatus“ verwenden wir „accountGuthabenStatus“.

validUntil

string (Timestamp format)

Erforderlich. Der Zeitraum, bis zu dem der Kontostand gültig ist. Dieses Feld wird verwendet, um in

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

Der Geldbetrag, den der Nutzer ausgegeben hat, indem er den „Pay as you go“-Tarif verwendet. Wenn dieses Feld vom Mobilfunkanbieter ausgefüllt wird, wenn Kontoinformationen an den GTAF weitergegeben werden, versucht GTAF, eine Benachrichtigung an den Nutzer zu senden, in der er darüber informiert wird, dass er Geld in einem „Pay as you go“-Konto ausgibt.

accountTopUp

object (Money)

Erforderlich für Benachrichtigungen zur Kontoaufladung. Der Geldbetrag, den der Nutzer zu seinem Guthaben hinzugefügt hat. Wenn dieses Feld vom Mobilfunkanbieter ausgefüllt wird, wenn Kontoinformationen an GTAF weitergegeben werden, versucht GTAF eine Benachrichtigung an den Nutzer zu senden, in der er darüber informiert wird, dass sein Konto aufgeladen wurde.

Money

Stellt einen Geldbetrag mit Währungstyp dar.

JSON-Darstellung
{
  "currencyCode": string,
  "units": string,
  "nanos": number
}
Felder
currencyCode

string

Der aus drei Buchstaben bestehende Währungscode gemäß ISO 4217.

units

string (int64 format)

Die ganzen Einheiten des Betrags. Wenn currencyCode beispielsweise "USD" ist, entspricht eine Einheit 1 US-Dollar.

nanos

number

Anzahl der Nanoeinheiten (10^-9) des Betrags. Der Wert muss im Bereich von -999.999.999 bis +999.999.999 liegen. Wenn units positiv ist, muss nanos positiv oder null sein. Wenn units null ist, kann nanos positiv, null oder negativ sein. Wenn units negativ ist, muss nanos negativ oder null sein. -1,75 $ wird beispielsweise als units = -1 und nanos = -750.000.000 dargestellt.

Kontostand-Status

Status der Nutzer-Wallet.

Enums
VALID Das Nutzerkonto ist gültig und kann für Käufe verwendet werden.
INVALID Das Guthaben des Nutzerkontos ist ungültig und kann nur verwendet werden, wenn Änderungen am Konto vorgenommen werden.

UI-Kompatibilität

Aufzählung, die angibt, ob dem Nutzer der freigegebene Status „PlanStatus“ angezeigt werden kann

Enums
UI_COMPATIBILITY_UNSPECIFIED Standardmäßig gehen wir davon aus, dass der PlanStatus mit der Benutzeroberfläche kompatibel ist.
UI_COMPATIBLE Gibt an, dass der gesamte PlanStatus mit der Benutzeroberfläche kompatibel ist und dem Nutzer die Tarifinformationen angezeigt werden können.
UI_INCOMPATIBLE Gibt an, dass der PlanStatus nicht mit der Benutzeroberfläche kompatibel ist. Felder können verwendet werden, um Benachrichtigungen an den Nutzer zu senden. Sie können jedoch nicht verwendet werden, um Nutzern Informationen zum Tarif zu präsentieren.

Benachrichtigungstyp

Die Art der Benachrichtigung, die an den Nutzer der Einstellungen für den mobilen Datentarif gesendet wird.

Enums
NOTIFICATION_UNDEFINED Unbekannter Benachrichtigungsgenretyp
NOTIFICATION_LOW_BALANCE_WARNING Benachrichtigung, die Nutzer bei niedrigem Guthaben warnt
NOTIFICATION_DATA_EXPIRATION_WARNING Benachrichtigung, die Nutzer warnt, wenn der Datentarif abläuft
NOTIFICATION_OUT_OF_DATA Benachrichtigung, dass die Datenmenge aufgebraucht ist
NOTIFICATION_PLAN_ACTIVATION Benachrichtigung, dass ein erworbenes Abo jetzt aktiv ist
NOTIFICATION_PAY_AS_YOU_GO Eine Benachrichtigung, in der der Nutzer darüber informiert wird, dass er für Daten mit dem Status „Pay as you go“ bezahlt.
NOTIFICATION_ACCOUNT_TOP_UP Eine Benachrichtigung, die den Nutzer darüber informiert, dass sein Guthaben aufgeladen wurde.
NOTIFICATION_DATA_EXPIRED Eine Benachrichtigung, die den Nutzer darüber informiert, dass sein Datentarif abgelaufen ist.

PlanInfoPerClient

Informationen zu Datentarifen, die für einen bestimmten Google-Kunden relevant sind

JSON-Darstellung
{
  "youtube": {
    object (YouTube)
  }
}
Felder
youtube

object (YouTube)

Informationen zum YouTube-Tarif.

YouTube

Informationen zu Datentarifen, die für YouTube relevant sind

JSON-Darstellung
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Felder
rateLimitedStreaming

object (RateLimitedStreaming)

YouTube Plan Aware Streaming (PAS): Funktion, die die Bitrate von übermittelten Videos begrenzt

Streaming-Streaming

Informationen zu Datentarifen, die es YouTube ermöglichen, die Streaminggeschwindigkeit für Nutzer zu optimieren

JSON-Darstellung
{
  "maxMediaRateKbps": number
}
Felder
maxMediaRateKbps

number

Die für diesen Nutzer unterstützte YouTube-Bitrate in kBit/s (1.000 Bit pro Sekunde).

Methoden

create

Ermöglicht einem Mobilfunkanbieter, der durch seine eindeutige Autonomous System Number (ASN) identifiziert wird, einen neuen PlanStatus-Eintrag für einen Nutzer hinzuzufügen, der von einem bestimmten Client verwendet werden soll.