Visão geral

Com a API Google Wallet Passes, os parceiros podem economizar Girar códigos de barras à Carteira do Google. Esses códigos de barras são válidos apenas por um curto período de tempo, fornecendo mais segurança para reduzir o risco de capturas de tela de códigos de barras. O códigos de barras são gerados no dispositivo de acordo com RFC 6238, com o parceiro que fornece o chave secreta. No entanto, se o parceiro preferir gerar os códigos de barras, o Google fornece uma API para que os códigos de barras possam ser enviados em lote ao Google. Esses códigos de barras vão ser repassada aos usuários celulares, que atuam como códigos de barras rotativos, exibidos por um curto período de tempo. Chamamos essa solução de Gerada pelo parceiro. Códigos de barras rotativos.

API Partner-Generated Rotating Barcode

Os códigos de barras rotativos gerados pelo parceiro são criados com o mesmo RotatingBarcode objeto. Apenas o tipo é obrigatório, mas também recomendamos criar uma pequena ativação código de barras (cerca de 10 minutos) e enviando-os initialRotatingBarcodeValues: O parceiro é responsável por garantir que haja sempre um código de barras válido pronto para o usuário, e initialRotatingBarcodeValues permite a chamada de upload em lote subsequente seja assíncrono.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Campo Descrição
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Valores a serem codificados no código de barras. Ao menos um valor é obrigatório. Essas inicializações o objetivo dos códigos de barras é preencher a lacuna entre o momento em que o usuário adquire o cartão e quando a próxima chamada de upload em lote for feita.

type

enum (BarcodeType)

Obrigatório. O tipo do código de barras.

Os valores aceitáveis são:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Campo Descrição
startDateTime

string

A data/hora a partir da qual o primeiro código de barras é válido. Os códigos de barras serão girados usando periodMillis.

É uma data/hora em formato estendido ISO 8601, com compensação.

values[]

string

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 observe que o tamanho do corpo da solicitação não pode exceder 5 MB.

periodMillis

number

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 enviar um arquivo em códigos de barras, todos os dias, até o cartão do usuário expirar. 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

string

O identificador exclusivo de um objeto.

Corpo da solicitação

O corpo da solicitação (que não pode exceder 5 MB) contém uma instância de RotatingBarcodeValues.

Método: transitobject.downloadrotatingbarcodevalues

Faz o download de valores de códigos de barras rotativos para o objeto de transporte público referenciado pelo objeto especificado ID. 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

string

O identificador exclusivo de um objeto.

Mecanismos substitutos

Se um RotatingBarcode válido não tiver códigos de barras válidos para exibir (eles ainda não foram enviados ou todos os códigos de barras atuais foram usados), um erro será mostrada ao usuário.