Ringkasan

Google Wallet Passes API memberikan kemampuan bagi partner untuk menyimpan Putar Kode batang ke Google Wallet. Kode batang ini hanya valid dalam waktu singkat, memberikan keamanan tambahan untuk mengurangi risiko tangkapan layar kode batang. Tujuan kode batang dibuat di perangkat sesuai dengan RFC 6238, dengan partner menyediakan kunci rahasia. Namun, jika mitra memilih untuk membuat sendiri kode batangnya, Google menyediakan API sehingga kode batang dapat diupload banyak ke Google. Kode batang ini kemudian akan diteruskan ke pengguna ponsel, yang akan bertindak seperti Kode Batang Berputar, ditampilkan dalam waktu singkat. Kami menyebut solusi ini sebagai Solusi Buatan Partner Kode Batang Berputar.

API Batang Berputar Buatan Partner

Kode Batang Berputar Buatan Partner dibuat menggunakan RotatingBarcode yang sama . Hanya jenis yang diperlukan, meskipun kami juga merekomendasikan untuk membuat pemicu kecil satu set kode batang (~10 menit), dan mengirimkannya dalam initialRotatingBarcodeValues. Partner bertanggung jawab untuk memastikan bahwa ada selalu memiliki kode batang valid yang siap bagi pengguna, dan initialRotatingBarcodeValues memungkinkan panggilan upload batch berikutnya menjadi asinkron.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
Kolom Deskripsi
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

Nilai yang akan dienkode dalam kode batang. Diperlukan setidaknya 1 nilai. Nilai awal ini kode batang dimaksudkan untuk menjembatani kesenjangan antara saat pengguna pertama kali memperoleh kartu izin lewat, dan ketika panggilan upload batch berikutnya dilakukan.

type

enum (BarcodeType)

Wajib. Jenis kode batang ini.

Nilai yang dapat diterima:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Kolom Deskripsi
startDateTime

string

Tanggal/waktu kode batang pertama valid. Kode batang akan dirotasikan menggunakan periodMillis.

Ini adalah tanggal/waktu format diperpanjang ISO 8601, dengan offset.

values[]

string

Nilai yang akan dienkode dalam kode batang. Diperlukan setidaknya 1 nilai.

Tidak ada jumlah nilai maksimum, tetapi perhatikan bahwa ukuran isi permintaan tidak boleh lebih dari 5 MB.

periodMillis

number

Jumlah waktu validnya setiap kode batang.

Memperbarui kumpulan nilai kode batang

Setelah objek RotatingBarcode dibuat, sebaiknya upload kode batang, setiap hari, hingga kartu pengguna kedaluwarsa. Hal ini dapat dilakukan dengan endpoint REST API berikut.

Metode: transitobject.uploadrotatingbarcodevalues

Mengupload nilai kode batang yang dirotasi ke objek transportasi umum yang direferensikan oleh ID objek yang diberikan.

Permintaan HTTP

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

Parameter jalur

Parameter Deskripsi
resourceId

string

ID unik untuk objek.

Isi permintaan

Isi permintaan (yang tidak boleh melebihi 5 MB) berisi instance RotatingBarcodeValues.

Metode: transitobject.downloadrotatingbarcodevalues

Download nilai kode batang yang berputar untuk objek transportasi umum yang direferensikan oleh objek tertentu ke ID. Hal ini berguna jika partner ingin memverifikasi batch terbaru.

Permintaan HTTP

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

Parameter jalur

Parameter Deskripsi
resourceId

string

ID unik untuk objek.

Mekanisme penggantian

Perhatikan bahwa jika RotatingBarcode yang sebenarnya valid tidak memiliki kode batang yang valid untuk ditampilkan (keduanya, belum diupload, atau semua kode batang saat ini telah digunakan), maka pesan yang akan ditampilkan kepada pengguna.