REST Resource: operators.clients.users.planStatus

Recurso: PlanStatus

PlanStatus contiene detalles de todos los paquetes de servicios móviles de nivel superior que compró un usuario.

Representación 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

El nombre del recurso del PlanStatus con el siguiente formato: operators/{asn_id}/planStatuses/{userKey}. El nombre se ignora cuando se crea una entrada PlanStatus.

plans[]

object (Plan)

Lista de planes que pertenecen a este usuario.

languageCode

string

Obligatorio. El código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Obligatorio. Hora en la que la información del grupo del plan compartido está desactualizada. Después de este tiempo, no se publicará PlanStatus. La hora de vencimiento debe ser futura.

Una marca de tiempo en formato RFC3339 UTC (Zulú) con resolución en nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Obligatorio. Hora en la que el agente de plan de datos (DPA) recuperó la información de estado del plan de los sistemas de backend Se puede usar para determinar qué tan reciente es la información del estado del plan. La hora de actualización debe ser en el pasado, pero no puede tener más de 30 días de antigüedad.

Una marca de tiempo en formato RFC3339 UTC (Zulú) con resolución en nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

title

string

Es el título del contrato que tiene el usuario con el operador. Esto se mostrará en el encabezado de la IU.

subscriberId

string

Identificador estable único en el sistema del proveedor para identificar al usuario.

accountInfo

object (AccountInfo)

Obligatorio para usuarios prepagos. Información sobre el saldo de la cuenta de usuario.

uiCompatibility

enum (UiCompatibility)

Determina si se puede mostrar el PlanStatus en la interfaz de usuario. Cuando se establece en UI_INCOMPATIBLE, el PlanStatus se puede usar para enviar notificaciones al usuario, pero no se usará para mostrarle la información del plan.

notifications[]

enum (NotificationType)

Contiene la lista de tipos de notificaciones que envía GTAF al usuario. El GTAF ignora este campo si el emisor lo propaga.

planInfoPerClient

object (PlanInfoPerClient)

Información del plan de datos relevante para un cliente en particular de Google.

cpidState

enum (CpidState)

Estado del CPID asociado al estado de este plan.

Planificación

Detalles del plan de telefonía móvil del usuario, que es el paquete de servicios móviles de nivel superior que compra un suscriptor. El plan puede ser tan simple como "datos móviles de 10 GB por 30 días" o se puede definir como un conjunto de componentes (a los que nos referimos como módulos de plan). Por ejemplo, el plan ACME 199, que se describe como "2 GB de datos, WhatsApp ilimitado, Wechat ilimitado y 1 GB de Spotify" contiene tres módulos de plan.

Representación JSON
{
  "planName": string,
  "planId": string,
  "planCategory": enum (PlanCategory),
  "expirationTime": string,
  "planModules": [
    {
      object (PlanModule)
    }
  ],
  "planState": enum (PlanState)
}
Campos
planName

string

Nombre del plan de telefonía móvil del usuario.

planId

string

Obligatorio. Es el identificador del plan, que se usa para referirse al plan durante las ofertas, etcétera.

planCategory

enum (PlanCategory)

Plan prepagado o pospago.

expirationTime

string (Timestamp format)

Obligatorio. Cuándo vence este plan. Para la mayoría de los planes, esto debe ser igual al máximo de todos los plazos de vencimiento específicos del módulo del plan. En el caso de los planes que actualizan periódicamente la cuota de módulos, debe ser la hora de vencimiento general, la hora a la que dejan de actualizarse los módulos. Este campo debe omitirse si el plan no vence.

Una marca de tiempo en formato RFC3339 UTC (Zulú) con resolución en nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Información detallada sobre los módulos del plan (subplanes).

planState

enum (PlanState)

Estado del plan del usuario, p.ej., activo, inactivo, etc.

Categoría del plan

Posibles tipos de categorías de planes.

Enumeradores
PLAN_CATEGORY_UNSPECIFIED No se especifica.
PREPAID Plan prepagado.
POSTPAID Plan pospago.

Módulo de plan

Información de cada módulo (o subplan) de un plan de datos dentro de un plan.

Representación 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)

Información aproximada del saldo.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Lista de las categorías de tráfico que se cobrarán en este módulo del plan.

expirationTime

string (Timestamp format)

Obligatorio. Hora de vencimiento específica del módulo del plan. En el caso de los módulos del plan con cuotas que se actualizan periódicamente, es el momento de la próxima actualización del módulo. Este campo debe omitirse si el módulo del plan no vence.

Una marca de tiempo en formato RFC3339 UTC (Zulú) con resolución en nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Se superó la política de uso excesivo, p. ej.,

maxRateKbps

string (int64 format)

Tasa máxima de datos permitida por este módulo del plan en Kbps. La tasa de datos real que se observa es entre 0 y maxRateKbps, según las condiciones de la red. Si se omite maxRateKbps o se establece en 0, no se realizará ninguna limitación para este módulo del plan.

description

string

Obligatorio. La descripción del módulo del plan puede aparecer para el usuario y debe ser cercana a la descripción del mercado de este módulo del plan.

moduleName

string

Obligatorio. Nombre del módulo del plan.

usedBytes

string (int64 format)

Cantidad total de bytes que usa el usuario de este módulo del plan.

planModuleState

enum (PlanState)

Estado del módulo del plan, p. ej., activo, inactivo, etcétera

refreshPeriod

enum (RefreshPeriod)

El período de actualización de este módulo del plan o REFRESH_PERIOD_NONE si el módulo del plan no actualiza su cuota. Los módulos del plan que actualizan la cuota lo harán una vez por cada período de actualización.

Campo de unión balance. Obligatorio. La información del saldo del módulo del plan debe ser uno de los siguientes: byte_balance, time_balance, coarse_balance_level. Las direcciones (balance) solo pueden ser una de las siguientes opciones:
byteBalance

object (ByteQuota)

Información del saldo del módulo del plan basado en bytes. Para los módulos que se actualizan periódicamente, este campo representa el saldo de bytes por período de actualización.

timeBalance

object (TimeQuota)

Información del saldo del módulo del plan basado en el tiempo. Para los módulos que se actualizan periódicamente, este campo representa el saldo por período de actualización.

ByteQuota

Información de saldo/cuota del módulo del plan basada en bytes.

Representación JSON
{
  "quotaBytes": string,
  "remainingBytes": string
}
Campos
quotaBytes

string (int64 format)

Cuota de módulo en bytes. Para planes ilimitados, se debe establecer en 2^63 - 1 (9223372036854775807).

remainingBytes

string (int64 format)

Obligatorio para notificaciones con poco saldo. Saldo de cuota restante en bytes

Cuota de tiempo

Información del saldo y la cuota del módulo del plan basado en el tiempo.

Representación JSON
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Campos
quotaMinutes

string (int64 format)

Cuota de módulo en minutos para el plan basado en el tiempo, p.ej., 180 minutos.

remainingMinutes

string (int64 format)

Saldo restante en minutos del plan basado en el tiempo, p.ej., 40 minutos

Nivel de saldo

Información sobre el saldo de datos del módulo del plan general.

Enumeradores
BALANCE_LEVEL_UNSPECIFIED No se especifica.
NO_PLAN Sin plan de datos.
OUT_OF_DATA El saldo de datos es cero.
LOW_QUOTA El saldo de datos (o tiempo restante) es igual o inferior a 10 a 25% del saldo original del paquete (o tiempo). Las empresas de transporte PUEDEN determinar el umbral exacto para cada paquete según lo consideren apropiado.
HIGH_QUOTA El saldo de datos (o tiempo restante) es más del 10 al 25% del saldo del paquete original (o tiempo). Las empresas de transporte PUEDEN determinar el umbral exacto para cada paquete según lo consideren apropiado. El saldo de datos es alto.

Plan de tráfico del módulo del plan

Categoría de tráfico del módulo Plan, que describe el conjunto de tráfico de la aplicación que corresponde a un módulo del plan en particular.

Enumeradores
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED No se especifica.
GENERIC Genérico, se aplica a todo el tráfico.
VIDEO Todo el tráfico de video.
VIDEO_BROWSING Tráfico de descubrimiento de videos (navegación), que hace referencia a todo el tráfico de aplicaciones de video sin incluir la parte de la transmisión de video o audio.
VIDEO_OFFLINE Tráfico de video sin conexión, que es la suma del tráfico de VIDEO_BROWSING y de video o audio sin conexión (sin transmisión).
MUSIC Tráfico de la aplicación de música.
GAMING Tráfico de la app de videojuegos.
SOCIAL Tráfico de aplicaciones sociales.
MESSAGING Tráfico de apps de mensajería
APP_STORE Tráfico de la tienda de aplicaciones, como actualizar o descargar una aplicación nueva

Política de uso excesivo

Política de uso excesivo: Qué sucede cuando el usuario se queda sin cuota.

Enumeradores
OVER_USAGE_POLICY_UNSPECIFIED No se especifica.
THROTTLED La velocidad está limitada.
BLOCKED La conexión está bloqueada.
PAY_AS_YOU_GO Pago por uso

Estado del plan

Enumeración que representa el estado diferente del módulo de plan/plan del usuario.

Enumeradores
ACTIVE Plan/PlanModule está activo y el usuario puede usar los datos que se ofrecen como parte del módulo.
INACTIVE El módulo Plan/Plan está inactivo y, si bien el usuario aún tiene el módulo, no puede usar los datos que forman parte del módulo. Esto puede ocurrir si el módulo solo ofrece datos durante ciertas horas del día o si el usuario compró un módulo, pero todavía no está activado.
EXPIRING_SOON Plan/PlanModule vencerá pronto. El emisor debe elegir el nivel adecuado para determinar cuándo establecer este valor. Esto significa automáticamente que el plan está activo.
NEWLY_ACTIVE Se acaba de activar Plan/PlanModule que estaba inactivo o no existía. Este estado solo debe usarse durante un período muy breve después del tiempo de activación; de lo contrario, debe usarse el estado ACTIVO. Las notificaciones de estado del plan de datos que se envían con los módulos NEWLY_ACTIVE se deben enviar con un TTL corto, ya que el estado NEWLY_ACTIVE se volverá impreciso muy rápidamente.
EXPIRED Plan/PlanModule venció. La configuración de este valor de enumeración activa una notificación vencida del plan.

Período de actualización

Representa un período de actualización, el intervalo habitual durante el cual se restablece un módulo del plan.

Enumeradores
REFRESH_PERIOD_NONE Sin período de actualización. Se usa cuando el módulo del plan no es recurrente.
DAILY El módulo del plan se restablece todos los días.
MONTHLY El módulo del plan se restablece cada mes.
BIWEEKLY El módulo del plan se restablece cada dos semanas.
WEEKLY El módulo del plan se restablece cada semana.

AccountInfo

Información sobre el saldo de cuenta prepaga del usuario.

Representación 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)

Obligatorio. Saldo restante de la cuenta de usuario

loanBalance

object (Money)

Obligatorio si corresponde. Saldo restante de la cuenta de usuario que se agregó mediante un préstamo monetario del proveedor Si está presente, el campo accountBalance no incluye este saldo.

unpaidLoan

object (Money)

Cantidad de dinero que el usuario adeuda al proveedor debido a préstamos monetarios.

accountBalanceStatus

enum (AccountBalanceStatus)

Obligatorio. Indica el estado del saldo de la cuenta. En el caso de que el campo validUntil time y accountBalanceStatus no coincidan, utilizamos accountBalanceStatus.

validUntil

string (Timestamp format)

Obligatorio. El período hasta el cual el saldo de la cuenta es válido. Este campo se usará para mostrar el valor "

Una marca de tiempo en formato RFC3339 UTC (Zulú) con resolución en nanosegundos y hasta nueve dígitos decimales. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

La cantidad de dinero que el usuario gastó con el plan prepagado. Si el proveedor completa este campo cuando comparte información de la cuenta con GTAF, GTAF intentará enviar una notificación al usuario para indicarle que está gastando dinero en un estado de prepago.

accountTopUp

object (Money)

Es obligatorio para las notificaciones de recarga de cuenta. La cantidad de dinero que el usuario agregó al saldo de su cuenta. Si el proveedor propaga este campo cuando se comparte información de la cuenta con GTAF, GTAF intentará enviar una notificación al usuario para indicarle que se recargó la cuenta.

Dinero

Representa un importe de dinero con su tipo de moneda.

Representación JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campos
currencyCode

string

El código de moneda de 3 letras definido en el estándar ISO 4217.

units

string (int64 format)

La unidad entera del importe. Por ejemplo, si currencyCode es "USD", 1 unidad es un dólar estadounidense.

nanos

integer

Número de unidades nano (10^-9) del importe. Debe ser un valor entre -999,999,999 y +999,999,999. Si units es positivo, nanos debe ser positivo o cero. Si units es cero, nanos puede ser positivo, cero o negativo. Si units es negativo, nanos debe ser negativo o cero. Por ejemplo, $-1.75 se representa como units=-1 y nanos=-750,000,000.

Estado del saldo de la cuenta

Estado de la billetera del usuario

Enumeradores
VALID El saldo de la cuenta de usuario es válido y se puede usar para realizar compras.
INVALID El saldo de la cuenta de usuario no es válido y no se puede utilizar sin realizar cambios en la cuenta.

Compatibilidad con Ui

Enumeración que representa si el estado de Plan que se comparte se puede mostrar al usuario.

Enumeradores
UI_COMPATIBILITY_UNSPECIFIED De forma predeterminada, supondremos que PlanStatus es compatible con la IU.
UI_COMPATIBLE Indica que todo el PlanStatus es compatible con la IU y se puede mostrar al usuario la información del plan.
UI_INCOMPATIBLE Indica que PlanStatus no es compatible con la IU. Los campos se pueden usar para enviar notificaciones al usuario, pero no para mostrar información del plan.

Tipo de notificación

El tipo de notificación que se envía al usuario de la configuración del plan de datos móviles.

Enumeradores
NOTIFICATION_UNDEFINED Tipo de género de notificación desconocido
NOTIFICATION_LOW_BALANCE_WARNING Notificación que advierte a los usuarios sobre el poco saldo
NOTIFICATION_DATA_EXPIRATION_WARNING Notificación que advierte a los usuarios que el plan de datos vencerá
NOTIFICATION_OUT_OF_DATA Notificación que indica que los usuarios se quedan sin datos
NOTIFICATION_PLAN_ACTIVATION Notificación de que el plan de compra de un usuario ahora está activo
NOTIFICATION_PAY_AS_YOU_GO Notificación que informa al usuario que está pagando datos por estado prepago
NOTIFICATION_ACCOUNT_TOP_UP Una notificación que informa al usuario que recargaron el saldo de su cuenta.
NOTIFICATION_DATA_EXPIRED Una notificación que informa al usuario que su plan de datos venció.

PlanInfoPerClient

Información del plan de datos relevante para un cliente en particular de Google.

Representación JSON
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
Campos
youtube

object (YouTube)

Información del plan relacionado con YouTube.

androidSystemInfo

object (AndroidSystemInfo)

Información del plan relevante para el sistema Android.

YouTube

Información del plan de datos relevante para YouTube.

Representación JSON
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Campos
rateLimitedStreaming

object (RateLimitedStreaming)

Función de transmisión con reconocimiento del plan de YouTube (PAS), que limita la tasa de bits del video que se publica.

Transmisión limitada

Información del plan de datos para que YouTube mejore la experiencia del usuario con transmisión limitada.

Representación JSON
{
  "maxMediaRateKbps": integer
}
Campos
maxMediaRateKbps

integer

La tasa de bits de YouTube admitida para este usuario en kbps (1,000 bits por segundo)

Información del sistema Android

Información del plan de datos relevante para todo el sistema Android.

Representación JSON
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
Campos
cellularInfo[]

object (CellularInfo)

Información móvil por tipo de conexión Por ejemplo, habrá un mensaje de cellInfo para cada tipo de conexión, como 4G, 5G, etc.

Información celular

Es la información sobre una conexión móvil que el plan ofrece al usuario.

Representación JSON
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
Campos
connectionType

enum (ConnectionType)

El tipo de conexión que el operador proporciona al usuario.

meteredness

enum (Meteredness)

El estado de uso medido del plan del usuario.

Tipo de conexión

Tipo de conexión: 2G, 3G y 4G

Enumeradores
CONNECTION_TYPE_UNSPECIFIED No se especifica.
CONNECTION_2_G 2G.
CONNECTION_3_G 3G.
CONNECTION_4_G 4G.
CONNECTION_5_G 5G.
CONNECTION_ALL Todos los géneros

Medida

Tipo de plan que tiene el usuario

Enumeradores
METEREDNESS_UNSPECIFIED El GTAF no conoce el estado de uso medido del plan del usuario.
METEREDNESS_UNMETERED El usuario tiene un plan de uso no medido.
METEREDNESS_METERED El usuario tiene un plan de uso medido.

Estado Cpid

Una enumeración para que el proveedor represente el estado CPID.

Enumeradores
CPID_STATE_UNSPECIFIED El estado del CPID no está especificado. Esto se trata como si el CPID fuera válido.
CPID_INVALIDATED El CPID se invalida, y el cliente debe obtener un nuevo CPID del extremo CPID.

Métodos

create

Permite que un operador de telefonía celular (identificado por su número de sistema autónomo [ASN]) agregue una nueva entrada de estado de plan para que un cliente en particular la utilice.