背景
自動リンクされたパス機能を使用すると、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 個)に達しています。 |