Google Wallet Passes API には、パートナーがローテーション バーコードを Google ウォレットに保存する機能があります。これらのバーコードの有効期間は短いため、セキュリティが強化され、バーコードのスクリーンショットが取得されるリスクを軽減できます。バーコードは RFC 6238 に沿ってデバイス上で生成されます。秘密鍵はパートナーが提供します。ただし、パートナーがバーコードを自身で生成する場合は、バーコードを Google に一括アップロードできる API が用意されています。その後、これらのバーコードはユーザーのスマートフォンに渡され、ローテーション バーコードと同じように動作し、短時間表示されます。Google では、このソリューションを「パートナーが生成したローテーション バーコード」と呼んでいます。
パートナーが生成したローテーション バーコード API
パートナーが生成したローテーション バーコードは、同じ RotatingBarcode オブジェクトを使用して作成されます。必須となるのはタイプのみですが、バーコードの小さなスターター セット(10 分程度)を作成し、initialRotatingBarcodeValues
で送信することをおすすめします。パートナーは、ユーザーが有効なバーコードを常に使用できる状態にしておく責任があります。initialRotatingBarcodeValues
を使用すると、後続の一括アップロード呼び出しを非同期にすることができます。
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
項目 | 説明 |
---|---|
initialRotatingBarcodeValues |
バーコードでエンコードする値。少なくとも 1 つの値が必要です。これらの初期バーコードは、ユーザーが最初にパスを取得してから、後続の一括アップロード呼び出しが行われるまでのギャップを埋めることを目的としています。 |
type |
必須。このバーコードのタイプ。 有効な値は次のとおりです。
|
項目 | 説明 |
---|---|
startDateTime |
最初のバーコードが有効になる日付/時刻。バーコードは ISO 8601 拡張形式の日付/時刻で、オフセット付きです。 |
values[] |
バーコードでエンコードする値。値を少なくとも 1 つ指定してください。 値に上限はありませんが、リクエスト本文のサイズは 5 MB 以下にしてください。 |
periodMillis |
各バーコードの有効期間。 |
バーコード値の一括更新
RotatingBarcode オブジェクトを作成したら、ユーザーのパスの有効期限が切れるまで、1 日分のバーコードを毎日アップロードすることをおすすめします。これは、次の REST API エンドポイントを使用して行うことができます。
メソッド: transitobject.uploadrotatingbarcodevalues
指定されたオブジェクト ID の交通機関オブジェクトにローテーション バーコード値をアップロードします。
HTTP リクエスト
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
パスパラメータ
パラメータ | 説明 |
---|---|
resourceId |
オブジェクトの一意の識別子。 |
リクエスト本文
リクエストの本文(5 MB 以下)には RotatingBarcodeValues のインスタンスが含まれています。
メソッド: transitobject.downloadrotatingbarcodevalues
指定されたオブジェクト ID の交通機関オブジェクトのローテーション バーコード値をダウンロードします。これは、パートナーが最新のバッチを確認する場合に便利です。
HTTP リクエスト
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
パスパラメータ
パラメータ | 説明 |
---|---|
resourceId |
オブジェクトの一意の識別子。 |