REST Resource: operators.clients.users.planStatus

Recurso: PlanStatus

O PlanStatus contém detalhes de todos os pacotes de serviços móveis de nível superior comprados por um usuário.

Representação 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)
}
Campos
name

string

O nome do recurso do PlanStatus no seguinte formato: operators/{asn_id}/planStatuses/{userKey}. O nome é ignorado quando você cria uma entrada PlanStatus.

plans[]

object (Plan)

Lista de planos que pertencem a este usuário.

languageCode

string

Obrigatório. O código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Obrigatório. Momento em que as informações do grupo do plano compartilhado ficam desatualizadas. O PlanStatus não será exibido para os aplicativos depois desse período. A data de validade precisa estar no futuro.

Timestamp no formato RFC3339 UTC "Zulu" com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Obrigatório. Tempo em que o agente do plano de dados (DPA) buscou as informações de status do plano dos sistemas de back-end. Pode ser usado para determinar as informações recentes do status do plano. O horário da atualização precisa estar no passado, mas não pode ter mais de 30 dias.

Timestamp no formato RFC3339 UTC "Zulu" com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

title

string

Título do contrato que o usuário tem com o operador. Isso será mostrado no cabeçalho da IU.

subscriberId

string

Identificador estável exclusivo no sistema da operadora para identificar o usuário.

accountInfo

object (AccountInfo)

Obrigatório para usuários pré-pagos. São informações sobre o saldo da conta de usuário.

uiCompatibility

enum (UiCompatibility)

Determina se o PlanStatus pode ser exibido ao usuário em uma interface do usuário. Quando definido como UI_INCOMPATIBLE, o PlanStatus pode ser usado para enviar notificações ao usuário, mas não para mostrar as informações do plano para o usuário.

notifications[]

enum (NotificationType)

Contém a lista de tipos de notificações enviadas ao usuário pelo GTAF. O GTAF vai ignorar esse campo se ele for preenchido pelo autor da chamada.

planInfoPerClient

object (PlanInfoPerClient)

Informações do plano de dados relevantes para um determinado cliente do Google.

cpidState

enum (CpidState)

Status do CPID associado a esse status do plano.

Planejamento

Detalhes do plano de dispositivos móveis do usuário, que é o pacote de serviço móvel de nível superior comprado por um assinante. O plano pode ser tão simples quanto "10 GB de dados móveis por 30 dias" ou pode ser definido como uma coleção de componentes (que chamamos de módulos do plano). Por exemplo, o plano ACME 199, descrito como dados de 2 GB, WhatsApp ilimitado + wechat ilimitado e 1 GB do Spotify, contém três módulos de plano.

Representação JSON
{
  "planName": string,
  "planId": string,
  "planCategory": enum (PlanCategory),
  "expirationTime": string,
  "planModules": [
    {
      object (PlanModule)
    }
  ],
  "planState": enum (PlanState)
}
Campos
planName

string

Nome do plano para dispositivos móveis do usuário.

planId

string

Obrigatório. Identificador do plano, usado para se referir ao plano durante ofertas etc.

planCategory

enum (PlanCategory)

Plano pré ou pós-pago

expirationTime

string (Timestamp format)

Obrigatório. Quando o plano expira. Para a maioria dos planos, ela deve ser igual ao máximo de todos os prazos de validade específicos do módulo do plano. Para planos que atualizam periodicamente a cota do módulo, esse precisa ser o prazo de validade geral do plano, o horário em que os módulos do plano deixam de ser atualizados. Este campo deve ser omitido se o plano não expirar.

Timestamp no formato RFC3339 UTC "Zulu" com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Informações detalhadas dos módulos (planos) do plano.

planState

enum (PlanState)

Estado do plano do usuário, por exemplo, ativo, inativo etc.

Categoria do plano

Tipos possíveis de categoria do plano.

Enums
PLAN_CATEGORY_UNSPECIFIED Não especificado.
PREPAID Plano pré-pago
POSTPAID Plano pós-pago.

Módulo de plano

São informações de cada módulo de plano de dados (ou subplano) dentro de um plano.

Representação 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.
}
Campos
coarseBalanceLevel

enum (BalanceLevel)

Informações aproximadas de saldo.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Lista de categorias de tráfego que serão cobradas neste módulo do plano.

expirationTime

string (Timestamp format)

Obrigatório. Prazo de validade específico do módulo de planos. Nos módulos de plano com cota que é atualizada periodicamente, é o momento da próxima atualização do módulo. Este campo deve ser omitido se o módulo do plano não expirar.

Timestamp no formato RFC3339 UTC "Zulu" com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Por política de uso, por exemplo, limitada.

maxRateKbps

string (int64 format)

Taxa máxima de dados permitida por este módulo de plano em Kbps. A taxa de dados real observada está entre 0 e maxRateKbps, dependendo das condições da rede. A omissão de maxRateKbps ou definição como 0 indica que nenhuma limitação será realizada para este módulo de plano.

description

string

Obrigatório. A descrição do módulo do plano pode ser exibida ao usuário e deve estar próxima da descrição de mercado deste módulo do plano.

moduleName

string

Obrigatório. Nome do módulo do plano.

usedBytes

string (int64 format)

Número total de bytes usados pelo usuário neste módulo do plano.

planModuleState

enum (PlanState)

Estado do módulo do plano, por exemplo, ativo, inativo etc.

refreshPeriod

enum (RefreshPeriod)

O período de atualização deste módulo do plano ou REFRESH_PERIOD_NONE se o módulo do plano não atualizar a cota. Os módulos de plano que atualizam a cota farão isso a cada período de atualização.

Campo de união balance. Obrigatório. As informações de saldo do módulo de plano devem ser uma das seguintes: byte_balance, time_balance, coarse_balance_level. balance pode ser apenas de um dos tipos a seguir:
byteBalance

object (ByteQuota)

Informações de saldo do módulo do plano baseado em bytes. Para módulos que são atualizados periodicamente, este campo representa o saldo de bytes por período de atualização.

timeBalance

object (TimeQuota)

Informações de saldo do módulo do plano baseado em tempo. Para módulos que são atualizados periodicamente, esse campo representa o saldo de tempo por período de atualização.

Cota de bytes

Informações de cota/saldo de módulos do plano com base em bytes.

Representação JSON
{
  "quotaBytes": string,
  "remainingBytes": string
}
Campos
quotaBytes

string (int64 format)

Cota de módulo em bytes. Para planos ilimitados, defina como 2^63 - 1 (9223372036854775807).

remainingBytes

string (int64 format)

Obrigatório para notificações de saldo baixo. Saldo restante da cota em bytes.

Cota de tempo

Informações de cota/saldo do módulo de plano baseado em tempo.

Representação JSON
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Campos
quotaMinutes

string (int64 format)

Cota de módulos em minutos para o plano baseado em tempo, por exemplo, 180 minutos

remainingMinutes

string (int64 format)

Saldo restante da cota em minutos para o plano com base no tempo, por exemplo, 40 minutos

Nível de saldo

Informações gerais do saldo de dados do módulo do plano.

Enums
BALANCE_LEVEL_UNSPECIFIED Não especificado.
NO_PLAN Nenhum plano de dados.
OUT_OF_DATA O saldo de dados é zero.
LOW_QUOTA O saldo de dados (ou o tempo restante) é igual ou menor a 10 a 25% do saldo (ou tempo) do pacote original. As transportadoras PODEM determinar o limite exato para cada pacote, conforme julgar adequado.
HIGH_QUOTA O saldo de dados (ou tempo restante) é mais de 10% a 25% do saldo (ou tempo) do pacote original. As transportadoras PODEM determinar o limite exato para cada pacote, conforme julgar adequado. O saldo de dados está alto.

Categoria do tráfego do plano do plano

Categoria de tráfego do módulo "Plano", que descreve o conjunto de tráfego de aplicativos que se enquadra em um módulo de plano específico.

Enums
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED Não especificado.
GENERIC Genérico, aplicável a todo o tráfego.
VIDEO Todo o tráfego de vídeo.
VIDEO_BROWSING Tráfego de descoberta de vídeo (navegação), que se refere a todo o tráfego de apps de vídeo, excluindo a parte de streaming de vídeo/áudio.
VIDEO_OFFLINE Tráfego off-line de vídeo, que é a soma do tráfego de VIDEO_BROWSING e vídeo/áudio off-line (sem streaming).
MUSIC Tráfego de apps de música.
GAMING Tráfego de apps de jogos.
SOCIAL Tráfego de apps de redes sociais.
MESSAGING Tráfego de apps de mensagens.
APP_STORE Tráfego da app store, como a atualização ou o download de um novo app.

Política de uso excessivo

Sobre a política de uso: o que acontece quando o usuário fica sem cota.

Enums
OVER_USAGE_POLICY_UNSPECIFIED Não especificado.
THROTTLED A velocidade está limitada.
BLOCKED A conexão está bloqueada.
PAY_AS_YOU_GO Pagamento por uso.

Estado do plano

Enumeração que representa o estado diferente do plano do plano do usuário.

Enums
ACTIVE O plano/planModule está ativo, e o usuário pode usar os dados oferecidos como parte do módulo.
INACTIVE O plano/plano do plano está inativo e, enquanto o usuário ainda tem o módulo, não pode usar os dados que fazem parte dele. Isso pode acontecer se o módulo oferecer dados apenas em determinados horários do dia ou se o usuário tiver comprado um módulo, mas ele ainda não estiver ativado.
EXPIRING_SOON Plan/PlanModule expira em breve. O autor da chamada precisa escolher o nível apropriado para determinar quando definir esse valor. Isso significa automaticamente que o plano está ativo.
NEWLY_ACTIVE O plano/planModule que estava inativo ou inexistente acabou de ser ativado. Esse estado deve ser usado por um período muito curto após o tempo de ativação. Caso contrário, o estado ATIVO deve ser usado. As notificações de status do plano de dados enviadas com módulos NEWLY_ACTIVE precisam ser enviadas com um TTL curto, porque o status NEWLY_ACTIVE se tornará impreciso muito rapidamente.
EXPIRED Plan/PlanModule expirou. A definição desse valor de enumeração aciona uma notificação de expiração do plano.

Período de atualização

Representa um período de atualização, o intervalo regular em que um módulo do plano é redefinido.

Enums
REFRESH_PERIOD_NONE Sem período de atualização. Usado quando o módulo do plano não é recorrente.
DAILY O módulo do plano é redefinido todos os dias.
MONTHLY O módulo do plano é reiniciado mensalmente.
BIWEEKLY O módulo do plano é redefinido a cada duas semanas.
WEEKLY O módulo do plano é reiniciado toda semana.

AccountInfo

São informações sobre o saldo pré-pago da conta do usuário.

Representação JSON
{
  "accountBalance": {
    object (Money)
  },
  "loanBalance": {
    object (Money)
  },
  "unpaidLoan": {
    object (Money)
  },
  "accountBalanceStatus": enum (AccountBalanceStatus),
  "validUntil": string,
  "payAsYouGoCharge": {
    object (Money)
  },
  "accountTopUp": {
    object (Money)
  }
}
Campos
accountBalance

object (Money)

Obrigatório. O saldo restante na conta de usuário.

loanBalance

object (Money)

Obrigatório, se aplicável. Saldo restante na conta de usuário que foi adicionado por um empréstimo monetário da operadora. O campo saldo da conta não vai ser incluído nesse campo, se houver.

unpaidLoan

object (Money)

Quantia em dinheiro que o usuário deve à operadora devido a empréstimos monetários.

accountBalanceStatus

enum (AccountBalanceStatus)

Obrigatório. Indica o status do saldo da conta. Em caso de incompatibilidade entre o campo validUntil e o campo accountBalanceStatus, usamos accountBalanceStatus.

validUntil

string (Timestamp format)

Obrigatório. O período em que o saldo da conta será válido. Esse campo será usado para mostrar "Inválido em

Timestamp no formato RFC3339 UTC "Zulu" com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

A quantidade de dinheiro que o usuário gastou usando o plano de pagamento por utilização. Se esse campo for preenchido pela operadora ao compartilhar informações da conta com o GTAF, a GTAF tentará enviar uma notificação ao usuário indicando que ele está gastando dinheiro em um pagamento por utilização.

accountTopUp

object (Money)

Obrigatório para notificação de recarga da conta. A quantia que o usuário adicionou ao saldo da conta. Se esse campo for preenchido pela operadora ao compartilhar informações da conta com o GTAF, o GTAF tentará enviar uma notificação ao usuário indicando que a conta foi carregada.

Dinheiro

Representa um montante em dinheiro com o respectivo tipo de moeda.

Representação JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campos
currencyCode

string

O código de moeda de três letras definido no ISO 4217.

units

string (int64 format)

As unidades inteiras do montante. Por exemplo, se currencyCode for "USD", então 1 unidade equivalerá a um dólar americano.

nanos

integer

Número de unidades nano (10^-9) do montante. É necessário que o valor fique entre -999.999.999 e +999.999.999 (inclusive os dois limites). Se units for positivo, nanos será positivo ou zero. Se units for zero, nanos poderá ser positivo, zero ou negativo. Se units for negativo, nanos será negativo ou zero. Por exemplo,US $-1,75 é representado como units=-1 e nanos=-750.000.000.

StatusdaConta

Status da carteira do usuário.

Enums
VALID O saldo da conta de usuário é válido e pode ser usado para fazer compras.
INVALID O saldo da conta de usuário é inválido e não pode ser usado sem alterações na conta.

Compatibilidade Ui

Enumeração que representa se o PlanStatus sendo compartilhado pode ser mostrado ao usuário.

Enums
UI_COMPATIBILITY_UNSPECIFIED Por padrão, supomos que o PlanStatus é compatível com a IU.
UI_COMPATIBLE Indica que todo o PlanStatus é compatível com a IU e que as informações do plano podem ser mostradas ao usuário.
UI_INCOMPATIBLE Indica que o PlanStatus não é compatível com a IU. Os campos podem ser usados para enviar notificações ao usuário, mas não para mostrar informações do plano a ele.

TipoDeNotificação

O tipo de notificação que está sendo enviada ao usuário das configurações do plano de dados móveis.

Enums
NOTIFICATION_UNDEFINED Tipo de gênero de notificação desconhecido
NOTIFICATION_LOW_BALANCE_WARNING Notificação que avisa os usuários sobre saldo baixo
NOTIFICATION_DATA_EXPIRATION_WARNING Notificação que avisa os usuários sobre a expiração do plano de dados
NOTIFICATION_OUT_OF_DATA Notificação de falta de dados pelos usuários
NOTIFICATION_PLAN_ACTIVATION Notificação de que o plano comprado de um usuário está ativo
NOTIFICATION_PAY_AS_YOU_GO Uma notificação que informa ao usuário que ele está pagando por dados em um pagamento por utilização.
NOTIFICATION_ACCOUNT_TOP_UP Notificação que informa ao usuário que o saldo da conta foi carregado.
NOTIFICATION_DATA_EXPIRED Notificação que informa ao usuário que o plano de dados expirou.

Informações do plano por cliente

Informações do plano de dados relevantes para um determinado cliente do Google.

Representação JSON
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
Campos
youtube

object (YouTube)

Informações do plano relacionadas ao YouTube.

androidSystemInfo

object (AndroidSystemInfo)

Planeje informações relevantes para o sistema Android.

YouTube

Informações do plano de dados relevantes para o YouTube.

Representação JSON
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Campos
rateLimitedStreaming

object (RateLimitedStreaming)

O recurso de Reconhecimento de plano do YouTube (PAS, na sigla em inglês) do YouTube, que limita a taxa de bits do vídeo que está sendo exibido.

Taxa limitada de streaming

Informações do plano de dados para permitir que o YouTube melhore a experiência do usuário de streaming com taxa limitada.

Representação JSON
{
  "maxMediaRateKbps": integer
}
Campos
maxMediaRateKbps

integer

A taxa de bits do YouTube suportada por este usuário em kbps (1.000's de bits por segundo).

InformaçõesdoSistemaAndroid

Informações do plano de dados relevantes para todo o sistema Android.

Representação JSON
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
Campos
cellularInfo[]

object (CellularInfo)

Por tipo de conexão. Por exemplo, haverá uma mensagem celularInfo para cada tipo de conexão, como 4G, 5G etc.

Informações da rede celular

São informações sobre uma conexão celular que o plano oferece ao usuário.

Representação JSON
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
Campos
connectionType

enum (ConnectionType)

O tipo de conexão que o operador fornece ao usuário.

meteredness

enum (Meteredness)

É o estado de medição do plano do usuário.

Tipo de conexão

Tipo de conexão: 2G, 3G, 4G

Enums
CONNECTION_TYPE_UNSPECIFIED Não especificado.
CONNECTION_2_G 2G.
CONNECTION_3_G 3G.
CONNECTION_4_G 4G
CONNECTION_5_G 5G
CONNECTION_ALL Todos os tipos.

Limite

Tipo de plano do usuário

Enums
METEREDNESS_UNSPECIFIED O GTAF não sabe sobre o estado de limitação do plano do usuário.
METEREDNESS_UNMETERED O usuário está em um plano ilimitado.
METEREDNESS_METERED O usuário está em um plano limitado.

Estado do CPC

Uma enumeração para a operadora representar o estado do CPID.

Enums
CPID_STATE_UNSPECIFIED O estado do CPID não foi especificado. Isso é considerado como se o CPID fosse válido.
CPID_INVALIDATED O CPID é invalidado e o cliente deve buscar um novo CPID do endpoint do CPID.

Métodos

create

Permite que uma operadora de telefonia móvel (identificada pelo número exclusivo do sistema autônomo (ASN, na sigla em inglês)) adicione uma nova entrada do PlanStatus para um usuário usar em um cliente específico.