在上个月,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是一个简单的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仪表板 。
查看英文原文: Capital One Launches Developer Platform