Descripción general

La API de pases de la Billetera de Google permite que los socios ahorren Rotación códigos de barras a la Billetera de Google. Estos códigos de barras solo son válidos por un período breve brindando seguridad adicional para reducir el riesgo de tomar capturas de pantalla de códigos de barras. El los códigos de barras se generan en el dispositivo de acuerdo con RFC 6238, con el socio que proporciona la clave secreta. Sin embargo, si un socio prefiere generar los códigos de barras por su cuenta, Google proporciona de modo que los códigos de barras puedan subirse por lotes a Google. Luego, estos códigos de barras se transmitirán a los usuarios en donde funcionarán como rotaciones de códigos de barras, mostrar durante un período breve. Nos referimos a esta solución como una generada por socios Rotar códigos de barras.

API de código de barras rotativas generado por socios

Los códigos de barras rotativos generados por el socio se crean con el mismo código de barras de rotación . Solo el tipo es obligatorio, aunque también recomendamos crear un activador pequeño conjunto de códigos de barras (que valen unos 10 minutos) y enviarlos en initialRotatingBarcodeValues El socio es responsable de garantizar siempre un código de barras válido listo para el usuario, y initialRotatingBarcodeValues permite para que la siguiente llamada de carga por lotes sea asíncrona.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Campo Descripción
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Valores que se codificarán en el código de barras. Debes ingresar al menos un valor. Estas el objetivo de los códigos de barras es cerrar la brecha entre el momento en que el usuario adquiere su pase por primera vez cuando se realice la siguiente llamada de carga por lotes.

type

enum (BarcodeType)

Obligatorio. Es el tipo de este código de barras.

Los valores aceptables son:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Campo Descripción
startDateTime

string

Fecha/hora en la que es válido el primer código de barras. Se rotarán los códigos de barras usando periodMillis.

Esta es una fecha/hora de formato extendido ISO 8601, con desplazamiento.

values[]

string

Los valores que se codificarán en el código de barras. Debes ingresar al menos un valor.

No hay una cantidad máxima de valores, pero ten en cuenta que el tamaño del cuerpo de la solicitud no puede superar los 5 MB.

periodMillis

number

La cantidad de tiempo durante la cual es válido cada código de barras.

Actualización por lotes de valores de códigos de barras

Después de crear el objeto RotatingBarcode, recomendamos subir el archivo en códigos de barras, todos los días, hasta que caduque el pase del usuario. Esto se puede hacer con el siguiente extremo de la API de REST.

Método: transitobject.uploadrotatingbarcodevalues

Sube valores de códigos de barras rotativos al objeto de transporte público al que hace referencia el ID de objeto determinado.

Solicitud HTTP

POST https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc eId}/uploadRotatingBarcodeValues

Parámetros de ruta

Parámetro Descripción
resourceId

string

Es el identificador único de un objeto.

Cuerpo de la solicitud

El cuerpo de la solicitud (que no puede superar los 5 MB) contiene una instancia de RotatingBarcodeValues:

Método: transitobject.downloadrotatingbarcodevalues

Descarga valores de códigos de barras rotativos para el objeto de transporte público al que hace referencia el objeto determinado. ID. Esto es útil si los socios desean verificar el lote más reciente.

Solicitud HTTP

GET https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do wnloadRotatingBarcodeValues?alt=media

Parámetros de ruta

Parámetro Descripción
resourceId

string

Es el identificador único de un objeto.

Mecanismos de resguardo

Ten en cuenta que si un RotatingBarcode no es válido, no tiene códigos de barras válidos para mostrar (se que todavía no se subieron o que se usaron todos los códigos de barras actuales), un error se mostrará al usuario.