Aperçu

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

object (RotatingBarcodeValues)

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

enum (BarcodeType)

Obligatoire. Type de code-barres.

Les valeurs acceptées sont les suivantes :

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Champ Description
startDateTime

string

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 periodMillis.

Il s'agit d'une date/heure exprimée dans le format étendu de la norme ISO 8601, avec un décalage.

values[]

string

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

number

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

string

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

string

Identifiant unique d'un objet

Mécanismes de remplacement

Notez que l'utilisateur verra un message d'erreur si un objet RotatingBarcode valide n'a pas de codes-barres valides à afficher (parce qu'ils n'ont pas encore été importés ou que tous les codes-barres actuels ont été utilisés).