在上个月,Capital One 推出了 DevExchange Beta 开发者网站与初期的 API。
该平台上首次推出的三个 API(都处于 beta 阶段)所提供的功能已“超越了银行业务的范畴”,同时还专注于与客户在 Capital One 账号体验有关的其他组件。
这个平台上目前主打的产品是 SwiftID ,这是一个双重身份验证(two-factor authentication)产品,能够与 Capital One 的 iOS 应用进行集成(对 Android 的支持已在计划中)。这套 API 的目标是让开发者能够为 Capital One 的移动应用用户提供一种更平滑、并且更安全的登录方式。
双重身份验证系统通常用于在登录流程中对用户身份进行进一步确认。Capital One 还强调了其他一些目标使用场景,例如在购物时对结账操作的确认,签定发票或估价,对内容共享的确认等等。
该 API 是由一个分为两部分的请求 / 响应模式所构成的:
- 开发者发送一个 SwiftID “task”,该 task 将展现给 Capital One 移动应用的用户
- 当用户对该请求进行响应时,SwiftID 会通过开发者设定的 Webhook 终结点发送通知
SwiftID task 是一个简单的 JSON 文档,它将通过 POST 方法发送至 /identity/enhanced-authentication/tasks:
{ "message": { "clientApp": "PixRMine", "action":"share your pictures", "requestorName":"with Snoopy" } }
如果执行成功,则返回的响应中将包括一个 taskReferenceId,当用户接受或拒绝某个请求时,所发送的 Webhook 回调响应需要与该 taskReferenceId 进行匹配。
移动应用的用户将从以上 JSON 文档中得到相应的值,通过以下文本模板展现:
{clientApp} is requesting approval to {action} {requestorName}. Do you approve?
当用户发出响应时,一个与之类似的小 JSON 文档会发送给已注册的 Webhook 回调终结点,其中包含了 taskReferenceId 以及一个 taskStatus,其值为 APPROVED 或 REJECTED。一旦开发者的应用收到了该响应,就可以相应地做出回应。
SwiftID 是在目前三个可用的 API 中最容易让开发者在生产环境中使用的API:“任何第三方开发者都可以申请生成环境中的访问与许可,他们需要遵循我们在可接受用例方面设定的标准。”
其余两个API 则对开发者提出了更高的要求,因为他们能够访问Capital One 客户的私密信息。举例来说,开发者通过 Rewards API 可以访问某个 Capital One 卡持有者账户中的积分或现金奖励。该 API 目前还不支持以现金方式提取奖励,但已计划在未来的版本中加入这一功能。
该平台提供了一些测试数据,可在某几个账号中随意进行与奖励相关的操作,此外还提供了一个测试账号以模仿欺诈场景。Capital One 提供了一个基于 Apache License 2.0 许可的 Node参考应用,开发者可利用它快速地进行Rewards API 的开发。不过,开发者可能需要慎重地思考一下,因为这个API 的使用准则要高得多:“对于在生产环境中的访问请求需要逐个分析,是否批准请求取决于开发者是否遵循了可接受用例的标准。”与之类似, Credit Offers API 只限于参加了 Affiliate 项目的成员访问:“你必须通过 Capital One 与第三方 CJ Affiliate 才能够加入 Affiliate 项目。”
这两个 API 对生产环境中的访问提出了更高等级的要求,这一点并不令人吃惊,毕竟通过这些 API 所发送与获取的内容本身就更为私密。举例来说:“你将通过传递客户的名字、地址以及社会保险号(可以是完整的号码或是最后四位号码)等信息作为查询参数以认证该客户。”
客户可能会对于是否需要成为Capital One 的客户存在疑问,其实这套API 的目标之一就是让Capital One 的信用卡能够为API 使用者自己的客户所用,因此目前并没有这方面的要求。
所返回的信息包括预审资格的声明,(有可能)还包括一系列可用的产品信息,例如订购的APR、余额结转的条款,以及会员年费等等。
这三个API 都提供了沙盒环境( https://api-sandbox.capitalone.com )以及生产环境( https://api.capitalone.com )的终结点。他们使用了相同的基于OAuth 2.0 的授权流程,并且在 Capital One 的 GitHub 账号下提供了一些参考应用。
开发者可能同样会对 Capital One 的其他开源产品感兴趣,例如 Hygieia DevOps 仪表板。
评论