Push-Benachrichtigungen

Übersicht

Die Reseller API verwendet die Pub/Sub API, um Push-Benachrichtigungen zu senden. Benachrichtigungen zu verschiedenen Google Workspace- Abo-Ereignisse. Sie können beispielsweise Push-Benachrichtigungen So werden Sie informiert, wenn Ihre Kunden Abostatus ändern können.

Vorbereitung

  • Pub/Sub API aktivieren für Ihr Google Cloud-Projekt.
  • Gewähren Sie dem Dienstkonto auf Ihrem Gerät Pub/Sub-IAM-Rollen Cloud-Projekt Das Erteilen der Die Rolle roles/pubsub.editor ist ein guter Kompromiss (einfach und nicht zu allgemein). aber Sie können auch spezifischere Pub/Sub-Berechtigungen.

Thema erstellen

Registrieren Sie sich bei der Reseller API, um ein Thema zu erstellen mit der Methode resellernotify.register-Methode. Die Methode resellernotify.register verwendet die E-Mail-Adresse eines Dienstkontos als . Nur über diese Methode autorisierte Dienstkonten können Ihren neu erstelltes Thema

POST https://reseller.googleapis.com/apps/reseller/v1/resellernotify/register
{
  "serviceAccountEmailAddress": "reseller@reseller-project.iam.gserviceaccount.com"
}

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. und eine JSON-Antwort mit dem Namen Ihres Pub/Sub-Themas.

Hier ist eine Beispielantwort:

{
  "topicName": "projects/partner-watch/topics/C0abcdefg"
}

Um weitere Dienstkonten für die Verwendung Ihres Themas zu autorisieren, können Sie folgenden Befehl aufrufen: Noch einmal resellernotify.register.

Zugriff für ein Dienstkonto widerrufen

Mit der Reseller API haben Sie auch die Möglichkeit, Dienstkonten abzumelden, mithilfe des Endpunkts resellernotify.unregister:

POST https://reseller.googleapis.com/apps/reseller/v1/resellernotify/unregister
{
  "serviceAccountEmailAddress": "reseller@reseller-project.iam.gserviceaccount.com"
}

Themen abonnieren

Nachdem Sie das Pub/Sub-Thema erstellt haben, müssen Sie festlegen, wie Ihre Anwendung verarbeitet Ihre Änderungsereignisse. Wählen Sie eine der folgenden Optionen aus:

  • Push-Abo: Sie stellen einen HTTP-POST-Callback bereit. Pub/Sub-Anwendungsfälle diesen Callback, um deine App über neue Ereignisse zu informieren.
  • Pull-Abo: Ihre Anwendung sendet regelmäßig einen HTTP-Aufruf an alle Änderungen in der Warteschlange abrufen.

Hier sehen Sie eine Beispielanfrage zum Abonnieren eines Themas:

PUT https://pubsub.googleapis.com/v1/projects/PROJECT/subscriptions/SUBSCRIPTION_NAME
{
  "topic": "TOPIC_NAME"
  // Only needed for push configurations
  "pushConfig": {
    "pushEndpoint": "PUSH_NOTIFICATION_ENDPOINT"
  },
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihr Google Cloud-Projekt.
  • SUBSCRIPTION_NAME: Ein identifizierender Name für Ihr Abo.
  • TOPIC_NAME: Das Pub/Sub-Thema, das Sie zuvor verwendet haben. erstellt.
  • PUSH_NOTIFICATION_ENDPOINT: Deine Push-Benachrichtigung -Handler-Endpunkt enthalten.

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Im Folgenden finden Sie Beispielantwort:

{
  "name": "projects/PROJECT/subscriptions/SUBSCRIPTION_NAME",
  "topic": "TOPIC_NAME",
  "pushConfig": {
    "pushEndpoint": "PUSH_NOTIFICATION_ENDPOINT"
    },
  "ackDeadlineSeconds": 10
}

Benachrichtigungsformate

Das folgende Beispiel zeigt eine Pub/Sub-Benachrichtigung. Die Nachrichtendaten sind als base64-codierten JSON-String übertragen.

{
  "message": {
    "attributes": {},
    "data": "eyJza3VfaWQiOiAiR29vZ2xlLUFwcHMtVW5saW1pdGVkIiwgImV2ZW50X3R5cGUiOiAiU1VCU0NSSVBUSU9OX0NBTkNFTExFRCIsICJjdXN0b21lcl9kb21haW5fbmFtZSI6ICJkb21haW4uY29tIiwgInN1YnNjcmlwdGlvbl9pZCI6ICIxMjM0NTY3IiwgImN1c3RvbWVyX2lkIjogIkMwYWJjZGVmIiwgIm1lc3NhZ2VfaWQiOiAiODY3NTMwOSIsICJwdWJsaXNoX3RpbWUiOiB7InNlY29uZHMiOiAxNDU3NzMxODQ2LCAibmFub3MiOiAzNDkwMDAwMDB9LCAicmVzZWxsZXJfY3VzdG9tZXJfaWQiOiAiQzByZXNlbGxlciJ9",
    "message_id": 1234567891012131
  },
  "subscription": "projects/PROJECT/subscriptions/SUBSCRIPTION_NAME"
}

Hier sehen Sie das Beispiel eines message.data-Objekts nach der Decodierung:

{
  "customer_id": "C0abcdef",
  "customer_domain_name": "domain.com",
  "event_type": "SUBSCRIPTION_CANCELLED",
  "sku_id": "Google-Apps-Unlimited",
  "subscription_id": "1234567",
  // Optional fields depended on event_type
  "subscription_suspension_reasons": [],
  "subscription_cancellation_reason": "REASON"
}

Ereignistypen

Die folgende Liste enthält alle möglichen Ereignistypen:

  • NEW_SUBSCRIPTION_CREATED: Ein neues Abo wurde erstellt.
  • SUBSCRIPTION_TRIAL_ENDED: Testzeitraum für ein Abo abgelaufen.
  • PRICE_PLAN_SWITCHED: Kunde ist von einem flexiblen Tarif auf einen Jahrestarif umgestellt zu erstellen. Dieses Ereignis wird nicht ausgelöst, wenn der Kunde über eine Tarif mit Bindung auf einen flexiblen Tarif im Rahmen der Verlängerung.
  • COMMITMENT_CHANGED: Die jährliche Zusicherung wurde erhöht oder verringert.
  • SUBSCRIPTION_RENEWED: Ein Jahresabo wurde verlängert.
  • SUBSCRIPTION_SUSPENDED: Das Abo ist gesperrt. Weitere Informationen finden Sie in der subscription_suspension_reasons.
  • SUBSCRIPTION_SUSPENSION_REVOKED: Die Sperrung eines zuvor gesperrten Abos wurde aufgehoben.
  • SUBSCRIPTION_CANCELLED: Abo wurde gekündigt. Weitere Informationen finden Sie in der subscription_cancellation_reason. Kann auch verwendet werden, um Übertragungen.
  • SUBSCRIPTION_CONVERTED: Abo wurde umgewandelt. Einige Beispielfälle für dieses Ereignis:

    • Direktabo in Reseller-Abo umwandeln.
    • Kostenpflichtiges Abo in Kulanzangebot umwandeln.
    • Onlineabo in Offlineabo umwandeln
  • SUBSCRIPTION_UPGRADE: Die Abo-Artikelnummer wurde aktualisiert. Beispiel: Der Parameter Upgrade des Abos von Google Workspace Business Starter auf Business durchgeführt Standard.

  • SUBSCRIPTION_DOWNGRADE: Abo-SKU wurde herabgestuft. Beispiel: Der Parameter ein Downgrade von Google Workspace Business Standard auf Business Starter.

  • LICENSE_ASSIGNMENT_CHANGED: Die Lizenz wurde einer/einem Nutzer. Mit diesem Ereignis können Sie Änderungen der Nutzerzahl für Flexible Abos.

Gründe für die Kündigung von Abos

Der Grund für die Kündigung des Abos wird angezeigt, wenn event_type SUBSCRIPTION_CANCELLED. Mögliche Gründe für eine Kündigung:

  • TRANSFERRED_OUT: Der Kunde hat zur Direktabrechnung oder zu weitergeleitet. einem anderen Reseller.
  • PURCHASE_OF_SUBSUMING_SKU: Der Kunde hat ein Upgrade auf eine Artikelnummer ausgeführt, überschreibt eine andere. Wenn ein Kunde mit Google Workspace Business Starter- und Google Vault-Upgrades auf Google Workspace Business Plus, die Vault-Abo wird verkürzt, da es in Google Workspace Business Plus
  • RESELLER_INITIATED: Der Reseller hat das Abo gekündigt.
  • OTHER: Das Abo wurde aus einem anderen als den aufgeführten Grund gekündigt.

Gründe für die Sperrung von Abos

Der Grund für die Sperrung des Abos wird angezeigt, wenn event_type SUBSCRIPTION_SUSPENDED. Mögliche Gründe für eine Sperrung:

  • PENDING_TOS_ACCEPTANCE: Der Kunde hat sich nicht angemeldet und die Nutzungsbedingungen nicht akzeptiert. Nutzungsbedingungen für Google Workspace-Kunden eines Resellers.
  • RENEWAL_WITH_TYPE_CANCEL: Die Zusicherung des Kunden ist beendet und seine der Dienst zum Ende der Laufzeit gekündigt wurde.
  • RESELLER_INITIATED: Der Reseller hat das Abo manuell gesperrt.
  • TRIAL_ENDED: Der Testzeitraum des Kunden ist abgelaufen und der Kunde hat keine Auswahl getroffen ein Abo, das keine Testversion ist.
  • OTHER: Der Kunde ist aus einem internen Google-Grund gesperrt, z. B. für z. B. Missbrauch.

Pub/Sub-Einschränkungen

Die Reihenfolge der Push-Benachrichtigungen ist nicht garantiert. Nachrichten werden möglicherweise zugestellt mehrmals und in extremen Situationen. Wir empfehlen die Verwendung von reseller.subscriptions.get für alle geänderten Abos, um die Aktueller Status.