L'API Google Wallet Passes consente ai partner di specificare un endpoint per l'attivazione di un biglietto del trasporto pubblico. Quando è necessaria l'attivazione, verrà visualizzato il pulsante "Attiva". per l'utente che, quando toccato, chiamerà l'endpoint specificato con i parametri descritti di seguito. L'endpoint deve garantire che la tessera contenga informazioni valide sull'utilizzo (codice a barre o un'ispezione visiva) prima della restituzione, dopodiché la tessera nel Wallet dell'utente verrà aggiornata per visualizzare le informazioni sull'utilizzo. Tieni presente che prima dell'attivazione, qualsiasi utilizzo esistente non verranno visualizzate.
API Activation
L'endpoint di attivazione viene specificato nell'API utilizzando activationOptions nella
transit class [classe del trasporto pubblico].
Il partner è responsabile del mantenimento di un endpoint di attivazione funzionante con
una latenza ragionevole.
activationOptions: {
activationUrl: string
}| Campo | Descrizione |
|---|---|
activationUrl |
URL dell'endpoint del partner che verrà chiamato per le richieste di attivazione. L'URL deve essere ospitato su HTTPS e il file robots.txt deve consentire al percorso dell'URL di essere accessibile UserAgent:Google-Valuables. |
Lo stato di attivazione viene archiviato sull'oggetto utilizzando il campo activationStatus.
Gli stati validi includono NOT_ACTIVATED e ACTIVATED. L'attivazione
endpoint deve aggiornare l'oggetto con lo stato ACTIVATED, oltre a garantire che
contiene informazioni di utilizzo valide, come un codice a barre o parametri di ispezione visiva. La
È possibile utilizzare il campo deviceContext per il blocco del dispositivo.
activationStatus: enum (ActivationStatus), deviceContext: { deviceToken: string }, hasLinkedDevice: boolean
| Campo | Descrizione |
|---|---|
activationStatus |
Stato di attivazione per questo oggetto di transito. Questo stato modifica la rappresentazione
il ticket e consentire agli utenti di intraprendere un'azione; ad es. il rendering di un pulsante Attiva
dettagli del ticket se è impostato su I valori accettati sono:
|
deviceContext |
Un contesto del dispositivo a cui associare l'oggetto. Se impostate, le informazioni sull'utilizzo vengano restituiti soltanto al dispositivo dato. |
hasLinkedDevice |
Indica se questo oggetto è attualmente collegato a un singolo dispositivo. |
| Campo | Descrizione |
|---|---|
deviceToken |
Se impostato, le informazioni sull'utilizzo verranno restituite al dispositivo specificato solo al momento dell'attivazione.
dell'oggetto. Non può essere utilizzato come identificatore stabile per tracciare il dispositivo di un utente. it
possono essere modificate tra diverse tessere per lo stesso dispositivo o anche per diverse
attivazioni per lo stesso dispositivo. Quando imposti questa opzione, i chiamanti devono impostare anche
Tieni presente che |
Blocco del dispositivo
Il blocco del dispositivo è una funzionalità che consente all'utente di attivare il ticket su un dispositivo e di avere la
le informazioni sull'utilizzo dei biglietti vengono visualizzate soltanto su quel dispositivo. Questo è separato dal
multipleDevicesAndHoldersAllowedStatus di ONE_USER_ONE_DEVICE, che
consente di visualizzare il biglietto su un solo dispositivo. Ti consigliamo di utilizzare lo stato
ONE_USER_ALL_DEVICES con blocco dispositivo.
Prima dell'attivazione, l'utente può visualizzare il ticket e attivare il pulsante su qualsiasi dispositivo
personali. Una volta attivato e bloccato su un dispositivo, il dispositivo bloccato mostrerà informazioni per l'utilizzo.
Su altri dispositivi viene visualizzato un pulsante di attivazione che consente all'utente di spostare il ticket su un altro
dispositivo. Se lo spostamento del ticket non è una funzionalità desiderata, ma l'attivazione su qualsiasi dispositivo lo è,
è possibile aggiornare il ticket durante l'attivazione a ONE_USER_ONE_DEVICE anziché
rispetto all'uso del blocco sul dispositivo.
Per implementare il blocco del dispositivo, l'oggetto deve essere aggiornato con il campo deviceToken
ricevuto con i parametri di attivazione e
impostando hasLinkedDevice su true nella stessa chiamata API. Se vuoi, il ticket può quindi
verrà scollegato da un dispositivo impostando hasLinkedDevice su false in una chiamata API futura.

Parametri di attivazione
La richiesta all'endpoint di attivazione conterrà i seguenti parametri.
Esempio JSON:
{
classId: “123.classId”,
objectIds: [ “123.objectId” ],
expTimeMillis: 1669671940735,
eventType: “activate”,
nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
}
| Identificatore | Descrizione |
|---|---|
classId |
ID classe completo. Utilizza il seguente formato: <issuer_id.class_id> |
objectIds |
Array completo di ID oggetto che utilizzano il seguente formato: <issuer_id.object_id> |
expTimeMillis |
Tempo di scadenza in millisecondi dall'EPOCH. Dopo la scadenza, il messaggio deve essere considerato non valido. |
eventType |
Sempre "activate".
|
nonce |
Nonce per tracciare le pubblicazioni duplicate. |
deviceContext |
Un ID univoco generato da Google che rappresenta il dispositivo su cui l'utente sta intraprendendo un'azione. Questo ID deve essere utilizzato quando si effettuano aggiornamenti che collegano un oggetto a un dispositivo. Questo ID potrebbe non essere costante per le richieste future provenienti da un determinato dispositivo. |