JWT POST 请求方法

JWT POST 请求方法是为 Android 应用创建机票或活动门票类和对象的替代方法。在保存对象之前难以实现创建和插入类所需的后端工作时,就会使用此方法。此方法对于活动门票和登机牌非常有用,而这些票证可以随时间创建许多类。

目前支持的方法是使用 JWT 链接和 Intent,藉由 Google Pay API for Passes 从 Android 应用保存登机牌或活动门票。其流程可归纳如下:

  1. 在保存登机牌之前的某个时间,使用 REST API 在后端创建一个类。
  2. 当最终用户办理登机手续或获取活动门票时,您的服务器后端会将 JWT 呈现给代表对象的 Android 客户端应用。
  3. 您的 Android 客户端应用包含符合我们品牌推广指南保存到 Google Pay 按钮。点击该按钮后,将针对路径中含有 JWT 的 URI 打开一个 ACTION_VIEW Intent。示例如下:
    https://pay.google.com/gp/v/save/{jwt_generated}
    

JWT POST 请求方法

如果在保存对象之前很难实现创建和插入类所需的后端工作,特别是在保存活动门票或登机牌之类的票证时,最好使用备用 JWT POST 请求方法来为 Android 应用创建类和对象。其流程归纳如下:

  1. 当最终用户办理登机手续或兑换活动门票时,您的服务器后端会将一个 JWT 呈现给同时包含该类和对象的 Android 客户端应用。
  2. 您的 Android 客户端应用包含符合我们品牌推广指南保存到 Google 按钮。点击该按钮时,将发生以下情况:
    1. POST 请求通过 HTTPS 将 JWT 发送到 Google 端点。
    2. 作为回应,将发送所产生 HTTP 响应正文中的 URI,该 URI 随后应该用于打开 ACTION_VIEW Intent。

类创建过程

只有在使用过去未保存的 class.id 呈现时,才会在后端创建新类。因此,虽然您可能会多次通过 JWT 将类详细信息传递给 Google,但后端会识别出该类已保存,并且不会在每次保存登机牌时都创建新类。

类更新

在第一张登机牌后,对象与类一起保存。您可以按照预期将 class.id 与我们的 REST API 一起使用,以便按预期执行 ADDMESSAGEGETLISTPATCHUPDATE 操作。

要更改类详细信息,必须使用类更新 API。如果您使用 class.id=XYZ 以及其他一些类详细信息创建类,并且您尝试稍后使用 class.id=XYZ 但使用不同的类详细信息创建类,我们仍会保留原始类并且不应用任何更改。

JWT 格式

如需详细了解您所发送 JWT 的格式,请参阅我们的 Google Pay API for Passess JWT 参考文档。对于此 payload,您将为对象传递一个条目(表示要创建的对象),并为类传递一个条目(其中包含您所创建的类)。

HTTP 请求

您可以使用 INSERT 方法插入 JWT 中指定的类和对象。

JWT INSERT 方法

对于 JWT,INSERT 方法将插入 JWT 中指定的类和对象。如果成功,它将返回一个 200 HTTP 响应。

HTTP 请求

POST https://www.googleapis.com/walletobjects/v1/jwt/

授权

此请求无需授权。但是,JWT 必须使用 RSA-SHA256 签名。签名密钥是 OAuth 服务帐号生成的密钥。

请求正文

在请求正文中,请提供具有以下结构的数据:

{ “jwt” : string }

响应正文

如果成功,此方法将返回具有以下结构的响应正文:

{
    "saveUri": string,
    "resources": {
      "eventTicketClasses": [ eventTicketClass resource, ... ],
      "eventTicketObjects": [ eventTicketObject resource, ... ],
      "flightClasses": [ flightClass resource, ... ],
      "flightObjects": [ flightObject resource, ... ],
      "giftCardClasses": [ giftCardClass resource, ... ],
      "giftCardObjects": [ giftCardObject resource, ... ],
      "loyaltyClasses": [ loyaltyClass resource, ... ],
      "loyaltyObjects": [ loyaltyObject resource, ... ],
      "offerClasses": [ offerClass resource, ... ],
      "offerObjects": [ offerObject resource, ... ]
    }
}

saveUri 是一个 URI,打开此 URI 后,最终用户可以将 JWT 中标识的对象保存到他们的 Google 帐号。此 URI 仅在其被返回后的一周内有效。

如需了解详情,请参阅 JWT 端点参考

流程图

如需了解流程图,请参阅典型的 API 流程