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 |
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 |
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 Nilai yang dapat diterima:
|
deviceContext |
Konteks perangkat yang akan dikaitkan dengan objek. Jika ditetapkan, informasi penukaran akan hanya dikembalikan ke perangkat yang diberikan. |
hasLinkedDevice |
Apakah objek ini saat ini ditautkan ke satu perangkat. |
| Kolom | Deskripsi |
|---|---|
deviceToken |
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
Perlu diketahui bahwa |
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.

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. |