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)
  }
}
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.

Es una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "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 Podría usarse para determinar qué tan reciente es la información sobre el estado del plan.

Es una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "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)

Los tipos de notificaciones que se enviaron al usuario

planInfoPerClient

object (PlanInfoPerClient)

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.

Es una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "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 plan no vence.

Es una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "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 "

Es una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "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": number
}
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

number

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)
  }
}
Campos
youtube

object (YouTube)

Información del plan relacionado con YouTube.

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": number
}
Campos
maxMediaRateKbps

number

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

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.