Ringkasan

Google Wallet Passes API memberikan kemampuan bagi partner untuk menentukan titik akhir aktivasi tiket multi-trip. Saat aktivasi diperlukan, tombol "Aktifkan" akan ditampilkan untuk pengguna yang saat diketuk akan memanggil endpoint yang ditentukan dengan parameter yang dijelaskan di bawah. Endpoint harus memastikan bahwa kartu memiliki informasi penukaran yang valid (kode batang atau inspeksi visual) sebelum kembali, pada saat itu kartu di Wallet pengguna akan diperbarui untuk menampilkan informasi penukaran. Perlu diperhatikan bahwa sebelum aktivasi, semua penukaran yang ada informasi tidak akan ditampilkan.

API Aktivasi

Endpoint aktivasi ditentukan di API menggunakan activationOptions pada kelas transit lainnya. Partner bertanggung jawab untuk mempertahankan endpoint aktivasi yang berfungsi dengan latensi yang wajar.

  activationOptions: {
    activationUrl: string
  }
Kolom Deskripsi
activationUrl

string

URL untuk endpoint partner yang akan dipanggil untuk permintaan aktivasi. URL harus dihosting di HTTPS dan robots.txt harus memungkinkan jalur URL dapat diakses oleh UserAgent:Google-Valuables.

Status aktivasi disimpan pada objek menggunakan kolom activationStatus. Status yang valid mencakup NOT_ACTIVATED dan ACTIVATED. Aktivasi endpoint harus mengupdate objek dengan status ACTIVATED serta memastikan memiliki informasi penukaran yang valid seperti kode batang atau parameter inspeksi visual. Tujuan Kolom deviceContext dapat digunakan untuk penyematan perangkat.

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
Kolom Deskripsi
activationStatus

enum (ActivationStatus)

Status aktivasi untuk objek transportasi umum ini. Status ini akan mengubah representasi dari tiket dan memungkinkan pengguna untuk mengambil tindakan; Misalnya tombol {i>Activate<i} akan ditampilkan di detail tiket jika ditetapkan sebagai NOT_ACTIVATED.

Nilai yang dapat diterima:

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object (DeviceContext)

Konteks perangkat yang akan dikaitkan dengan objek. Jika ditetapkan, informasi penukaran akan hanya dikembalikan ke perangkat yang diberikan.

hasLinkedDevice

boolean

Apakah objek ini saat ini ditautkan ke satu perangkat.

DeviceContext
Kolom Deskripsi
deviceToken

string

Jika ditetapkan, informasi penukaran hanya akan dikembalikan ke perangkat yang ditentukan setelah aktivasi objek tersebut. ID ini tidak dapat digunakan sebagai ID yang stabil untuk melacak perangkat pengguna. Ini dapat berubah di berbagai kartu untuk perangkat yang sama atau bahkan di berbagai kartu aktivasi untuk perangkat yang sama. Saat menyetelnya, pemanggil juga harus menyetel hasLinkedDevice pada objek yang diaktifkan.

Perlu diketahui bahwa deviceToken diterima dari parameter aktivasi Kolom deviceContext

Penyematan perangkat

Penyematan perangkat adalah fitur yang memungkinkan pengguna mengaktifkan tiket pada satu perangkat dan memiliki informasi penukaran tiket hanya ditampilkan di perangkat tersebut. Fungsi ini terpisah dari multipleDevicesAndHoldersAllowedStatus dari ONE_USER_ONE_DEVICE, yang hanya memungkinkan tiket untuk ditampilkan di satu perangkat. Sebaiknya gunakan status ONE_USER_ALL_DEVICES dengan penyematan perangkat.

Sebelum aktivasi, pengguna dapat melihat tiket dan tombol aktifkan pada perangkat mana pun yang sendiri. Setelah diaktifkan dan disematkan ke perangkat, perangkat yang disematkan akan menampilkan informasi penukaran dan perangkat lain akan menampilkan tombol aktifkan untuk memungkinkan pengguna memindahkan tiket ke perangkat lain perangkat seluler. Jika memindahkan tiket tidak merupakan fungsi yang diinginkan, tetapi mengaktifkannya di perangkat apa pun, maka Anda dapat memperbarui tiket selama aktivasi ke ONE_USER_ONE_DEVICE, daripada menggunakan penyematan perangkat.

Untuk menerapkan penyematan perangkat, objek harus diupdate dengan kolom deviceToken yang diterima dengan parameter aktivasi serta menyetel hasLinkedDevice ke benar (true) dalam panggilan API yang sama. Jika diinginkan, tiket kemudian dapat dibatalkan tautannya dari perangkat dengan menyetel hasLinkedDevice ke salah dalam panggilan API mendatang.

diagram urutan untuk penyematan perangkat

Parameter aktivasi

Permintaan ke endpoint aktivasi akan berisi parameter berikut.

Contoh JSON:

  {
    classId: “123.classId”,
    objectIds: [ “123.objectId” ],
    expTimeMillis: 1669671940735,
    eventType: “activate”,
    nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
    deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
  }

ID Deskripsi
classId

ID kelas yang sepenuhnya memenuhi syarat. Menggunakan format berikut:

<issuer_id.class_id>
objectIds

Array ID objek yang sepenuhnya memenuhi syarat dengan menggunakan format berikut:

<issuer_id.object_id>
expTimeMillis Waktu habis masa berlaku dalam milidetik sejak EPOCH. Setelah masa berlaku habis, pesan tersebut harus dianggap tidak valid.
eventType Selalu "activate".
nonce Nonce untuk melacak pengiriman duplikat.
deviceContext

ID unik yang dibuat oleh Google yang mewakili perangkat yang digunakan pengguna. ID ini harus digunakan saat melakukan update yang mengikat objek ke perangkat.

ID ini mungkin tidak konstan untuk permintaan mendatang dari perangkat tertentu.