L'API Google Wallet Passes permet aux partenaires d'enregistrer des codes-barres rotatifs dans Google Wallet. Ces codes-barres ne sont valides que pendant une courte période, ce qui offre une sécurité supplémentaire contre le risque de capture d'écran. Les codes-barres sont générés sur l'appareil conformément à la norme RFC 6238, et c'est le partenaire qui fournit la clé secrète. Toutefois, si un partenaire préfère générer lui-même les codes-barres, Google fournit une API qui permet d'en importer plusieurs en même temps sur Google. Ces codes-barres sont ensuite transmis aux téléphones des utilisateurs. Comme les codes-barres rotatifs, ils s'afficheront pendant une courte période. Cette solution est appelée "Partner-Generated Rotating Barcodes" (codes-barres rotatifs générés par les partenaires).
API Partner-Generated Rotating Barcode
Les codes-barres rotatifs générés par les partenaires sont créés à l'aide du même objet RotatingBarcode. Seul le type est requis. Pour commencer, nous vous recommandons de créer un petit ensemble de codes-barres (validité d'environ 10 minutes) et de les envoyer via initialRotatingBarcodeValues
. Le partenaire doit s'assurer qu'un code-barres valide est toujours disponible pour l'utilisateur, et initialRotatingBarcodeValues
permet à l'appel d'importation groupée suivant d'être asynchrone.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Champ | Description |
---|---|
initialRotatingBarcodeValues |
Valeurs à encoder dans le code-barres. Veuillez indiquer au moins une valeur. Ces codes-barres initiaux servent à combler l'écart entre le moment où l'utilisateur acquiert sa carte et l'appel d'importation groupée suivant. |
type |
Obligatoire. Type de code-barres. Les valeurs acceptées sont les suivantes :
|
Champ | Description |
---|---|
startDateTime |
Date et heure de début de validité du premier code-barres. La fréquence de rotation des codes-barres est déterminée par Il s'agit d'une date/heure exprimée dans le format étendu de la norme ISO 8601, avec un décalage. |
values[] |
Valeurs à encoder dans le code-barres. Veuillez indiquer au moins une valeur. Il n'y a pas de nombre maximal de valeurs, mais notez que la taille du corps de la requête ne peut pas dépasser 5 Mo. |
periodMillis |
Durée de validité de chaque code-barres. |
Mise à jour groupée des valeurs des code-barres
Une fois que vous avez créé l'objet RotatingBarcode, nous vous recommandons d'importer chaque jour suffisamment de codes-barres pour une journée, jusqu'à ce que la carte de l'utilisateur expire. Pour ce faire, vous pouvez utiliser le point de terminaison suivant de l'API REST.
Méthode: transitobject.uploadrotatingbarcodevalues
Importe les valeurs des code-barres rotatifs vers l'objet de transports en commun référencé par l'ID d'objet donné.
Requête HTTP
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
Paramètres de chemin d'accès
Paramètre | Description |
---|---|
resourceId |
Identifiant unique d'un objet |
Corps de la requête
Le corps de la requête (qui ne peut pas dépasser 5 Mo) contient une instance de RotatingBarcodeValues.
Méthode: transitobject.downloadrotatingbarcodevalues
Télécharge les valeurs des code-barres rotatifs fournis pour l'objet de transports en commun référencé par l'ID d'objet donné. Cela permet aux partenaires de vérifier le dernier lot s'ils le souhaitent.
Requête HTTP
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
Paramètres de chemin d'accès
Paramètre | Description |
---|---|
resourceId |
Identifiant unique d'un objet |