Aperçu

L'API Google Wallet Passes permet aux partenaires de spécifier un point de terminaison pour l'activation d'un titre de transport. Si une activation est nécessaire, un bouton "Activer" s'affiche. pour l'utilisateur. Lorsque l'utilisateur appuie dessus, le point de terminaison spécifié est appelé avec les paramètres décrits ci-dessous. Le point de terminaison doit s'assurer que les informations d'utilisation de la carte sont valides (code-barres ou (examen visuel) avant de le renvoyer. La carte sera alors mise à jour dans le compte Wallet de l'utilisateur. pour afficher les informations d'utilisation. Notez qu'avant l'activation, toute utilisation existante les informations ne seront pas affichées.

API d'activation

Le point de terminaison d'activation est spécifié dans l'API à l'aide de activationOptions sur la classe de transports en commun. Le partenaire est tenu de maintenir un point de terminaison d'activation fonctionnel avec une latence raisonnable.

  activationOptions: {
    activationUrl: string
  }
Champ Description
activationUrl

string

URL du point de terminaison du partenaire appelé pour les demandes d'activation. L'URL doit être hébergé sur HTTPS et le fichier robots.txt doit permettre au chemin de l'URL d'être accessible UserAgent:Google-Valuables.

L'état d'activation est stocké sur l'objet à l'aide du champ activationStatus. Les états valides sont NOT_ACTIVATED et ACTIVATED. L'activation le point de terminaison doit mettre à jour l'objet avec l'état ACTIVATED et veiller à ce que comporte des informations d'utilisation valides, telles qu'un code-barres ou des paramètres d'inspection visuelle. La Le champ deviceContext peut être utilisé pour l'épinglage à un appareil.

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
Champ Description
activationStatus

enum (ActivationStatus)

État d'activation de cet objet de transports en commun. Cet état modifie la représentation la demande et permettre aux utilisateurs d’agir ; Ex. : un bouton d'activation s'affiche sur les détails du billet si celui-ci est défini sur NOT_ACTIVATED.

Les valeurs acceptées sont les suivantes :

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object (DeviceContext)

Contexte d'appareil auquel associer l'objet. S'il est défini, les informations d'utilisation ne seront renvoyés qu'à l'appareil donné.

hasLinkedDevice

boolean

Indique si cet objet est actuellement associé à un seul appareil.

DeviceContext
Champ Description
deviceToken

string

Si cette règle est définie, les informations d'utilisation ne sont renvoyées qu'à l'appareil concerné lors de l'activation de l'objet. Il ne peut pas servir d'identifiant stable pour suivre l'appareil d'un utilisateur. Il peuvent changer d'une carte à un autre pour le même appareil ou même pour le même appareil. Pour définir ce paramètre, les appelants doivent également définir hasLinkedDevice sur l'objet en cours d'activation.

Notez que le deviceToken est reçu de paramètres d'activation Champ deviceContext

Épinglage à un appareil

L'épinglage à un appareil est une fonctionnalité qui permet à un utilisateur d'activer un titre de transport sur un appareil les informations d'utilisation des titres de transport ne s'affichent que sur cet appareil. Ceci est distinct du multipleDevicesAndHoldersAllowedStatus sur ONE_USER_ONE_DEVICE, qui ne permet d'afficher le billet que sur un seul appareil. Nous vous recommandons d'utiliser l'état ONE_USER_ALL_DEVICES avec épinglage à l'appareil.

Avant l'activation, l'utilisateur peut voir le titre de transport et le bouton d'activation sur tous les appareils vous-même. Une fois activé et épinglé à un appareil, l'appareil épinglé affiche des informations d'utilisation. et d'autres appareils affichent un bouton d'activation permettant à l'utilisateur de transférer le titre de transport vers un autre appareil. Si vous ne souhaitez pas déplacer le billet, mais que vous souhaitez l'activer sur n'importe quel appareil, il est possible de mettre à jour le ticket lors de l'activation sur ONE_USER_ONE_DEVICE au lieu de par rapport à l'épinglage à un appareil.

Pour implémenter l'épinglage à un appareil, l'objet doit être mis à jour avec le champ deviceToken. qui est reçue avec les paramètres d'activation ainsi que en définissant hasLinkedDevice sur "true" dans le même appel d'API. Si vous le souhaitez, le billet peut être dissocié d'un appareil en définissant hasLinkedDevice sur "false" dans un prochain appel d'API.

schéma de séquence pour l'épinglage à un appareil

Paramètres d'activation

La requête envoyée au point de terminaison d'activation contiendra les paramètres suivants.

Exemple JSON:

  {
    classId: “123.classId”,
    objectIds: [ “123.objectId” ],
    expTimeMillis: 1669671940735,
    eventType: “activate”,
    nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
    deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
  }

Identifiant Description
classId

ID de classe complet. Utilise le format suivant:

<issuer_id.class_id>
objectIds

Tableau complet d'ID d'objets au format suivant:

<issuer_id.object_id>
expTimeMillis Délai d'expiration en millisecondes depuis EPOCH. Après le délai d'expiration, le message doit être considéré comme non valide.
eventType Toujours "activate".
nonce Nonce de suivi des diffusions en double.
deviceContext

ID unique généré par Google et représentant l'appareil sur lequel l'utilisateur effectue l'action. Utilisez cet ID lorsque vous effectuez des mises à jour qui associent un objet à un appareil.

Cet ID peut ne pas être constant pour les futures requêtes provenant d'un appareil donné.