その他のユースケース

対象条件

GTAF は、ユーザーがプランを購入できるかどうかを確認するために、次の利用資格リクエストを発行しても構いません。

GET DPA/{userKey}/Eligibility/{planId}?key_type={CPID,MSISDN}

planId は、ユーザーに代わってプランを購入するために使用できるプランの一意の識別子です(データ購入をご覧ください)。planId が指定されていない場合、DPA は、ユーザーが購入可能なすべてのプランを返さなければなりません。

[エラーケース] には、エラー発生時に DPA から想定されるレスポンスが一覧表示されます。さらに、DPA は次のエラーケースでエラーを返す必要があります。

  • DPA は 400 BAD REQUEST エラーコードを返し、planId が無効であることを GTAF に知らせます。
  • DPA は、planId がユーザーのデータプランと互換性がないことを示す 409 CONFLICT エラーコードを返します。

それ以外の場合、DPA は 200 OK レスポンスを返す必要があります。EligibleResponse の成功のフォーマットは次のとおりです。

{
  "eligiblePlans":
  [
   {
    "planId": string,   // Plan identifier. Can be used to
                        // refer to the plan during
                        // offers, etc. (req.)
   }
  ]
}

リクエストに planId が含まれている場合、レスポンスにはそのプランのみが含まれます。それ以外の場合、このリストにはユーザーが購入できるすべてのプランが含まれます。planId が空で、DPA が有効なプランのリストを返すことをサポートしていない場合は、400 BAD REQUEST エラーを返さなければなりません。

Android 5G への対応

GTAF を使用すると、通信事業者は接続タイプごとにサブスクライバーの従量制ステータスを共有できます。情報は GTAF によって定期的に pull することも、携帯通信会社が内部トリガーに基づいて push することもできます。

pull API

デバイスは、以下を使用して GTAF を介して従量制情報を pull できます。

GET DPA/{userKey}/planStatus?key_type={userKey}&client_id=AndroidSystemInfo

DPA(データプラン エージェント)は、携帯通信会社のネットワーク内の API GW またはエンタイトルメント サーバーを表します。

userKey は、こちらで定義されている最初の認証フェーズで確立される認証トークンです。

client_id は AndroidSystemInfo

従量制のステータスが ENUM として指定されている場合

DPA は 200 OK レスポンスを返し、planInfoPerClient を含むものとします。DPA のエラー処理はこちらで定義されています。

pull モデルでは、GTAF がクライアントとして機能し、DPA の SSL 証明書を検証します。GTAF は、こちらで定義された OAuth プロシージャを使用して、DPA に対して自身を認証します。

Push API

携帯通信会社は、トリガー イベント(料金プランの変更など)に基づいて、従量制情報をプッシュすることもできます。

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/AndroidSystemInfo/users/abcdef/planStatus

DPA は、メッセージ本文に planInfoPerClient を含める必要があります。 GTAF からのエラー レスポンスについては、こちらで定義されています。

push モードでは、GTAF は Google Cloud OAuth2 サーバーを使用して DPA からの受信リクエストを認証します。受信リクエストは、DPA が表す ASN の ISP ポータルで許可リストに登録されているサービス アカウントとして認証される必要があります。詳しくは、こちらの統合ガイドをご覧ください。