背景
自動リンクされたパス機能を使用すると、Google ウォレットに既存のパスを持っているユーザーに、追加のパスをお送りいただけます。ユーザーがメイン(メイン)パスを保存するときに、パスをメインパスに事前リンクすることもできます。自動リンクされたパスは、プライマリ パスとグループ化され、プライマリ パスの上に、新しいパスがリンクされたことをユーザーに知らせるコールアウトが表示されます。次のパスタイプは、プライマリ パスまたはリンク済みパスとしてサポートされています。
- イベント チケット
- 搭乗券
- 交通機関のパス
- 特典
- ギフトカード
- ポイントパス
- 汎用パス
新しいパスが追加されたことを示すコールアウト付きのメインパス | メインのパスにリンクされた新しいパス |
ユースケース
パスを既存のパスにリンクするユースケースはさまざまです。いくつかの例を以下に示します。
- 既存のポイントカードにクーポンをリンクします。
- 食事クーポンを搭乗券またはイベント チケットにリンクする。
- 駐車券をイベント チケットにリンクする。
自動リンクされたパスを使用する際の考慮事項
- プライマリ オブジェクトとリンクされたオブジェクトは、同じ issuerId を使用する必要があります。
- プライマリ オブジェクトごとにリンクできるオブジェクトの上限は 50 個です。
- リンクされたパスの自動プッシュは保証されず、ベスト エフォートとして扱われます。ユーザーは、自動リンクされたパスの受信をオプトアウトできます。ユースケースが重要で、ユーザーがリンクされたパスを受け取る必要がある場合は、別のチャネルで連絡して、ユーザーがパスを追加できるようにすることをおすすめします。
- Google ウォレットの利用規約の更新には、自動リンクされたパスの使用に関するガイダンスが含まれており、これに準拠する必要があります。
統合の手順
プライマリ オブジェクトをすでに作成している場合は、ステップ 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 と同じオブジェクトをアタッチすることはできません。 |
リンクされたオブジェクトが存在しません。 | リンクされたオブジェクトは、すでに Wallet API に挿入されている必要があります。 |
リンク先のオブジェクトにすでに別のリンク先オブジェクトがある。ネストされたリンク済みオブジェクトを追加することはできません。 | リンクされたオブジェクトに別のリンクされたオブジェクトを設定することはできません。 |
オブジェクトはすでに別のオブジェクトにリンクされています。ネストされたリンク済みオブジェクトを追加することはできません。 | プライマリ オブジェクト自体をリンク オブジェクトにすることはできません。 |
リンクされたオブジェクトを追加できません。上限を超えています。 | プライマリ パスのリンク済みパスの上限である 50 個に達しています。 |