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