Mit der Google Wallet Passes API können Partner Rotierende Barcodes in Google Wallet 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 weitergeleitet und funktionieren dort wie rotierende Barcodes, die nur für kurze Zeit angezeigt werden. Wir bezeichnen diese Lösung als von Partnern generierte rotierende Barcodes.
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 auch, einen kleinen Einstiegssatz von Barcodes (ca. 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 erfolgen.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Field | Beschreibung |
---|---|
initialRotatingBarcodeValues |
Die zu codierenden Werte im Barcode. 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. Die Art dieses Barcodes. Akzeptable Werte sind:
|
Field | Beschreibung |
---|---|
startDateTime |
Datum und Uhrzeit der Gültigkeit des ersten Barcodes Barcodes werden mit Datum/Uhrzeit im erweiterten ISO 8601-Format mit Offset. |
values[] |
Die zu codierenden Werte im Barcode. 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 Barcodes für einen ganzen 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 auf das Verkehrsobjekt hoch, auf das die angegebene Objekt-ID verweist.
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 die angegebene Objekt-ID verweist. Dies ist nützlich, 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. |