La API de Pases de la Billetera de Google permite que los socios guarden códigos de barras rotativos en la Billetera de Google. Estos códigos de barras solo son válidos durante un período breve, lo que proporciona seguridad adicional para reducir el riesgo de capturas de pantalla de códigos de barras. Los códigos de barras se generan en el dispositivo de acuerdo con la RFC 6238, y el socio proporciona la clave secreta. Sin embargo, si un socio prefiere generar los códigos de barras por su cuenta, Google proporciona una API para que los códigos de barras se puedan subir por lotes a Google. Luego, estos códigos de barras se pasarán a los teléfonos de los usuarios, donde actuarán como códigos de barras rotativos y se mostrarán durante un período breve. Nos referimos a esta solución como Códigos de barras rotativos generados por socios.
API de códigos de barras rotativos generados por socios
Los códigos de barras rotativos generados por socios se crean con el mismo objeto RotatingBarcode. Solo se requiere el tipo, aunque también te recomendamos que crees un pequeño conjunto inicial de códigos de barras (alrededor de 10 minutos) y los envíes en initialRotatingBarcodeValues
. El socio es responsable de garantizar que siempre haya un código de barras válido listo para el usuario, y initialRotatingBarcodeValues
permite que la llamada de carga por lotes posterior sea asíncrona.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
Campo | Descripción |
---|---|
initialRotatingBarcodeValues |
Son los valores que se codificarán en el código de barras. Debes ingresar al menos un valor. Estos códigos de barras iniciales están diseñados para acortar la brecha entre el momento en que el usuario adquiere su pase por primera vez y el momento en que se realiza la llamada de carga masiva posterior. |
type |
Obligatorio. Es el tipo de este código de barras. Los valores aceptables son:
|
Campo | Descripción |
---|---|
startDateTime |
Es la fecha y hora desde la que es válido el primer código de barras. Los códigos de barras se rotarán con Es una fecha y hora en formato extendido ISO 8601, con un desfase. |
values[] |
Son 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 |
Es la cantidad de tiempo durante la que es válido cada código de barras. |
Actualización por lotes de los valores de códigos de barras
Después de crear el objeto RotatingBarcode, te recomendamos que subas un día de códigos de barras todos los días hasta que venza 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 |
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 los valores de código de barras rotativos para el objeto de transporte público al que hace referencia el ID de objeto determinado. 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 |
Es el identificador único de un objeto. |