REST Resource: operators.clients.users.planStatus

Zasób: PlanStatus

PlanPlan zawiera szczegółowe informacje o wszystkich pakietach usług najwyższego poziomu kupionych przez użytkownika.

Zapis 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)
}
Pola
name

string

Nazwa zasobu PlanStatus w tym formacie: operators/{asn_id}/planStatuses/{userKey}. Nazwa jest ignorowana podczas tworzenia wpisu PlanStatus.

plans[]

object (Plan)

Lista abonamentów należących do tego użytkownika.

languageCode

string

Wymagany. Kod języka BCP-47, np. "en-US" lub "sr-Latn". Więcej informacji znajdziesz na stronie http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Wymagany. Czas, w którym informacje o grupie udostępnianej planu stają się nieaktualne. Po tym czasie plan nie będzie udostępniany aplikacjom. Data ważności musi przypadać w przyszłości.

Sygnatura czasowa w formacie RFC3339 UTC &Zulu" z rozdzielczością nanosekundy i do 9 cyfr po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Wymagany. Czas, w którym agent pakietu danych (DPA) pobrał informacje o stanie planu z systemów backendu. Pozwala określić, jak aktualne są informacje o stanie planu. Czas aktualizacji musi przypadać w przeszłości, ale nie może być starszy niż 30 dni.

Sygnatura czasowa w formacie RFC3339 UTC &Zulu" z rozdzielczością nanosekundy i do 9 cyfr po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

title

string

Tytuł umowy zawartej przez operatora z operatorem. Pojawi się on w nagłówku interfejsu.

subscriberId

string

Niepowtarzalny identyfikator stabilny w systemie operatora służący do identyfikowania użytkownika.

accountInfo

object (AccountInfo)

Wymagane w przypadku użytkowników przedpłaconych. Informacje o saldzie konta użytkownika.

uiCompatibility

enum (UiCompatibility)

Określa, czy abonament może wyświetlać się użytkownikowi. Gdy jest ustawiona na UI_INCOMPATIBLE, stan elementu PlanStatus można używać do wysyłania użytkownikom powiadomień, ale nie do wyświetlania użytkownikowi informacji o abonamencie.

notifications[]

enum (NotificationType)

Zawiera listę typów powiadomień wysyłanych do użytkownika przez GTAF. GTAF ignoruje to pole, jeśli jest wypełnione przez rozmówcę.

planInfoPerClient

object (PlanInfoPerClient)

Informacje o pakiecie danych dotyczące konkretnego klienta Google.

cpidState

enum (CpidState)

Stan CPI powiązany ze stanem planu.

Abonament

Szczegółowe informacje o pakiecie użytkownika dla urządzeń mobilnych, czyli najwyższego poziomu pakietu usług na komórki, który kupuje subskrybent. Plan może być prosty lub mieć 10 GB mobilnej transmisji danych przez 30 dni. Można go też zdefiniować jako zbiór komponentów (nazywanych modułami planu). Na przykład abonament ACME 199 opisany jako „"2 GB”, nieograniczoną liczbę WhatsApp + czat i 1 GB Spotify i 1 moduł zawiera 3 moduły planu.

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

string

Nazwa abonamentu komórkowego użytkownika.

planId

string

Wymagany. Identyfikator pakietu używany w odniesieniu do planu podczas jego realizacji itp.

planCategory

enum (PlanCategory)

Abonament przedpłacony lub przedpłacony.

expirationTime

string (Timestamp format)

Wymagany. Po wygaśnięciu tego abonamentu. W przypadku większości planów powinno to być równe maksymalnemu okresowi ważności poszczególnych abonamentów. W przypadku planów, które okresowo odświeżają limit modułów, powinien to być ogólny czas wygaśnięcia planu, czyli czas, w którym moduły przestaną się odświeżać. To pole należy pominąć, jeśli abonament nie traci ważności.

Sygnatura czasowa w formacie RFC3339 UTC &Zulu" z rozdzielczością nanosekundy i do 9 cyfr po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

szczegółowe informacje o modułach podrzędnych (abonamentach podrzędnych);

planState

enum (PlanState)

Stan planu użytkownika, np. aktywny, nieaktywny itp.

Kategoria planu

Możliwe typy kategorii planu.

Wartości w polu enum
PLAN_CATEGORY_UNSPECIFIED Nie określono.
PREPAID Abonament przedpłacony.
POSTPAID Abonament abonamentowy.

ModułPlan

Informacje o poszczególnych modułach pakietu danych (lub o abonamentach) w planie.

Zapis 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.
}
Pola
coarseBalanceLevel

enum (BalanceLevel)

Ogólne informacje o saldzie.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Lista kategorii ruchu, które będą pobierane z tego modułu.

expirationTime

string (Timestamp format)

Wymagany. Czas wygaśnięcia określonego modułu planu. W przypadku modułów planu z limitem, który odświeża się okresowo, jest to czas na następne odświeżenie modułu. To pole należy pominąć, jeśli moduł planu nie traci ważności.

Sygnatura czasowa w formacie RFC3339 UTC &Zulu" z rozdzielczością nanosekundy i do 9 cyfr po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Zasady dotyczące nadmiernego używania, np. ograniczone.

maxRateKbps

string (int64 format)

Maksymalna szybkość transmisji danych dozwolona przez ten moduł planu w kb/s. Rzeczywista szybkość transmisji danych musi się mieścić w przedziale od 0 do maks. stawki Kb/s, w zależności od warunków sieci. Pominięcie wartości maxRateKbps lub ustawienie na 0 oznacza, że w tym module planu nie należy wykonywać ograniczania.

description

string

Wymagany. Opis modułu planu może się wyświetlać użytkownikom i musi być zbliżony do opisu rynku modułu.

moduleName

string

Wymagany. Nazwa modułu planu.

usedBytes

string (int64 format)

Łączna liczba bajtów używanych przez użytkownika z tego modułu planu.

planModuleState

enum (PlanState)

Stan modułu planu, np. aktywny, nieaktywny itp.

refreshPeriod

enum (RefreshPeriod)

Okres odświeżania tego modułu planu lub REFRESH_PERIOD_NONE, jeśli moduł nie odświeża limitu. Moduły z modułami, które odświeżają limit, będą wykonywane raz na okres odświeżania.

Pole związkowe balance. Wymagany. Informacje o saldzie modułu planu powinny być jedną z tych wartości: byte_balance, time_balance, minarse_balance_level. balance może mieć tylko jedną z tych wartości:
byteBalance

object (ByteQuota)

Informacje o saldzie modułu opartego na abonamencie (w bajtach). W przypadku modułów odświeżanych okresowo to pole przedstawia saldo bajtów na okres odświeżania.

timeBalance

object (TimeQuota)

Informacje o saldzie modułu planu opartym na czasie. W przypadku modułów, które są odświeżane co jakiś czas, to pole przedstawia saldo czasu w okresie odświeżania.

Limit bajtów

Informacje o limicie modułów/równoważenia abonamentu opartego na bajtach.

Zapis JSON
{
  "quotaBytes": string,
  "remainingBytes": string
}
Pola
quotaBytes

string (int64 format)

Limit modułu w bajtach. W przypadku abonamentów bez ograniczeń wartość powinna mieć wartość 2^63 – 1 (9223372036854775807).

remainingBytes

string (int64 format)

Wymagane w przypadku powiadomień o niskim saldzie. Pozostały limit miejsca w bajtach.

Limit czasu

Informacje o limitach i balansie modułów w ramach abonamentu.

Zapis JSON
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Pola
quotaMinutes

string (int64 format)

Limit modułu w minutach dla planu opartego na czasie, np. 180 minut.

remainingMinutes

string (int64 format)

Pozostały limit minut w ramach abonamentu na czas, np. 40 minut.

PoziomPoziom

Informacje o saldzie danych modułu planu przybliżonego.

Wartości w polu enum
BALANCE_LEVEL_UNSPECIFIED Nie określono.
NO_PLAN Brak abonamentu.
OUT_OF_DATA Saldo danych jest zerowe.
LOW_QUOTA Saldo danych (lub pozostały czas) jest równe 10–25% oryginalnego salda (lub czasu). Operatorzy mogą ustanowić dokładny próg dla każdego pakietu według własnego uznania.
HIGH_QUOTA Saldo danych (lub więcej czasu) wynosi ponad 10–25% oryginalnego salda (lub czasu). Operatorzy mogą ustanowić dokładny próg dla każdego pakietu według własnego uznania. Saldo danych jest wysokie.

Kategoria ruchu modułu

Kategoria ruchu modułu planu, która opisuje zestaw ruchu w aplikacji należącego do konkretnego modułu planu.

Wartości w polu enum
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED Nie określono.
GENERIC Ogólne; dotyczy całego ruchu.
VIDEO Cały ruch wideo.
VIDEO_BROWSING Ruch związany z odkrywaniem (przeglądaniem) wideo, który obejmuje cały ruch generowany przez aplikacje wideo z wyłączeniem części strumienia wideo/audio.
VIDEO_OFFLINE Ruch offline dotyczący wideo, który stanowi sumę ruchu VIDEO_BROWSING i ruchu offline pochodzącego z wideo/audio.
MUSIC Ruch z aplikacji muzycznej.
GAMING Ruch w aplikacji z grami.
SOCIAL Ruch z aplikacji społecznościowych.
MESSAGING Ruch w aplikacji do obsługi wiadomości.
APP_STORE Ruch w sklepie z aplikacjami, np. aktualizowanie lub pobieranie nowej aplikacji.

Zasady dotyczące nadmiernego używania

Zasady dotyczące nadmiernego używania: co się dzieje, gdy użytkownikowi skończy się miejsce.

Wartości w polu enum
OVER_USAGE_POLICY_UNSPECIFIED Nie określono.
THROTTLED Szybkość jest ograniczona.
BLOCKED Połączenie jest zablokowane.
PAY_AS_YOU_GO Płatność za użytkowanie.

Stan planu

Enum reprezentujące inny stan modułu planu/abonamentu.

Wartości w polu enum
ACTIVE Plan/Planmodule jest aktywny, a użytkownik może używać danych oferowanych w ramach modułu.
INACTIVE Moduł/plan jest nieaktywny, ale użytkownik nadal ma do niego dostęp, ale nie może korzystać z jego danych. Może się tak zdarzyć, jeśli moduł oferuje dane tylko o określonych porach dnia lub gdy użytkownik kupił moduł, ale nie został on jeszcze aktywowany.
EXPIRING_SOON Plan/PlanModule wkrótce straci ważność. Rozmówca powinien wybrać odpowiedni poziom określający, kiedy ustawić tę wartość. Oznacza to automatycznie, że abonament jest aktywny.
NEWLY_ACTIVE Aktywowano Plan/PlanModule, który wcześniej był nieaktywny lub nie istnieje. Stan ten należy stosować przez bardzo krótki czas po aktywacji. W przeciwnym razie należy użyć stanu AKTYWNE. Powiadomienia o stanie pakietu danych wysyłane z modułami NEWLY_ACTIVE powinny być wysyłane z krótkim czasem TTL, ponieważ stan NEWLY_ACTIVE będzie bardzo szybko aktualizowany.
EXPIRED Plan/Planmodule wygasł. Ustawienie tej wartości wyliczeniowej powoduje wysłanie powiadomienia o wygasłym planie.

Okres odświeżania

Odnosi się do okresu odświeżania, w którym następuje okres resetowania modułu planu.

Wartości w polu enum
REFRESH_PERIOD_NONE Brak okresu odświeżania. Używany, gdy moduł planu nie jest cykliczny.
DAILY Moduł jest resetowany codziennie.
MONTHLY Moduł jest resetowany co miesiąc.
BIWEEKLY Moduł jest resetowany co 2 tygodnie.
WEEKLY Moduł planu jest resetowany co tydzień.

Informacje o koncie

Informacje o przedpłaconym saldzie konta użytkownika.

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

object (Money)

Wymagany. Saldo konta pozostałe na koncie użytkownika.

loanBalance

object (Money)

Wymagany, jeśli ma zastosowanie. Saldo konta pozostałe na koncie użytkownika dodane przez pożyczkę pieniężną od operatora. Jeśli to pole jest obecne, pole accountBALANCE nie uwzględnia tego salda.

unpaidLoan

object (Money)

Kwota pieniężna, którą użytkownik musi zapłacić operatorowi ze względu na pożyczki pieniężne.

accountBalanceStatus

enum (AccountBalanceStatus)

Wymagany. Wskazuje stan salda konta. W przypadku niezgodności między prawidłowym czasem a polem accountSaldoStatus używamy parametru account BalanceStatus.

validUntil

string (Timestamp format)

Wymagany. Czas, w którym saldo konta jest prawidłowe. To pole będzie używane razem z informacją o nieprawidłowym oznaczeniu .

Sygnatura czasowa w formacie RFC3339 UTC &Zulu" z rozdzielczością nanosekundy i do 9 cyfr po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

Kwota wydana przez użytkownika za pomocą wydanego w ramach abonamentu abonamentu. Jeśli operator wypełnia to pole, używając tego pola, firma GTAF spróbuje wysłać użytkownikowi powiadomienie o wydatkach na rozliczeniu.

accountTopUp

object (Money)

Wymagane w przypadku powiadomienia o doładowaniem konta. Kwota, którą użytkownik dodał do salda konta. Jeśli operator uzupełni to pole podczas udostępniania informacji o koncie usłudze GTAF, spróbuje wysłać do użytkownika powiadomienie, że jego konto zostało uzupełnione.

Pieniądze

Reprezentuje kwotę równą typowi waluty.

Zapis JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Pola
currencyCode

string

Trzyliterowy kod waluty zgodny z normą ISO 4217.

units

string (int64 format)

Całe jednostki. Jeśli na przykład currencyCode to "USD", wartość 1 jednostki to 1 USD.

nanos

integer

Liczba jednostek nano (10^–9) kwoty. Wartość musi zawierać się w zakresie od -999 999 999 do +999 999 999 włącznie. Jeśli units ma wartość dodatnią, nanos musi mieć wartość dodatnią lub wynosić 0. Jeśli units ma wartość zero, nanos może być dodatnie, zero lub ujemne. Jeśli units jest wartością ujemną, nanos musi mieć wartość ujemną lub zero. Na przykład –1,75 USD jest przedstawiane jako units=-1 i nanos=-750 000 000.

Stan konta

Stan portfela użytkownika.

Wartości w polu enum
VALID Saldo konta użytkownika jest prawidłowe i można go używać do zakupów.
INVALID Saldo konta użytkownika jest nieprawidłowe i nie można go używać bez wprowadzania zmian na koncie.

Zgodność z UI

Wartość określająca, czy użytkownikowi może być udostępniany udostępniany stan planu.

Wartości w polu enum
UI_COMPATIBILITY_UNSPECIFIED Domyślnie zakładamy, że element PlanStatus jest zgodny z interfejsem użytkownika.
UI_COMPATIBLE Wskazuje, że cały plan jest zgodny z UI, a użytkownik może zobaczyć informacje o planie.
UI_INCOMPATIBLE Wskazuje, że abonament status nie jest zgodny z interfejsem. Pola można używać do wysyłania powiadomień użytkownikowi, ale nie można mu wyświetlać informacji o planie.

Typ powiadomienia

Typ powiadomienia wysyłanego do użytkownika ustawień mobilnej transmisji danych.

Wartości w polu enum
NOTIFICATION_UNDEFINED Nieznany typ powiadomienia
NOTIFICATION_LOW_BALANCE_WARNING Powiadomienie ostrzegające użytkowników o niskim saldzie
NOTIFICATION_DATA_EXPIRATION_WARNING Powiadomienie ostrzegające użytkowników o wygaśnięciu pakietu danych
NOTIFICATION_OUT_OF_DATA Powiadomienie o wyczerpaniu danych użytkowników
NOTIFICATION_PLAN_ACTIVATION Powiadomienie o tym, że kupiony abonament użytkownika jest teraz aktywny
NOTIFICATION_PAY_AS_YOU_GO Powiadomienie informujące użytkownika, że w według stanu płatności płaci za dane.
NOTIFICATION_ACCOUNT_TOP_UP Powiadomienie informujące użytkownika, że saldo konta zostało uzupełnione.
NOTIFICATION_DATA_EXPIRED Powiadomienie informujące użytkownika o wygaśnięciu pakietu danych.

PlanInformacjenaKlient

Informacje o pakiecie danych dotyczące konkretnego klienta Google.

Zapis JSON
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
Pola
youtube

object (YouTube)

Informacje o abonamencie YouTube.

androidSystemInfo

object (AndroidSystemInfo)

Informacje o abonamencie dotyczące systemu Android.

YouTube

Informacje o abonamencie dotyczące YouTube.

Zapis JSON
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Pola
rateLimitedStreaming

object (RateLimitedStreaming)

Funkcja strumieniowania w YouTube Plan Aware, która ogranicza szybkość transmisji bitów wyświetlania filmu.

Strumieniowe przesyłanie ograniczone

Informacje o pakiecie danych, aby umożliwić YouTube zwiększenie wygody użytkowników korzystających z transmisji strumieniowej.

Zapis JSON
{
  "maxMediaRateKbps": integer
}
Pola
maxMediaRateKbps

integer

Szybkość transmisji bitów YouTube obsługiwana w przypadku tego użytkownika (w kb/s (1000 i bity na sekundę).

Informacje o systemie Android

Informacje o pakiecie danych dotyczące całego systemu Android.

Zapis JSON
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
Pola
cellularInfo[]

object (CellularInfo)

Informacje o sieci komórkowej według typu połączenia. Dla każdego typu połączenia, np. 4G, 5G, pojawi się jedna wiadomość komórkowa.

Informacje komórkowe

Informacje o połączeniu z siecią komórkową użytkownika.

Zapis JSON
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
Pola
connectionType

enum (ConnectionType)

Typ połączenia, który operator udostępnia użytkownikowi.

meteredness

enum (Meteredness)

Stan pomiaru wykorzystania abonamentu użytkownika.

Typ połączenia

Typ połączenia: 2G, 3G, 4G

Wartości w polu enum
CONNECTION_TYPE_UNSPECIFIED Nie określono.
CONNECTION_2_G 2G.
CONNECTION_3_G 3G.
CONNECTION_4_G 4G.
CONNECTION_5_G 5G.
CONNECTION_ALL Wszystkie gatunki.

Metrytacja

Abonament, z którego korzysta użytkownik

Wartości w polu enum
METEREDNESS_UNSPECIFIED GTAF nie wie o stanie pomiaru w planie użytkownika.
METEREDNESS_UNMETERED Użytkownik korzysta z abonamentu bez pomiaru.
METEREDNESS_METERED Użytkownik korzysta z abonamentu z pomiarem wykorzystania limitu.

Stan CpidState

Wartość wyliczeniowa, która odpowiada operatorowi CPID.

Wartości w polu enum
CPID_STATE_UNSPECIFIED Stan CPID jest nieokreślony. Są one traktowane tak, jakby CPID był prawidłowy.
CPID_INVALIDATED Wartości CPID są nieprawidłowe, a klient powinien pobrać nowy CPI z punktu końcowego CPID.

Metody

create

Zezwala operatora sieci komórkowej (określanego na podstawie jego unikalnego numeru systemu autonomicznego) na dodawanie nowego wpisu PlanStatus, który będzie używany przez konkretnego klienta.