Recevoir des événements de cycle de vie pour les abonnements Google Workspace et y répondre

Cette page explique les événements de cycle de vie que vous recevez pour les abonnements Google Workspace et comment les utiliser pour maintenir un abonnement actif.

L'API Google Workspace Events envoie les types d'événements de cycle de vie suivants:

Votre application doit gérer explicitement ces types d'événements de cycle de vie et ignorer les nouveaux types d'événements qui pourraient apparaître à l'avenir.

Les événements de cycle de vie de l'API Google Workspace Events sont structurés conformément à la spécification CloudEvents. Pour en savoir plus, consultez la section Structure des événements Google Workspace.

Événements de suspension

Lorsqu'une erreur se produit pour un abonnement Google Workspace, l'API Google Workspace Events suspend l'abonnement et l'empêche de recevoir des événements. Vous devez résoudre les erreurs liées à l'abonnement avant de le réactiver.

Pour vous informer d'une suspension, l'API Google Workspace Events envoie un événement de cycle de vie avec le type d'événement google.workspace.events.subscription.v1.suspended.

Une fois que vous avez reçu un événement de suspension, vous pouvez découvrir la raison de la suspension, résoudre les erreurs et réactiver l'abonnement. Pour en savoir plus, consultez Résoudre les erreurs et réactiver un abonnement Google Workspace.

L'exemple suivant montre un CloudEvent pour un événement de cycle de vie concernant un abonnement Google Workspace suspendu en raison de l'erreur ENDPOINT_PERMISSION_DENIED:

{
  "id": "EVENT_UUID",
  "source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "subject": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "type": "google.workspace.events.subscription.v1.suspended",
  "time": "2023-06-08T06:50:43.641299Z",
  "spec_version": '1.0',
  "datacontenttype": "application/json",
  "data": {
    "subscription":{
      "name": "subscriptions/SUBSCRIPTION_ID",
      "suspension_reason": "ENDPOINT_PERMISSION_DENIED",
      ...
    }
  }
}

Événements de rappel d'expiration

Une fois qu'un abonnement arrive à expiration, l'API Google Workspace Events le supprime définitivement. Vous ne pouvez pas le renouveler ni le réactiver.

Pour vous informer de l'expiration d'un abonnement, l'API Google Workspace Events envoie des événements de cycle de vie 12 heures et une heure avant l'expiration. Le type d'événement pour les événements de cycle de vie est google.workspace.events.subscription.v1.expirationReminder.

Lorsque vous recevez un événement de rappel d'expiration, vous pouvez utiliser la méthode subscriptions.update() pour mettre à jour l'heure d'expiration. Pour en savoir plus, consultez Modifier ou renouveler un abonnement Google Workspace.

L'exemple suivant montre un CloudEvent pour un événement de cycle de vie concernant un abonnement Google Workspace qui expire:

{
  "id": "EVENT_UUID",
  "source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "subject": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "type": "google.workspace.events.subscription.v1.expirationReminder",
  "time": "2023-06-08T06:50:43.641299Z",
  "spec_version": '1.0',
  "datacontenttype": "application/json",
  "data": {
    "subscription":{
      "name": "subscriptions/SUBSCRIPTION_ID",
      "expire_time": "2023-06-08T18:50:43.641299Z",
      ...
    }
  }
}

Événements d'expiration d'abonnement

L'API Google Workspace Events vous envoie un événement de cycle de vie lorsque l'abonnement expire. Le type d'événement de ce cycle de vie est google.workspace.events.subscription.v1.expired.

L'API Google Workspace Events supprime définitivement les abonnements arrivés à expiration. Si votre abonnement expire, vous pouvez utiliser la méthode subscriptions.create() pour en créer un autre. Pour en savoir plus, consultez Créer un abonnement Google Workspace.

L'exemple suivant montre un CloudEvent pour un événement de cycle de vie concernant un abonnement Google Workspace expiré:

{
  "id": "EVENT_UUID",
  "source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "subject": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
  "type": "google.workspace.events.subscription.v1.expired",
  "time": "2023-06-08T07:00:00.000000Z",
  "spec_version": '1.0',
  "datacontenttype": "application/json",
  "data": {
    "subscription":{
      "name": "subscriptions/SUBSCRIPTION_ID",
      "expire_time": "2023-06-08T07:00:00.000000Z",
      ...
    }
  }
}