REST Resource: operators.clients.users.planStatus

Ressource : PlanStatus

PlanStatus contient des informations sur tous les forfaits de services 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 PlanStatus 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 sur le groupe du forfait partagé deviennent obsolètes. PlanStatus ne sera plus diffusé dans les 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 l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Obligatoire. Heure à laquelle l'agent du forfait de données a récupéré les informations sur l'état du forfait à partir des systèmes de backend. Peut être utilisé pour déterminer la date des informations sur l'état du forfait. L'heure de mise à jour doit être antérieure à la date actuelle, mais ne doit pas remonter à plus de 30 jours.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

title

string

Titre du contrat que l'utilisateur a conclu avec l'opérateur. Il s'affichera dans l'en-tête de l'UI.

subscriberId

string

Identifiant unique et stable dans le 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'état du forfait peut être affiché à l'utilisateur dans une interface utilisateur. Lorsque la valeur est définie sur UI_INCOMPATIBLE, PlanStatus peut être utilisé pour envoyer des notifications à l'utilisateur, mais pas pour lui afficher les informations sur l'abonnement.

notifications[]

enum (NotificationType)

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

planInfoPerClient

object (PlanInfoPerClient)

Informations sur le forfait de données pertinentes pour un client Google spécifique.

cpidState

enum (CpidState)

État du CPID associé à cet état du forfait.

Plan

Informations sur le forfait mobile de l'utilisateur, qui correspond au forfait de services mobiles de premier niveau qu'un abonné achète. Le forfait peut être aussi simple que "10 Go de données mobiles pendant 30 jours" ou être défini comme un ensemble de composants (que nous appelons modules de forfait). Par exemple, le forfait ACME 199, décrit comme "2 Go de données, WhatsApp illimité + 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. Date d'expiration de ce forfait. Pour la plupart des forfaits, cela doit être égal au maximum de toutes les durées d'expiration spécifiques aux modules du forfait. Pour les forfaits dont le quota de modules est actualisé périodiquement, il s'agit de la durée d'expiration globale du forfait, c'est-à-dire du moment où les modules du forfait cessent d'être actualisés. Ce champ doit être omis si le forfait n'expire pas.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

planModules[]

object (PlanModule)

Informations détaillées sur les modules du forfait (sous-forfaits).

planState

enum (PlanState)

État du forfait de l'utilisateur (actif, inactif, etc.)

PlanCategory

Types de catégories de forfait possibles.

Enums
PLAN_CATEGORY_UNSPECIFIED Non spécifié.
PREPAID Forfait prépayé.
POSTPAID Forfait postpayé.

PlanModule

Informations sur chaque module (ou forfait) de forfait de données.

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 approximatives sur le solde.

trafficCategories[]

enum (PlanModuleTrafficCategory)

Liste des catégories de trafic qui seront facturées sur ce module de forfait.

expirationTime

string (Timestamp format)

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

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

overUsagePolicy

enum (OverUsagePolicy)

Dépassement de la limite d'utilisation (par exemple, limitation du débit).

maxRateKbps

string (int64 format)

Débit de données maximal autorisé par ce module de forfait en Kbit/s. Le débit de données réel observé se situe entre 0 et maxRateKbps, en fonction des conditions du réseau. Si vous omettez maxRateKbps ou le définissez sur 0, cela indique qu'aucune limitation de bande passante ne doit être appliquée à ce module de forfait.

description

string

Obligatoire. Description du module de forfait. Elle peut être présentée à l'utilisateur et doit être proche de la description du module de forfait sur le marché.

moduleName

string

Obligatoire. Nom du module du forfait.

usedBytes

string (int64 format)

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

planModuleState

enum (PlanState)

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

refreshPeriod

enum (RefreshPeriod)

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

Champ d'union balance. Obligatoire. Les informations sur le solde du module de forfait doivent être l'une des suivantes : 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 les octets. Pour les modules qui s'actualisent 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 de forfait basé sur le temps. Pour les modules qui s'actualisent régulièrement, ce champ représente le solde de temps par période d'actualisation.

ByteQuota

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

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

string (int64 format)

Quota de module en octets. Pour les forfaits illimités, cette 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.

TimeQuota

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

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

string (int64 format)

Quota de module en minutes pour le forfait basé sur le temps, par exemple : 180 minutes.

remainingMinutes

string (int64 format)

Solde de quota restant en minutes pour un forfait basé sur le temps, par exemple : 40 minutes.

BalanceLevel

Informations sur l'équilibre des données du module de planification approximative.

Enums
BALANCE_LEVEL_UNSPECIFIED Non spécifié.
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 inférieur ou égal à 10 % à 25 % du solde (ou du temps) initial du forfait. Les opérateurs PEUVENT déterminer le seuil exact pour chaque forfait comme ils le jugent approprié.
HIGH_QUOTA Le solde de données (ou le temps restant) est supérieur à 10 à 25 % du solde (ou du temps) d'origine du forfait. Les opérateurs PEUVENT déterminer le seuil exact pour chaque forfait comme ils le jugent approprié. Le solde de données est élevé.

PlanModuleTrafficCategory

Catégorie de trafic du module de forfait, qui décrit l'ensemble du trafic d'application qui relève d'un module de forfait particulier.

Enums
PLAN_MODULE_TRAFFIC_CATEGORY_UNSPECIFIED Non spécifié.
GENERIC Générique, s'applique à tout le trafic.
VIDEO Tout le trafic vidéo.
VIDEO_BROWSING Trafic de découverte de vidéos (navigation), qui désigne l'ensemble du trafic de l'application vidéo, à l'exception de la partie 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 (non en streaming).
MUSIC Trafic de l'application musicale.
GAMING Trafic des applications de jeux vidéo.
SOCIAL Trafic des applications de réseaux sociaux.
MESSAGING Trafic des applications de messagerie.
APP_STORE Trafic sur les plates-formes de téléchargement d'applications, comme la mise à jour ou le téléchargement d'une nouvelle application.

OverUsagePolicy

Règles d'utilisation excessive : ce qui se passe lorsque l'utilisateur atteint son quota.

Enums
OVER_USAGE_POLICY_UNSPECIFIED Non spécifié.
THROTTLED La vitesse est limitée.
BLOCKED La connexion est bloquée.
PAY_AS_YOU_GO Tarification à l'utilisation

PlanState

Énumération représentant les différents états du forfait/module de forfait 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 de forfait/forfait est inactif. L'utilisateur a toujours accès au module, mais 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 Le plan/module de plan 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 Un forfait ou un module de forfait qui était auparavant inactif ou inexistant vient d'être activé. Cet état ne doit être utilisé que pendant une très courte période après l'heure d'activation. Dans le cas contraire, l'état ACTIVE doit être utilisé. Les notifications sur l'état du forfait de données envoyées avec des modules NEWLY_ACTIVE doivent avoir un TTL court, car l'état NEWLY_ACTIVE devient rapidement inexact.
EXPIRED Le forfait/module de forfait a expiré. La définition de cette valeur d'énumération déclenche une notification d'expiration de l'abonnement.

RefreshPeriod

Représente une période d'actualisation, c'est-à-dire l'intervalle régulier auquel un module de plan est réinitialisé.

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

AccountInfo

Informations sur le solde du compte d'un 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.

loanBalance

object (Money)

Obligatoire, si applicable. Solde du compte utilisateur ajouté par un prêt monétaire de l'opérateur. Si le champ accountBalance est présent, il n'inclut pas ce solde.

unpaidLoan

object (Money)

Montant que l'utilisateur doit à 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 le champ "validUntil" et le champ "accountBalanceStatus", nous utilisons le champ "accountBalanceStatus".

validUntil

string (Timestamp format)

Obligatoire. Heure jusqu'à laquelle le solde du compte est valide. Ce champ sera utilisé pour afficher "Non valide dans

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

payAsYouGoCharge

object (Money)

Montant dépensé par l'utilisateur en utilisant le forfait en mode paiement à l'utilisation. Si ce champ est renseigné par l'opérateur lorsqu'il partage les informations de compte avec GTAF, GTAF tentera d'envoyer une notification à l'utilisateur pour l'informer qu'il dépense de l'argent en mode prépayé.

accountTopUp

object (Money)

Obligatoire pour la notification de recharge du compte. Montant que l'utilisateur a ajouté au solde de son compte. Si ce champ est renseigné par l'opérateur lorsqu'il partage des informations sur le compte avec GTAF, GTAF tentera d'envoyer une notification à l'utilisateur pour l'informer que son compte a été rechargé.

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 currencyCode est défini sur "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.

AccountBalanceStatus

É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 et ne peut pas être utilisé sans apporter de modifications au compte.

UiCompatibility

Énumération indiquant si l'état du forfait partagé peut être affiché à l'utilisateur.

Enums
UI_COMPATIBILITY_UNSPECIFIED Par défaut, nous partons du principe que PlanStatus est compatible avec l'UI.
UI_COMPATIBLE Indique que l'intégralité de PlanStatus est compatible avec l'UI et que les informations sur le forfait peuvent être affichées à l'utilisateur.
UI_INCOMPATIBLE Indique que PlanStatus n'est pas compatible avec l'UI. Les champs peuvent être utilisés pour envoyer des notifications à l'utilisateur, mais pas pour lui afficher des informations sur l'abonnement.

NotificationType

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 avertissant les utilisateurs d'un solde faible
NOTIFICATION_DATA_EXPIRATION_WARNING Notification avertissant les utilisateurs que leur forfait de données va expirer
NOTIFICATION_OUT_OF_DATA Notification indiquant aux utilisateurs qu'ils ont épuisé leur forfait de données
NOTIFICATION_PLAN_ACTIVATION Notification indiquant qu'un forfait acheté par un utilisateur est désormais actif
NOTIFICATION_PAY_AS_YOU_GO Notification informant l'utilisateur qu'il paie les données à l'utilisation.
NOTIFICATION_ACCOUNT_TOP_UP Notification informant l'utilisateur qu'il a rechargé le solde de son compte.
NOTIFICATION_DATA_EXPIRED Notification informant l'utilisateur que son forfait de données a expiré.

PlanInfoPerClient

Informations sur le forfait de données pertinentes pour un client Google spécifique.

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 le forfait de données pertinent pour YouTube.

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

object (RateLimitedStreaming)

La fonctionnalité YouTube Plan Aware Streaming (PAS) qui limite le débit binaire de la vidéo diffusée.

RateLimitedStreaming

Informations sur le forfait de données pour permettre à YouTube d'améliorer l'expérience utilisateur de streaming limité en débit.

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

integer

Débit YouTube compatible avec cet utilisateur, en kbit/s (milliers de bits par seconde).

AndroidSystemInfo

Informations sur le forfait de données pertinentes pour l'ensemble du système Android.

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

object (CellularInfo)

Informations sur les données mobiles par type de connexion. Par exemple, il y aura un message cellularInfo pour chaque type de connexion (4G, 5G, etc.).

CellularInfo

Informations sur la connexion mobile que le forfait propose à l'utilisateur.

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

enum (ConnectionType)

Type de connexion que l'opérateur fournit à l'utilisateur.

meteredness

enum (Meteredness)

État de la facturation à l'usage du forfait utilisateur.

ConnectionType

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

Enums
CONNECTION_TYPE_UNSPECIFIED Non spécifié.
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 de la consommation

Type d'abonnement de l'utilisateur

Enums
METEREDNESS_UNSPECIFIED GTAF ne connaît pas l'état de la facturation du forfait de l'utilisateur.
METEREDNESS_UNMETERED L'utilisateur dispose d'un forfait illimité.
METEREDNESS_METERED L'utilisateur dispose d'un forfait avec paiement à l'utilisation.

CpidState

Énumération permettant au transporteur de représenter l'état du CPID.

Enums
CPID_STATE_UNSPECIFIED L'état du CPID n'est pas spécifié. Cette valeur est traitée comme si le CPID était valide.
CPID_INVALIDATED Le CPID est invalidé et le client doit en récupérer 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 (ASN) unique) d'ajouter une entrée PlanStatus pour qu'un utilisateur puisse l'utiliser avec un client spécifique.