概要

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)

バーコードでエンコードする値。少なくとも 1 つの値が必要です。これらの初期バーコードは、ユーザーが最初にパスを取得してから、後続の一括アップロード呼び出しが行われるまでのギャップを埋めることを目的としています。

type

enum (BarcodeType)

必須。このバーコードのタイプ。

有効な値は次のとおりです。

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
項目 説明
startDateTime

string

最初のバーコードが有効になる日付/時刻。バーコードは periodMillis を使用してローテーションされます。

ISO 8601 拡張形式の日付/時刻で、オフセット付きです。

values[]

string

バーコードでエンコードする値。値を少なくとも 1 つ指定してください。

値に上限はありませんが、リクエスト本文のサイズは 5 MB 以下にしてください。

periodMillis

number

各バーコードの有効期間。

バーコード値の一括更新

RotatingBarcode オブジェクトを作成したら、ユーザーのパスの有効期限が切れるまで、1 日分のバーコードを毎日アップロードすることをおすすめします。これは、次の REST API エンドポイントを使用して行うことができます。

メソッド: transitobject.uploadrotatingbarcodevalues

指定されたオブジェクト ID の交通機関オブジェクトにローテーション バーコード値をアップロードします。

HTTP リクエスト

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

パスパラメータ

パラメータ 説明
resourceId

string

オブジェクトの一意の識別子。

リクエスト本文

リクエストの本文(5 MB 以下)には RotatingBarcodeValues のインスタンスが含まれています。

メソッド: transitobject.downloadrotatingbarcodevalues

指定されたオブジェクト ID の交通機関オブジェクトのローテーション バーコード値をダウンロードします。これは、パートナーが最新のバッチを確認する場合に便利です。

HTTP リクエスト

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

パスパラメータ

パラメータ 説明
resourceId

string

オブジェクトの一意の識別子。

フォールバックのメカニズム

有効な RotatingBarcode に、表示する有効なバーコードがない場合(まだアップロードされていない場合、または現在のバーコードがすべて使用されている場合)、ユーザーにエラー メッセージが表示されます。