REST Resource: operators.clients.users.planStatus

Ressource: PlanStatus

L'état du forfait contient des informations sur tous les forfaits mobiles de premier niveau qu'un utilisateur a achetés.

Représentation 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)
}
Champs
name

string

Nom de ressource de l'état du plan au format suivant: operators/{asn_id}/planStatuses/{userKey}. Le nom est ignoré lors de la création d'une entrée PlanStatus.

plans[]

object (Plan)

Liste des forfaits appartenant à cet utilisateur.

languageCode

string

Obligatoire. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

expireTime

string (Timestamp format)

Obligatoire. Heure à laquelle les informations du groupe du forfait partagé deviennent obsolètes. L'état "PlanStatus" ne sera plus transmis aux applications après cette date. L'heure d'expiration doit être située dans le futur.

Horodatage au format RFC3339 UTC "Zulu" avec une résolution de nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Obligatoire. Heure à laquelle l'agent de forfait de données (DPA) a récupéré les informations concernant l'état du forfait à partir des systèmes backend. Permet de déterminer la date de l'état du plan. L'heure de mise à jour doit être antérieure à la date du jour, mais ne doit pas dater de plus de 30 jours.

Horodatage au format RFC3339 UTC "Zulu" avec une résolution de nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

title

string

Titre du contrat conclu entre l'utilisateur et l'opérateur. Cette information sera affichée dans l'en-tête de l'interface utilisateur.

subscriberId

string

Identifiant stable unique du système de l'opérateur pour identifier l'utilisateur.

accountInfo

object (AccountInfo)

Obligatoire pour les utilisateurs prépayés. Informations sur le solde du compte utilisateur.

uiCompatibility

enum (UiCompatibility)

Détermine si l'élément PlanStatus peut être affiché dans l'interface utilisateur. Lorsqu'elle est définie sur UI_INCOMPATIBLE, l'état du plan est utilisé pour envoyer des notifications à l'utilisateur, mais pas pour l'affichage des informations sur le forfait.

notifications[]

enum (NotificationType)

Contient la liste des types de notifications envoyées à l'utilisateur par le GTAF. GTAF ignore ce champ s'il est renseigné par l'appelant.

planInfoPerClient

object (PlanInfoPerClient)

Informations sur les forfaits de données pertinentes pour un client Google particulier.

cpidState

enum (CpidState)

État du CPID associé à cet état de plan.

Forfait

Détails du forfait mobile de l'utilisateur, qui correspond au package de service mobile de premier niveau qu'un abonné achète. Il peut s'agir de 10 Go de données mobiles pendant 30 jours ou d'un ensemble de composants (appelés modules de forfait). Par exemple, le forfait ACME 199 (2 Go de données, WhatsApp illimité et WeChat illimité, et 1 Go de Spotify) contient trois modules de forfait.

Représentation JSON
{
  "planName": string,
  "planId": string,
  "planCategory": enum (PlanCategory),
  "expirationTime": string,
  "planModules": [
    {
      object (PlanModule)
    }
  ],
  "planState": enum (PlanState)
}
Champs
planName

string

Nom du forfait mobile de l'utilisateur.

planId

string

Obligatoire. Identifiant du forfait, utilisé pour faire référence au forfait lors des offres, etc.

planCategory

enum (PlanCategory)

Forfait prépayé ou post-payé.

expirationTime

string (Timestamp format)

Obligatoire. À l'expiration de ce forfait. Pour la plupart des forfaits, ce délai doit être égal à la durée maximale autorisée pour l'ensemble des forfaits. Pour les plans qui actualisent régulièrement le quota du module, il doit s'agir de l'heure d'expiration du plan global, c'est-à-dire de l'heure à laquelle les modules de forfait cessent d'être actualisés. Ce champ doit être omis si le plan n'expire pas.

Horodatage au format RFC3339 UTC "Zulu" avec une résolution de nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Informations sur les modules (sous-plans) détaillés.

planState

enum (PlanState)

État du plan utilisateur (actif, inactif, etc.)

Catégorie du plan

Types de catégories de forfaits possibles.

Enums
PLAN_CATEGORY_UNSPECIFIED URL indéterminée.
PREPAID Forfait prépayé.
POSTPAID Forfait prépayé.

Planifier le module

Informations sur chaque module (ou sous-plan) de plan de données d'un plan.

Représentation 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.
}
Champs
coarseBalanceLevel

enum (BalanceLevel)

Informations sur le solde approximatif.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Liste des catégories de trafic qui seront facturées pour ce module de plan.

expirationTime

string (Timestamp format)

Obligatoire. Délai d'expiration spécifique au module Plan. Pour les modules du plan avec un quota qui s'actualise régulièrement, il s'agit de l'heure de la prochaine actualisation du module. Ce champ doit être omis si le module n'expire pas.

Horodatage au format RFC3339 UTC "Zulu" avec une résolution de nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Règle d'utilisation excessive (ex. : limitation).

maxRateKbps

string (int64 format)

Débit maximal de données autorisé par ce module de forfait en Kbits/s. Le débit de données réel observé est compris entre 0 et maxRateKbps en fonction des conditions du réseau. Si vous ne définissez pas de limitation maxRateKbps ou si vous la définissez sur 0, aucune limitation ne doit être appliquée à ce module de planification.

description

string

Obligatoire. Description du module de forfait, qui peut être présentée à l'utilisateur et qui doit se rapprocher de la description du module du plan.

moduleName

string

Obligatoire. Nom du module "Forfait".

usedBytes

string (int64 format)

Nombre total d'octets utilisés par l'utilisateur dans ce module de forfait.

planModuleState

enum (PlanState)

État du module du plan (par exemple, actif, inactif, etc.)

refreshPeriod

enum (RefreshPeriod)

Période d'actualisation de ce module de plan, ou REFRESH_PERIOD_NONE si le module de plan n'actualise pas son quota. Les modules de plan qui actualisent le quota le font une fois par période d'actualisation.

Champ d'union balance. Obligatoire. Les informations concernant le solde du module du forfait doivent correspondre à l'un des éléments suivants: byte_balance, time_balance, coarse_balance_level. balance ne peut être qu'un des éléments suivants :
byteBalance

object (ByteQuota)

Informations sur le solde du module du forfait basé sur des octets. Pour les modules actualisés régulièrement, ce champ représente le solde d'octets par période d'actualisation.

timeBalance

object (TimeQuota)

Informations sur le solde du module du forfait basé sur l'heure. Pour les modules qui se réactualisent régulièrement, ce champ représente le solde temporel par période d'actualisation.

Quota d'octets

Informations sur le quota/le solde du module de forfait basé sur des octets.

Représentation JSON
{
  "quotaBytes": string,
  "remainingBytes": string
}
Champs
quotaBytes

string (int64 format)

Quota du module en octets. Pour les forfaits illimités, la valeur doit être définie sur 2^63 - 1 (9223372036854775807).

remainingBytes

string (int64 format)

Obligatoire pour les notifications de solde faible. Solde de quota restant en octets.

Quota de temps

Informations sur le quota/le solde du module de forfait basé sur l'heure.

Représentation JSON
{
  "quotaMinutes": string,
  "remainingMinutes": string
}
Champs
quotaMinutes

string (int64 format)

Quota de module en minutes pour un forfait basé sur une heure, par exemple 180 minutes.

remainingMinutes

string (int64 format)

Solde restant du quota en minutes pour un forfait basé sur une durée spécifique, par exemple 40 minutes.

Solde

Informations sur le solde de données du module de forfait approximatif.

Enums
BALANCE_LEVEL_UNSPECIFIED URL indéterminée.
NO_PLAN Aucun forfait de données.
OUT_OF_DATA Le solde de données est nul.
LOW_QUOTA Le solde de données (ou le temps restant) est égal ou inférieur à 10-25% du solde du pack d'origine (ou de l'heure). Les transporteurs PEUVENT déterminer le seuil exact de chaque pack si nécessaire.
HIGH_QUOTA Le solde de données (ou le temps restant) est supérieur à 10 à 25% du solde initial du pack (ou du temps). Les transporteurs PEUVENT déterminer le seuil exact de chaque pack si nécessaire. Le solde de données est élevé.

PlanModuleTrafficCategory

Catégorie de trafic du module "Plan", qui décrit l'ensemble du trafic de l'application

Enums
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED URL indéterminée.
GENERIC Générique, s'applique à tout le trafic.
VIDEO Tout le trafic vidéo.
VIDEO_BROWSING Trafic Video Discovery (navigation) : tout le trafic d'applications vidéo, à l'exception du streaming vidéo/audio
VIDEO_OFFLINE Trafic vidéo hors connexion, qui correspond à la somme du trafic VIDEO_BROWSING et du trafic vidéo/audio hors connexion (hors streaming).
MUSIC Trafic généré par l'application musicale.
GAMING Trafic lié aux applications de jeux vidéo.
SOCIAL Trafic vers les applications de réseaux sociaux.
MESSAGING Trafic des applications de messagerie.
APP_STORE Trafic sur la plate-forme de téléchargement d'applications, tel que la mise à jour ou le téléchargement d'une nouvelle application.

Règles d'utilisation excessive

Règle d'utilisation excessive: que se passe-t-il lorsque l'utilisateur atteint son quota ?

Enums
OVER_USAGE_POLICY_UNSPECIFIED URL indéterminée.
THROTTLED La vitesse est limitée.
BLOCKED La connexion est bloquée.
PAY_AS_YOU_GO Paiement à l'utilisation

État du plan

Énumération représentant l'état différent du plan/module du plan de l'utilisateur.

Enums
ACTIVE "Plan/PlanModule" est actif, et l'utilisateur peut utiliser les données proposées dans le module.
INACTIVE Le module Plan/Plan est inactif et, bien que l'utilisateur le conserve, il ne peut pas utiliser les données qui en font partie. Cela peut se produire si le module ne propose des données qu'à certaines heures de la journée ou si l'utilisateur a acheté un module, mais qu'il n'est pas encore activé.
EXPIRING_SOON Plan/PlanModule va bientôt expirer. L'appelant doit choisir le niveau approprié pour déterminer quand définir cette valeur. Cela signifie automatiquement que le forfait est actif.
NEWLY_ACTIVE Plan/PlanModule qui était précédemment inactif ou inexistant vient d'être activé. Cet état ne doit être utilisé que pendant une très courte période après l'activation, sinon l'état ACTIVE doit être utilisé. Les notifications d'état du plan de données envoyées avec les modules NEWLY_ACTIVE doivent être envoyées avec une valeur TTL courte, car l'état NEWLY_ACTIVE deviendra très inexact.
EXPIRED Plan/PlanModule est arrivé à expiration. Définir cette valeur d'énumération déclenche une notification d'expiration du forfait.

Période d'actualisation

Représente une période d'actualisation, à savoir l'intervalle régulier de réinitialisation du module du plan.

Enums
REFRESH_PERIOD_NONE Aucune période d'actualisation. Utilisé lorsque le module de forfait n'est pas récurrent.
DAILY Le module du plan est réinitialisé tous les jours.
MONTHLY Le module du forfait est réinitialisé tous les mois.
BIWEEKLY Le module du plan se réinitialise toutes les deux semaines.
WEEKLY Le module du plan se réinitialise chaque semaine.

AccountInfo

Informations sur le solde du compte utilisateur prépayé.

Représentation JSON
{
  "accountBalance": {
    object (Money)
  },
  "loanBalance": {
    object (Money)
  },
  "unpaidLoan": {
    object (Money)
  },
  "accountBalanceStatus": enum (AccountBalanceStatus),
  "validUntil": string,
  "payAsYouGoCharge": {
    object (Money)
  },
  "accountTopUp": {
    object (Money)
  }
}
Champs
accountBalance

object (Money)

Obligatoire. Solde du compte utilisateur restant.

loanBalance

object (Money)

Obligatoire, le cas échéant. Solde du compte utilisateur ajouté par un prêt monétaire de l'opérateur. S'il est présent, le champ "accountAccount" n'inclut pas ce solde.

unpaidLoan

object (Money)

Montant que l'utilisateur doit payer à l'opérateur en raison de prêts monétaires.

accountBalanceStatus

enum (AccountBalanceStatus)

Obligatoire. Indique l'état du solde du compte. En cas d'incohérence entre les valeurs validUntiltime et accountBalanceStatus, nous utilisons accountBalanceStatus.

validUntil

string (Timestamp format)

Obligatoire. Délai au terme duquel le solde du compte est valide. Ce champ permettra d'indiquer que le compte n'est pas valide dans le compte

Horodatage au format RFC3339 UTC "Zulu" avec une résolution de nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

Montant que l'utilisateur a dépensé en utilisant le plan de paiement à l'usage. Si ce champ est renseigné par l'opérateur lors du partage des informations de compte avec le GTAF, le GTAF tente d'envoyer une notification à l'utilisateur pour lui indiquer qu'il dépense de l'argent dans un état de paiement à l'usage.

accountTopUp

object (Money)

Obligatoire pour les notifications de recharge de compte. Montant que l'utilisateur a ajouté au solde de son compte. Si ce champ est renseigné par l'opérateur lors du partage des informations de compte avec le GTAF, le GTAF tente d'envoyer une notification à l'utilisateur pour lui indiquer que le compte a été crédité.

Valeur monétaire

Représente un montant associé à un type de devise.

Représentation JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Champs
currencyCode

string

Code de devise à trois lettres défini par la norme ISO 4217.

units

string (int64 format)

Unités entières du montant. Par exemple, si la valeur de currencyCode est "USD", une unité correspond à un dollar américain.

nanos

integer

Nombre de nano-unités (10^-9) du montant. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus. Si units est positif, nanos doit être positif ou nul. Si units est égal à zéro, nanos peut être positif, nul ou négatif. Si units est négatif, nanos doit être négatif ou nul. Par exemple, -1,75 $ est représenté par units = -1 et nanos = -750 000 000.

État du compte

État du portefeuille de l'utilisateur.

Enums
VALID Le solde du compte utilisateur est valide et peut être utilisé pour effectuer des achats.
INVALID Le solde du compte utilisateur n'est pas valide. Vous ne pouvez pas l'utiliser sans y apporter de modifications.

Compatibilité utilisateur

Énumération indiquant si l'élément "PlanStatus" partagé peut être présenté à l'utilisateur.

Enums
UI_COMPATIBILITY_UNSPECIFIED Par défaut, nous supposons que l'état du plan est compatible avec l'interface utilisateur.
UI_COMPATIBLE Indique que l'intégralité de l'élément PlanStatus est compatible avec l'interface utilisateur et que l'utilisateur peut consulter les informations concernant le forfait.
UI_INCOMPATIBLE Indique que PlanStatus n'est pas compatible avec l'interface utilisateur. Les champs peuvent être utilisés pour envoyer des notifications à l'utilisateur, mais pas pour lui montrer des informations sur le forfait.

Type de notification

Type de notification envoyée à l'utilisateur des paramètres du forfait de données mobiles.

Enums
NOTIFICATION_UNDEFINED Type de genre de notification inconnu
NOTIFICATION_LOW_BALANCE_WARNING Notification mettant en garde les utilisateurs en cas de solde faible
NOTIFICATION_DATA_EXPIRATION_WARNING Notification informant les utilisateurs que le forfait va expirer
NOTIFICATION_OUT_OF_DATA Notification indiquant que les utilisateurs sont à court de données
NOTIFICATION_PLAN_ACTIVATION Notification indiquant que le forfait acheté d'un utilisateur est maintenant actif
NOTIFICATION_PAY_AS_YOU_GO Notification informant l'utilisateur qu'il paie les données à l'état "Paiement à l'usage".
NOTIFICATION_ACCOUNT_TOP_UP Une notification informant l'utilisateur qu'il a crédité le solde de son compte
NOTIFICATION_DATA_EXPIRED Notification informant l'utilisateur que son forfait de données a expiré

PlanInfoPar client

Informations sur les forfaits de données pertinentes pour un client Google particulier.

Représentation JSON
{
  "youtube": {
    object (YouTube)
  },
  "androidSystemInfo": {
    object (AndroidSystemInfo)
  }
}
Champs
youtube

object (YouTube)

Informations sur les forfaits YouTube

androidSystemInfo

object (AndroidSystemInfo)

Informations sur le forfait pertinentes pour le système Android.

YouTube

Informations sur les forfaits de données pertinentes pour YouTube.

Représentation JSON
{
  "rateLimitedStreaming": {
    object (RateLimitedStreaming)
  }
}
Champs
rateLimitedStreaming

object (RateLimitedStreaming)

Fonctionnalité YouTube Aware Aware Streaming (PAS) qui limite le débit de la vidéo en cours de diffusion

Limitation du streaming

Informations sur les forfaits de données pour permettre à YouTube d'améliorer l'expérience de streaming avec un débit limité

Représentation JSON
{
  "maxMediaRateKbps": integer
}
Champs
maxMediaRateKbps

integer

Débit YouTube accepté pour cet utilisateur en kbit/s (1 000 &s par seconde).

Informations système Android

Informations sur les forfaits de données applicables à l'ensemble du système Android.

Représentation JSON
{
  "cellularInfo": [
    {
      object (CellularInfo)
    }
  ]
}
Champs
cellularInfo[]

object (CellularInfo)

Informations sur le réseau mobile par type de connexion. Par exemple, il y aura un message cellulaire pour chaque type de connexion (4G, 5G, etc.).

Infos cellulaires

Informations sur la connexion au réseau mobile dont dispose l'utilisateur.

Représentation JSON
{
  "connectionType": enum (ConnectionType),
  "meteredness": enum (Meteredness)
}
Champs
connectionType

enum (ConnectionType)

Type de connexion fourni par l'opérateur à l'utilisateur.

meteredness

enum (Meteredness)

État de mesure du plan utilisateur.

Type de connexion

Type de connexion: 2G, 3G, 4G

Enums
CONNECTION_TYPE_UNSPECIFIED URL indéterminée.
CONNECTION_2_G 2G
CONNECTION_3_G 3G
CONNECTION_4_G 4G
CONNECTION_5_G 5G
CONNECTION_ALL Tous les styles. Ces derniers temps, j'écoute plutôt

Mesure

Type de forfait dont dispose l'utilisateur

Enums
METEREDNESS_UNSPECIFIED La GTAF ne connaît pas l'état de mesure du plan utilisateur.
METEREDNESS_UNMETERED L'utilisateur a souscrit un forfait non facturé à l'usage.
METEREDNESS_METERED L'utilisateur a un forfait facturé à l'usage.

État CPID

Énumération permettant à l'opérateur de représenter l'état du CPID.

Enums
CPID_STATE_UNSPECIFIED L'état du CPID n'est pas spécifié. Il est considéré comme valide.
CPID_INVALIDATED Le CPID n'est pas valide, et le client doit en extraire un nouveau à partir du point de terminaison CPID.

Méthodes

create

Permet à un opérateur mobile (identifié par son numéro de système autonome) d'ajouter une nouvelle entrée PlanStatus à un utilisateur pour qu'il soit utilisé par un client particulier.