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. Eles 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 barras, caso o parceiro queira gerá-los por conta própria. Esses códigos de barras serão transmitidos para os smartphones dos usuários, onde funcionarão como códigos de barras rotativos, 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. Somente 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 momento em que a próxima chamada de upload em lote é feita. |
type |
Obrigatório. O tipo desse código de barras. Os valores aceitos 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 girados 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
Após a 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 código 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ódigo de barras rotativo do objeto de transporte público referenciado pelo ID de objeto fornecido. 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. |