BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Capital One推出开发者平台

| 作者 Benjamin Young 关注 1 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2016年4月11日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在上个月,Capital One推出了DevExchange Beta开发者网站与初期的API。

该平台上首次推出的三个API(都处于beta阶段)所提供的功能已“超越了银行业务的范畴”,同时还专注于与客户在Capital One账号体验有关的其他组件。

这个平台上目前主打的产品是SwiftID,这是一个双重身份验证(two-factor authentication)产品,能够与Capital One的iOS应用进行集成(对Android的支持已在计划中)。这套API的目标是让开发者能够为Capital One的移动应用用户提供一种更平滑、并且更安全的登录方式。

双重身份验证系统通常用于在登录流程中对用户身份进行进一步确认。Capital One还强调了其他一些目标使用场景,例如在购物时对结账操作的确认,签定发票或估价,对内容共享的确认等等。

该API是由一个分为两部分的请求/响应模式所构成的:

  1. 开发者发送一个SwiftID “task”,该task将展现给Capital One移动应用的用户
  2. 当用户对该请求进行响应时,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仪表板

查看英文原文Capital One Launches Developer Platform

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT