總覽

合作夥伴可透過 Google Wallet Passes API 儲存 旋轉 條碼到 Google 錢包。這些條碼的效期只有短時間 提供額外的安全防護,降低條碼螢幕截圖的風險。 條碼是依 RFC 6238,透過提供 密鑰。不過,如果合作夥伴希望自行產生條碼,Google 會提供 提供 API,可將條碼批次上傳至 Google。這些條碼 可傳遞到使用者的程式碼的運作模式就如同旋轉條碼 顯示一小段時間我們將這項解決方案稱為「合作夥伴產生」 旋轉條碼。

合作夥伴產生的旋轉條碼 API

合作夥伴產生的旋轉條碼會使用相同的 RotatingBarcode 建立 物件。只有類型是必要項目,不過我們建議建立小型的啟動條件。 再傳送一組條碼 (價值約 10 分鐘) initialRotatingBarcodeValues。合作夥伴必須負責確保 一律為使用者備妥有效條碼,initialRotatingBarcodeValues 則允許 後續的批次上傳呼叫是以非同步的方式進行

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
欄位 說明
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

要在條碼中編碼的值。至少須輸入一個值。這些初始值 條碼是為了銜接使用者初次取得票證之間的空檔 系統就會傳送快訊通知

type

enum (BarcodeType)

必要欄位。此條碼的類型。

可接受的值為:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
欄位 說明
startDateTime

string

第一個條碼的生效日期/時間。條碼會經過旋轉 使用 periodMillis

日期/時間採用 ISO 8601 擴充格式 (含有偏移量)。

values[]

string

要在條碼中編碼的值。至少須輸入一個值。

值數量沒有上限,但請注意,要求主體的大小 不得超過 5 MB。

periodMillis

number

每個條碼的有效時間長度。

批次更新條碼值

建立 RotatingBarcode 物件後,建議您上傳一天的 連續計算價值 100 萬元的條碼,直到使用者的票證過期為止方法是使用 連結至後端

方法:transitobject.uploadrotatingbarcodevalues

將條碼值旋轉至指定物件 ID 參照的大眾運輸物件。

HTTP 要求

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

路徑參數

參數 說明
resourceId

string

物件的專屬 ID。

要求主體

要求主體 (大小不得超過 5 MB) 包含 RotatingBarcodeValues

方法:transitobject.downloadrotatingbarcodevalues

下載指定物件參照的大眾運輸物件條碼值 編號。如果合作夥伴想驗證最新的批次,這個方法就能派上用場。

HTTP 要求

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

路徑參數

參數 說明
resourceId

string

物件的專屬 ID。

備用機制

請注意,如果其他有效的 RotatingBarcode 沒有可顯示的有效條碼 (這些 尚未上傳,或已使用所有目前條碼) 時發生錯誤 向使用者顯示的訊息