Com a API Google Wallet Passes, os parceiros salvam códigos de barras rotativos na Carteira do Google. Esses códigos de barras são válidos apenas por um curto período, o que aumenta a segurança porque reduz o risco de alguém fazer captura de tela deles. Os códigos de barras são gerados no dispositivo de acordo com a RFC 6238 (link em inglês), e o parceiro fornece a chave secreta. No entanto, o Google também oferece uma API para o upload em lote dos códigos de barra, caso o parceiro queira gerá-los por conta própria. Esses códigos de barras rotativos serão transmitidos para os smartphones dos usuários e exibidos por um curto período. Chamamos essa solução de códigos de barras rotativos gerados pelo parceiro.
API Partner-Generated Rotating Barcode
Os códigos de barras rotativos gerados pelo parceiro são criados usando o mesmo objeto RotatingBarcode. Apenas o tipo é necessário, mas também recomendamos criar um pequeno conjunto inicial de códigos de barras (cerca de 10 minutos) e enviá-los em initialRotatingBarcodeValues
. O parceiro é responsável por garantir que sempre haja um código de barras válido pronto para o usuário, e initialRotatingBarcodeValues
permite que a chamada de upload em lote subsequente seja assíncrona.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Campo | Descrição |
---|---|
initialRotatingBarcodeValues |
Os valores a serem codificados no código de barras. Ao menos um valor é obrigatório. Esses códigos de barras iniciais devem preencher a lacuna entre o momento em que o usuário adquire o cartão e o momento em que a próxima chamada de upload em lote é feita. |
type |
Obrigatório. O tipo do código de barras. Os valores aceitáveis são:
|
Campo | Descrição |
---|---|
startDateTime |
A data/hora em que o primeiro código de barras é válido. Os códigos de barras serão alternados usando É uma data/hora em formato estendido ISO 8601, com compensação. |
values[] |
Os valores a serem codificados no código de barras. Ao menos um valor é obrigatório. Não há um número máximo de valores, mas o tamanho do corpo da solicitação não pode exceder 5 MB. |
periodMillis |
O período de validade de cada código de barras. |
Atualização em lote de valores de código de barras
Depois da criação do objeto RotatingBarcode, recomendamos fazer upload de códigos de barras de um dia, todos os dias, até que o cartão do usuário expire. Isso pode ser feito com o endpoint da API REST a seguir.
Método: transitobject.uploadrotatingbarcodevalues
Faz upload dos valores de códigos de barras rotativos no objeto de transporte público indicado pelo ID de objeto fornecido.
Solicitação HTTP
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
Parâmetros de caminho
Parâmetro | Descrição |
---|---|
resourceId |
O identificador exclusivo de um objeto. |
Corpo da solicitação
O corpo da solicitação (não pode exceder 5 MB) contém uma instância de RotatingBarcodeValues.
Método: transitobject.downloadrotatingbarcodevalues
Faz o download dos valores de códigos de barras rotativos referentes ao objeto de transporte público referenciado pelo código informado. Isso é útil quando os parceiros querem verificar o lote mais recente.
Solicitação HTTP
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
Parâmetros de caminho
Parâmetro | Descrição |
---|---|
resourceId |
O identificador exclusivo de um objeto. |