Ringkasan

Google Wallet Passes API memberikan kemampuan bagi partner untuk menyimpan Rotasi Kode Batang ke Google Wallet. Kode batang ini hanya valid dalam waktu singkat, yang memberikan keamanan tambahan untuk mengurangi risiko screenshot kode batang. Kode batang dihasilkan di perangkat sesuai dengan RFC 6238, dan partner yang menyediakan kunci rahasia. Namun, jika partner ingin membuat kode batang sendiri, Google menyediakan API sehingga kode batang dapat diupload banyak ke Google. Kode batang ini kemudian akan diteruskan ke ponsel pengguna, lalu kode akan berperilaku seperti Memutar Kode Batang, yang ditampilkan dalam waktu singkat. Kami menyebut solusi ini sebagai Kode Batang Berputar Buatan Partner.

Rotating Barcode API Buatan Partner

Kode Batang Berputar Buatan Partner dibuat menggunakan objek RotatingBarcode yang sama. Hanya jenisnya yang diperlukan, meskipun kami juga merekomendasikan untuk membuat set kode awal berukuran kecil (senilai 10 menit), dan mengirimkannya dalam initialRotatingBarcodeValues. Partner bertanggung jawab untuk memastikan bahwa selalu ada kode batang valid yang siap untuk 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. Kode batang awal ini dimaksudkan untuk menjembatani kesenjangan antara saat pengguna pertama kali mendapatkan kartu, dan saat panggilan upload banyak berikutnya dilakukan.

type

enum (BarcodeType)

Wajib. Jenis kode batang ini.

Nilai yang dapat diterima adalah:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
Kolom Deskripsi
startDateTime

string

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

Ini adalah tanggal/waktu format ISO 8601 yang diperpanjang, 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 melebihi 5 MB.

periodMillis

number

Lama waktu yang berlaku untuk setiap kode batang.

Kumpulan pembaruan nilai kode batang

Setelah objek RotatingBarcode dibuat, sebaiknya upload kode batang selama satu hari, setiap hari, hingga masa berlaku kartu pengguna berakhir. 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

Mendownload nilai kode batang yang berputar untuk objek transportasi umum yang dirujuk oleh ID objek yang diberikan. 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 valid tidak memiliki kode batang valid untuk ditampilkan (belum diupload, atau semua kode batang saat ini telah digunakan), pesan error akan ditampilkan kepada pengguna.