Ringkasan

Google Wallet Passes API memberikan kemampuan bagi partner untuk menyimpan Kode batang yang Berputar ke Google Wallet. Kode batang ini hanya berlaku untuk jangka waktu yang singkat, sehingga memberikan keamanan tambahan untuk mengurangi risiko screenshot kode batang. Kode batang dibuat di perangkat sesuai dengan RFC 6238, dengan partner yang menyediakan kunci rahasia. Namun, jika partner lebih memilih untuk membuat kode batang sendiri, Google menyediakan API sehingga kode batang dapat diupload secara massal ke Google. Kode batang ini kemudian akan diteruskan ke ponsel pengguna, tempat kode batang tersebut akan berfungsi seperti Kode Batang yang Berputar, yang ditampilkan dalam waktu singkat. Kami menyebut solusi ini sebagai Kode Batang Berputar yang Dibuat Partner.

Rotating Barcode API yang Dibuat Partner

Kode Batang Berputar yang Dibuat Partner dibuat menggunakan objek RotatingBarcode yang sama. Hanya jenis yang diperlukan, meskipun sebaiknya Anda juga membuat kumpulan kode batang awal yang kecil (~10 menit), dan mengirimkannya dalam initialRotatingBarcodeValues. Partner bertanggung jawab untuk memastikan bahwa selalu ada kode batang yang valid 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 memperoleh kartu, dan saat panggilan upload batch 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 barcode pertama valid. Kode batang akan diputar melalui penggunaan 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 melebihi 5 MB.

periodMillis

number

Durasi validitas setiap kode batang.

Memperbarui nilai kode batang secara massal

Setelah objek RotatingBarcode dibuat, sebaiknya upload kode batang harian, 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 berputar ke objek transportasi umum yang dirujuk 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 yang valid untuk ditampilkan (kode batang tersebut belum diupload, atau semua kode batang saat ini telah digunakan), pesan error akan ditampilkan kepada pengguna.