合作夥伴可透過 Google Wallet Pass API,將旋轉條碼儲存至 Google 錢包。這些條碼僅適用於短時間,提供額外的安全保障,降低條碼擷取畫面的風險。系統會根據 RFC 6238 在裝置上產生條碼,並由合作夥伴提供密鑰。不過,如果合作夥伴偏好自行產生條碼,Google 會提供 API,以便將條碼批次上傳至 Google。這些條碼隨後會傳送到使用者的手機,運作方式與旋轉條碼相同,顯示一小段時間。我們將這項解決方案稱為合作夥伴產生的旋轉條碼。
合作夥伴產生的 Rotating Barcode API
合作夥伴產生的旋轉條碼是使用同一個 RotatingBarcode 物件建立。雖然我們建議您只提供類型,不過我們建議您建立一組小規模的啟動條件條碼 (價值約 10 分鐘),並透過 initialRotatingBarcodeValues
傳送。合作夥伴必須負責確保使用者隨時都有有效的條碼,而 initialRotatingBarcodeValues
允許後續的批次上傳呼叫以非同步方式運作。
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
欄位 | 說明 |
---|---|
initialRotatingBarcodeValues |
要在條碼中編碼的值。至少須提供一個值。使用者初次取得票證,以及執行後續批次上傳呼叫之間,這些初始條碼會用來消除兩者之間的差距。 |
type |
必要欄位。此條碼的類型。 可接受的值為:
|
欄位 | 說明 |
---|---|
startDateTime |
第一個條碼的有效日期/時間。條碼將使用 日期/時間採用 ISO 8601 擴充格式,採用偏移量。 |
values[] |
要在條碼中編碼的值。至少須輸入一個值。 值數量沒有上限,但請注意,要求主體的大小不得超過 5 MB。 |
periodMillis |
每個條碼的有效時間長度。 |
批次更新條碼值
建立 RotatingBarcode 物件之後,建議您每天上傳一天的條碼,直到使用者的票證過期為止。您可以使用下列 REST API 端點來完成這項設定。
方法:transitobject.uploadrotatingbarcodevalues
將旋轉條碼值上傳至指定物件 ID 參照的大眾運輸物件。
HTTP 要求
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
路徑參數
參數 | 說明 |
---|---|
resourceId |
物件的專屬 ID。 |
要求主體
要求主體 (不得超過 5 MB) 包含 RotatingBarcodeValues 的執行個體。
方法:transitobject.downloadrotatingbarcodevalues
針對指定物件 ID 參照的大眾運輸物件,下載旋轉條碼值。如果合作夥伴想驗證最新的批次資訊,這項功能就非常實用。
HTTP 要求
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
路徑參數
參數 | 說明 |
---|---|
resourceId |
物件的專屬 ID。 |