Google Mobile Data Plan Sharing API

Ziel

Mit der Google Mobile Data Plan Sharing API kann ein Operator Informationen zu einem Nutzer (angegeben durch den Nutzerschlüssel) an den GTAF senden. Auf dieser Seite wird beschrieben, wie diese Aktualisierungen an GTAF und damit an Google-Anwendungen gesendet werden können. Die API ermöglicht der DPA derzeit, Datenstatus an GTAF zu senden, damit diese von einem Google-Client genutzt werden können.

Authentifizierung

Alle Data Plan Sharing API-Anfragen an GTAF müssen mit dem Google Cloud OAuth2-Server authentifiziert werden. Die Anfragen müssen als Dienstkonto authentifiziert werden, das im ISP-Portal für die von dem DPA vertretene ASN auf die Zulassungsliste gesetzt wurde. Unter Google Cloud OAuth 2.0 für Dienstkonten finden Sie eine Dokumentation zur Verwendung von OAuth mit Google Cloud-Dienstkonten.

Aktualisierungen des Datentarifs

Derzeit können mit dem Google Mobile Data Plan Sharing API aktuelle Informationen zum Datentarif eines Nutzers geteilt werden:

  • Status des Datentarifs: Erfasst den aktuellen Status des Datentarifs eines Nutzers. Wenn ein Nutzer beispielsweise nicht mehr genügend Daten hat, kann ein Operator ein Datentarif-Update an GTAF senden, das dann von GTAF verwendet werden kann, um eine niedrige Guthabenbenachrichtigung an den Nutzer zu senden.

Relevante Nutzer identifizieren

Die Datenschutzaufsichtsbehörde muss bestimmen können, welche Nutzer an GTAF gesendet werden sollen. GTAF erwartet Updates für die folgenden Nutzer:

  1. Aktive CPIDs: Nutzer mit aktiven CPIDs. Bis die vom CPID-Endpunkt generierten CPIDs gültig sind, sendet der DPA Aktualisierungen zum Datentarif eines Nutzers. Wenn der Header Accept-Language zum Zeitpunkt der CPID-Erstellung festgelegt wurde, MÜSSEN die für Menschen lesbaren Strings im Datentarifstatus in dieser Sprache sein.
  2. Registrierte MSISDNs: Zur Bereitstellung von Anwendungen, die Zugriff auf die MSISDN haben, registriert GTAF die MSISDN bei DPA, wie im Abschnitt msisdn der Data Plan Agent API beschrieben. Sobald die MSISDN registriert ist, sendet DPA aktuelle Informationen zum Datentarif des Nutzers, bis die Registrierung abläuft.

API-Beschreibung

Status des Datentarifs wird geteilt

Abbildung 3. GTAF-DPA-Interaktion, wenn der DPA den Datentarifstatus mit GTAF teilt.

Anwendungen können Statusinformationen zum Datentarif auf zwei Arten empfangen:

  1. UE ruft GTAF auf, um Informationen zum Status des Datentarifs zu erhalten:
    1. Der DPA des Betreibers verwendet die Data Plan Sharing API, um den Datentarif eines Nutzers an GTAF zu übertragen. GTAF speichert den Tarifstatus und den zugehörigen Nutzerschlüssel.
    2. Eine auf UE ausgeführte Google-Anwendung fordert über eine Google-interne API Statusinformationen zum Datentarif an. Die Anwendung enthält den Nutzerschlüssel in ihrer Anfrage.
    3. Wenn die Anwendung den im Cache gespeicherten Datentarifstatus verwenden kann, verwendet GTAF den Nutzerschlüssel, um den Status des Nutzertarifs zu ermitteln. Dieser Status wird dann von GTAF an die UE zurückgegeben.
  2. GTAF überträgt Statusstatusinformationen an die UE:
    1. Sofern relevant, wird der vom Operator empfangene Datentarifstatus direkt an die UE gesendet.

GTAF-DPA-Interaktion

Die DPA erstellt einen HTTPS-POST-Eintrag, um einen vorhandenen Planstatuseintrag für einen Nutzer zu erstellen und zu aktualisieren, der von einem Client verwendet werden soll. Derzeit unterstützt GTAF mobiledataplan und youtube als gültige Client-IDs. Hier ist eine Beispielanfrage für einen Operator mit dem Attribut „nn 12345“ und dem Nutzerschlüssel „abcdef“, der Informationen zum Tarif für GTAF für den youtube-Client teilt:

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/youtube/users/abcdef/planStatus

{
  "plans": [{
    "planName": "ACME1",
    "planId": "1",
    "planCategory": "PREPAID",
    "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
    "planModules": [{
      "moduleName": "Giga Plan", // req.
      "trafficCategories": ["GENERIC"],
      "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
      "overUsagePolicy": "BLOCKED",
      "maxRateKbps": "1500",
      "description": "1GB for a month", // req.
      "coarseBalanceLevel": "HIGH_QUOTA"
    }]
  }],
  "planInfoPerClient": {
    "youtube": {
      "rateLimitedStreaming": {
        "maxMediaRateKbps": 569
      }
    }
  },
  "languageCode": "en-US", // req.
  "expireTime": "2018-06-14T08:41:27-07:00", // req.
  "updateTime": "2018-06-07T07:41:22-07:00", // req.
  "title": "Prepaid Plan"
}

Wenn die Anfrage erfolgreich ist, gibt GTAF den HTTP-Antwortcode 200 und den gesendeten Eintrag planStatus mit einem Benachrichtigungseintrag zurück, wenn eine Benachrichtigung an den Nutzer gesendet wurde. Wenn GTAF ein Problem mit der Anfrage erkennt, wird ein HTTP-Statuscode im Bereich von 400 bis 499 zurückgegeben. Wenn GTAF eine Anfrage aufgrund eines GTAF-Fehlers nicht abschließen kann, gibt GTAF einen HTTP-Code im Bereich 500-599 zurück. Anfragen, die eine Antwort im Bereich von 500 bis 599 erhalten, werden als wiederholbar betrachtet. Anfragen, die eine Antwort im Bereich von 400 bis 499 erhalten, sind in der Regel nicht wiederholbar.

Übertragung des Planstatus für den Standardclient

GTAF unterstützt weiterhin den folgenden Aufruf, bei dem der Tarifstatus vom Operator übertragen wird, ohne den Client anzugeben, für den er verwendet werden kann. In diesem Fall gehen wir davon aus, dass der Tarifstatus für den mobiledataplan-Client vorgesehen ist und der Betreiber eine Benachrichtigung an den Nutzer senden möchte. Der Anfragetext ist für den Client- und den Standard-Anwendungsfall identisch.

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/planStatuses?userKey=abcdef

Internationalization

Um die Internationalisierung zu unterstützen, muss die Datenschutzaufsichtsbehörde die bevorzugte Sprache des Nutzers kennen, auch ohne eine direkte Anfrage von GTAF. Zur Lösung dieses Problems kann die Anfrage an den CPID-Endpunkt einen Accept-Language-Header enthalten. Wenn der Header enthalten ist, müssen für Menschen lesbare Strings in Aktualisierungen, die die DPA über die MDP API sendet, die in der CPID-Anfrage angegebenen Einstellungen verwenden.