Mit der Google Wallet Passes API haben Partner die Möglichkeit, rotierende Barcodes in Google Wallet zu speichern. Diese Barcodes sind nur für kurze Zeit gültig und bieten zusätzliche Sicherheit, um das Risiko der Screenshoterstellung zu verringern. Die Barcodes werden auf dem Gerät gemäß RFC 6238 generiert, wobei der Partner den geheimen Schlüssel bereitstellt. Wenn ein Partner die Barcodes jedoch lieber selbst generieren möchte, stellt Google eine API bereit, mit der Barcodes im Batch auf Google hochgeladen werden können. Diese Barcodes werden dann an die Smartphones der Nutzer übertragen und funktionieren dort wie rotierende Barcodes, die für kurze Zeit angezeigt werden. Diese Lösung wird als von Partnern generierte rotierende Barcodes bezeichnet.
Von Partnern generierte Rotating Barcode API
Von Partnern generierte rotierende Barcodes werden mit demselben RotatingBarcode-Objekt erstellt. Nur der Typ ist erforderlich. Wir empfehlen jedoch, einen kleinen Einstiegssatz von Barcodes (für etwa 10 Minuten) zu erstellen und in initialRotatingBarcodeValues
zu senden. Der Partner muss dafür sorgen, dass immer ein gültiger Barcode für den Nutzer verfügbar ist. Mit initialRotatingBarcodeValues
kann der nachfolgende Aufruf des Batch-Uploads asynchron ausgeführt werden.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Feld | Beschreibung |
---|---|
initialRotatingBarcodeValues |
Die Werte, die im Barcode codiert werden sollen. Es ist mindestens ein Wert erforderlich. Diese anfänglichen Barcodes sollen die Lücke zwischen dem ersten Erwerb des Tickets durch den Nutzer und dem nachfolgenden Aufruf des Batch-Uploads schließen. |
type |
Erforderlich. Der Typ dieses Barcodes. Akzeptable Werte sind:
|
Feld | Beschreibung |
---|---|
startDateTime |
Datum/Uhrzeit des Gültigkeitsbeginns für den ersten Barcode. Barcodes werden mit Datum/Uhrzeit im erweiterten ISO 8601-Format mit Offset. |
values[] |
Die Werte, die im Barcode codiert werden sollen. Es ist mindestens ein Wert erforderlich. Es gibt keine maximale Anzahl von Werten. Die Größe des Anfragetexts darf jedoch 5 MB nicht überschreiten. |
periodMillis |
Die Gültigkeitsdauer jedes Barcodes. |
Barcodewerte im Batch aktualisieren
Nachdem das RotatingBarcode-Objekt erstellt wurde, empfehlen wir, jeden Tag die Barcodes für jeweils einen Tag hochzuladen, bis die Karte bzw. das Ticket des Nutzers abläuft. Dazu können Sie den folgenden REST API-Endpunkt verwenden.
Methode: transitobject.uploadrotatingbarcodevalues
Lädt rotierende Barcodewerte in das Verkehrsobjekt hoch, auf das durch die angegebene Objekt-ID verwiesen wird.
HTTP-Anfrage
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
Pfadparameter
Parameter | Beschreibung |
---|---|
resourceId |
Die eindeutige Kennung für ein Objekt. |
Anfragetext
Der Anfragetext (der nicht größer als 5 MB sein darf) enthält eine Instanz von RotatingBarcodeValues.
Methode: transitobject.downloadrotatingbarcodevalues
Lädt rotierende Barcodewerte für das Verkehrsobjekt herunter, auf das durch die angegebene Objekt-ID verwiesen wird. Dies ist hilfreich, wenn Partner den neuesten Batch überprüfen möchten.
HTTP-Anfrage
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
Pfadparameter
Parameter | Beschreibung |
---|---|
resourceId |
Die eindeutige Kennung für ein Objekt. |