资格条件
GTAF 可以发出以下资格请求,检查用户是否有资格购买方案。
GET DPA/{userKey}/Eligibility/{planId}?key_type={CPID,MSISDN}
请注意,planId
是方案的唯一标识符,可用于代表用户购买方案(请参阅数据购买)。如果未指定 planId
,DPA 必须返回相应用户能够购买的所有计划。
错误案例列出了出现错误时 DPA 的预期响应。此外,DPA 应在以下情况下返回错误:
- DPA 会返回 400 BAD REQUEST 错误代码,以指示 GTAF
planId
无效。 - DPA 返回 409 CONFLICT 错误代码,表示
planId
与用户的数据计划不兼容。
否则,DPA 应返回 200-OK 响应。成功的 EligabilityResponse 的格式为:
{
"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 可以定期提取信息,运营商也可以根据内部触发器推送这些信息。
拉取 API
设备可以使用以下代码通过 GTAF 提取计量供给信息:
GET DPA/{userKey}/planStatus?key_type={userKey}&client_id=AndroidSystemInfo
请注意,DPA(流量套餐代理)代表运营商网络中的 API GW 或授权服务器。
userKey 是在初始身份验证阶段(如此处定义)建立的身份验证令牌。
client_id 是 AndroidSystemInfo
计量供给状态以 ENUM 形式提供
DPA 应返回 200 OK 响应,并包含 planInfoPerClient。此处定义了 DPA 的错误处理方式
在拉取模型中,GTAF 充当客户端并验证 DPA 的 SSL 证书。GTAF 使用此处定义的 OAuth 流程向 DPA 进行身份验证。
Push API
运营商还可以根据触发事件(例如价格方案变动等)推送计量供给信息,
POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/AndroidSystemInfo/users/abcdef/planStatus
DPA 应在消息正文中包含 planInfoPerClient。GTAF 的错误响应在此处进行了定义
在推送模式下,GTAF 使用 Google Cloud OAuth2 服务器对来自 DPA 的传入请求进行身份验证。传入请求必须作为已在 ISP 门户中列入白名单来针对 DPA 所代表 ASN 的服务帐号进行身份验证。另请参阅此处的集成指南,了解更多详情。