L'API Google Wallet Passes consente ai partner di salvare codici a barre in rotazione su Google Wallet. Questi codici a barre sono validi solo per un breve periodo di tempo, offrendo una maggiore sicurezza per ridurre il rischio di screenshot dei codici a barre. I barcode vengono generati sul dispositivo in conformità con RFC 6238, con il partner che fornisce la chiave segreta. Tuttavia, se un partner preferisce generare i codici a barre autonomamente, Google fornisce un'API che consente di caricarli collettivamente su Google. Questi codici a barre verranno poi trasmessi ai telefoni degli utenti, dove funzioneranno come i codici a barre rotanti, visualizzandosi per un breve periodo di tempo. Ci riferiamo a questa soluzione come Codici a barre in rotazione generati dal partner.
API di codici a barre rotanti generati dal partner
I codici a barre rotanti generati dal partner vengono creati utilizzando lo stesso oggetto
RotatingBarcode. È richiesto solo il tipo, anche se consigliamo di creare anche un piccolo set iniziale di codici a barre (~10 minuti) e di inviarli
initialRotatingBarcodeValues
. Il partner è responsabile di garantire che sia sempre disponibile un codice a barre valido per l'utente e initialRotatingBarcodeValues
consente che la successiva chiamata di caricamento collettivo sia asincrona.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Campo | Descrizione |
---|---|
initialRotatingBarcodeValues |
I valori da codificare nel codice a barre. Almeno un valore è obbligatorio. Questi codici a barre iniziali hanno lo scopo di colmare il divario tra il momento in cui l'utente acquisisce per la prima volta la tessera e quello in cui viene effettuata la successiva chiamata di caricamento collettivo. |
type |
Obbligatorio. Il tipo di codice a barre. I valori accettabili sono:
|
Campo | Descrizione |
---|---|
startDateTime |
La data/ora a partire dalla quale è valido il primo codice a barre. I codici a barre verranno ruotati
utilizzando Si tratta di una data/ora nel formato esteso ISO 8601, con un offset. |
values[] |
I valori da codificare nel codice a barre. Almeno un valore è obbligatorio. Non esiste un numero massimo di valori, ma tieni presente che le dimensioni del corpo della richiesta non possono superare i 5 MB. |
periodMillis |
Il periodo di tempo di validità di ogni codice a barre. |
Aggiornamento collettivo dei valori dei codici a barre
Dopo aver creato l'oggetto RotatingBarcode, ti consigliamo di caricare ogni giorno un giorno di barcode, fino alla scadenza della tessera dell'utente. Questa operazione può essere eseguita con il seguente endpoint dell'API REST.
Metodo: transitobject.uploadrotatingbarcodevalues
Carica i valori dei codici a barre rotanti nell'oggetto di trasporto a cui fa riferimento l'ID oggetto specificato.
Richiesta HTTP
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
Parametri del percorso
Parametro | Descrizione |
---|---|
resourceId |
L'identificatore univoco di un oggetto. |
Corpo della richiesta
Il corpo della richiesta (che non può superare i 5 MB) contiene un'istanza di RotatingBarcodeValues.
Metodo: transitobject.downloadrotatingbarcodevalues
Scarica i valori dei codici a barre rotanti per l'oggetto di trasporto a cui fa riferimento l'ID oggetto specificato. Questa opzione è utile se i partner vogliono verificare l'ultimo lotto.
Richiesta HTTP
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
Parametri del percorso
Parametro | Descrizione |
---|---|
resourceId |
L'identificatore univoco di un oggetto. |