背景
自動リンク パス機能を使用すると、既存のパスを Google ウォレットに保存しているユーザーに追加のパスを送信できます。ユーザーがメインのパスを保存したときに、パスをメインのパスに事前リンクすることもできます。自動リンクされたパスは、プライマリ パスの上に新しいパスがリンクされたことを知らせる吹き出しが表示され、プライマリ パスとグループ化されます。次のパスタイプは、メインパスまたはリンクされたパスとしてサポートされています。
- イベント チケット
- 搭乗券
- 交通機関のパス
- 特典
- ギフトカード
- ポイントカード
- 汎用パス
|
|
| 新しいパスが追加されたことを示す吹き出しが表示されたメインのパス | メインのパスにリンクされた新しいパス |
ユースケース
パスを既存のパスにリンクするユースケースはさまざまです。以下にいくつか例を示します。
- 既存のポイントカードにクーポンをリンクします。
- 食事クーポンを搭乗券またはイベント チケットにリンクします。
- 駐車券をイベント チケットにリンクします。
自動リンクされたパスを使用する際の考慮事項
- メイン オブジェクトとリンクされたオブジェクトは同じ issuerId を使用する必要があります。
- 1 つのプライマリ オブジェクトにリンクできるオブジェクトは 50 個までです。
- リンクされたパスを自動的にプッシュすることは保証されておらず、ベスト エフォートと見なされます。ユーザーは自動リンクされたパスの受信をオプトアウトできます。ユースケースが重要で、ユーザーがリンクされたパスを受け取る必要がある場合は、別のチャネルを通じて連絡を取り、ユーザーがパスを追加できるようにすることをおすすめします。
- Google ウォレットの AUP の更新には、自動リンクされたパスの使用に関するガイダンスが含まれており、これに準拠する必要があります。
統合の手順
プライマリ オブジェクトをすでに作成している場合は、ステップ 1 をスキップできます。
- 必要なパラメータを使用して、リストされているパスタイプのオブジェクトを作成します。これがプライマリ オブジェクトです。
- 記載されているいずれかのパスタイプの別のオブジェクトを作成します。これは、リンクされたオブジェクトになります。
- プライマリ オブジェクトを保存する前または後に、linkedObjectIds パラメータのリンクされたオブジェクトの ID を使用してプライマリ オブジェクトを更新します。
プライマリ パスに linkedObjectIds を設定するには、最小ペイロードが必要です。3 つの必須パラメータは次のとおりです。
- ISSUERID.PRIMARY_OBJECT_ID
- ISSUERID.PRIMARY_CLASS_ID
- ISSUERID.LINKED_OBJECT_ID
パス オブジェクトにリンクされたオブジェクトを追加する JSON リクエストの例
… { "id": "ISSUERID.PASS_OBJECTID", "classId": "ISSUERID.PASS_CLASSID", "barcode": { "type": "qrCode", "value": "QR code" }, "linkedObjectIds": ["ISSUERID.LINKED_PASS_OBJECTID"] } …
オブジェクトをパス オブジェクトにリンクした後の JSON レスポンスの例
…
"state": "active",
"linkedObjectIds": {
"ISSUERID.LINKED_PASS_OBJECTID"
}
…予想される動作
成功レスポンスを受け取ると、更新したパスを含むデバイスはリンクされたパスを受け取ります。このリンクされたパスは、メインパスとともにグループ化されます。リンクされたパスは、右にスワイプすると表示されます。
例外処理
API の誤った使用により、次のようなエラーが発生する可能性があります。
| メッセージ | 理由 |
|---|---|
| メインのオブジェクトとリンクされたオブジェクトで、同じ発行者 ID が共有されていません。 | リンクされたオブジェクトを別の発行者のオブジェクトに添付することはできません。 |
| プライマリ オブジェクトとリンクされたオブジェクトが同じオブジェクトを参照している。 | 同じオブジェクトを linkedObject として添付することはできません。 |
| リンクされたオブジェクトが存在しません。 | リンクされたオブジェクトは、ウォレット API にすでに挿入されている必要があります。 |
| リンクされたオブジェクトには、すでに別のリンクされたオブジェクトがあります。ネストされたリンク オブジェクトを追加することはできません。 | リンクされたオブジェクトに別のリンクされたオブジェクトを含めることはできません。 |
| オブジェクトは別のオブジェクトにすでにリンクされています。ネストされたリンク オブジェクトを追加することはできません。 | プライマリ オブジェクトをリンクされたオブジェクトだけにすることはできません。 |
| リンクされたオブジェクトを追加できません。上限を超えています。 | メインパスのリンクされたパスの上限である 50 に達しました。 |