Com a API Google Wallet Passes, os parceiros podem especificar um endpoint para a ativação de um bilhete de transporte público. Quando a ativação for necessária, o botão "Ativar" vai aparecer. para o usuário que, quando tocado, chamará o endpoint especificado com os parâmetros descritos abaixo. O endpoint deve garantir que o cartão tenha informações de resgate válidas (código de barras ou inspeção visual) antes da devolução. Nesse momento, o cartão na Carteira do usuário será atualizado. para exibir as informações de resgate. Antes da ativação, qualquer resgate existente informações não serão exibidas.
API Activation
O endpoint de ativação é especificado na API usando activationOptions na
classe de transporte público.
O parceiro é responsável por manter um endpoint de ativação funcional com
e uma latência razoável.
activationOptions: {
activationUrl: string
}| Campo | Descrição |
|---|---|
activationUrl |
URL do endpoint do parceiro que seria chamado para solicitações de ativação. O URL deve hospedado em HTTPS, e o robots.txt deve permitir que o caminho do URL possa ser UserAgent:Google-Valuables. |
O estado de ativação é armazenado no objeto usando o campo activationStatus.
Os status válidos incluem NOT_ACTIVATED e ACTIVATED. A ativação
endpoint deve atualizar o objeto com o status ACTIVATED, bem como garantir que o
tem informações de resgate válidas, como um código de barras ou parâmetros de inspeção visual. A
O campo deviceContext pode ser usado para fixação no dispositivo.
activationStatus: enum (ActivationStatus), deviceContext: { deviceToken: string }, hasLinkedDevice: boolean
| Campo | Descrição |
|---|---|
activationStatus |
Status de ativação para este objeto de transporte público. Esse status alterará a representação da
o tíquete e permitir que os usuários realizem ações, Por exemplo: um botão "Ativar" será renderizado
detalhes do ingresso se ele estiver definido como Os valores aceitáveis são:
|
deviceContext |
Um contexto de dispositivo ao qual associar o objeto. Se definido, as informações de resgate serão só podem ser devolvidos ao dispositivo especificado. |
hasLinkedDevice |
Indica se esse objeto está vinculado a um único dispositivo no momento. |
| Campo | Descrição |
|---|---|
deviceToken |
Se definido, as informações de resgate só serão retornadas para o dispositivo fornecido após a ativação
do objeto. Ele não pode ser usado como um identificador estável para rastrear o dispositivo de um usuário. Ela
podem mudar para cartões diferentes no mesmo dispositivo ou até em
ativações para o mesmo dispositivo. Ao configurar essa opção, os autores da chamada também precisam definir
O |
Fixação no dispositivo
A fixação no dispositivo é um recurso que permite ao usuário ativar o ingresso em um dispositivo e ter a
as informações de resgate de ingressos
são exibidas apenas nesse dispositivo. Isso é separado do
multipleDevicesAndHoldersAllowedStatus de ONE_USER_ONE_DEVICE, que
permite que o ingresso seja exibido em um único dispositivo. Recomendamos usar o atributo de status
ONE_USER_ALL_DEVICES com fixação no dispositivo.
Antes da ativação, o usuário pode ver o ingresso e o botão "Ativar" em qualquer dispositivo
por conta própria. Depois de ativado e fixado em um dispositivo, o aparelho fixado vai mostrar informações de resgate
e outros dispositivos exibirão um botão "Ativar" para permitir que o usuário mova o ingresso para outro
dispositivo. Se mover a passagem não for uma funcionalidade desejada, mas a ativação em qualquer dispositivo for,
é possível atualizar o tíquete durante a ativação para ONE_USER_ONE_DEVICE em vez
do que usar a fixação no dispositivo.
Para implementar a fixação no dispositivo, o objeto precisa ser atualizado com o campo deviceToken.
que é recebido com os parâmetros de ativação, bem como
definindo hasLinkedDevice como verdadeiro na mesma chamada de API. Se quiser, o tíquete pode
ser desvinculado de um dispositivo definindo hasLinkedDevice como falso em uma chamada de API futura.

Parâmetros de ativação
A solicitação para o endpoint de ativação vai conter os parâmetros a seguir.
Exemplo de JSON:
{
classId: “123.classId”,
objectIds: [ “123.objectId” ],
expTimeMillis: 1669671940735,
eventType: “activate”,
nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
}
| Identificador | Descrição |
|---|---|
classId |
ID de classe totalmente qualificado. Usa o seguinte formato: <issuer_id.class_id> |
objectIds |
Matriz totalmente qualificada de IDs de objetos que usam o seguinte formato: <issuer_id.object_id> |
expTimeMillis |
Prazo de validade em milissegundos desde EPOCH. Depois do prazo de validade, ela precisa ser considerada inválida. |
eventType |
Sempre "activate".
|
nonce |
Valor de uso único para rastrear entregas duplicadas. |
deviceContext |
Um ID exclusivo gerado pelo Google que representa o dispositivo em que o usuário está realizando ações. Esse ID precisa ser usado ao fazer atualizações que vinculam um objeto a um dispositivo. Esse ID pode não ser constante para solicitações futuras de um determinado dispositivo. |