OpenAPI开放平台几乎是中大型技术服务企业的标配,它有着怎样的亮点?本文将解析Open API开放平台的产品设计和运营,分享相关的企业治理思考,希望对你有所帮助。
OpenAPI开放平台几乎是中大型技术服务企业的标配,客户通过OpenAPI将企业服务快速集成到自身信息系统中,供应商通过OpenAPI向企业提供服务,合作伙伴通过OpenAPI与企业高效协作。本文将详尽地阐述Open API开放平台的产品设计和运营,并分享对于OpenAPI相关的企业治理问题的一些思考。
互联网出现前,信息系统是由ISV(Independent Software Vendor)部署在企业自身的机房里的,这些系统只能解决企业内部特定办公任务场景下的信息管理质量和效率问题,例如Office三件套、Oracle财务软件,企业间的业务往来还得靠线下的合同、单据、票据,例如通过采购合同下采购单。
互联网出现后,开始出现一些间简单的网络传输协议,如FTP文件传输协议、HTTP数据传输协议,在全球供应链和贸易领域中,传统线下业务单据开始被EDI(Electronic Data Interchange)技术所取代,标准委员会制定出一些电子单据的格式规范,例如X12标准的采购订单(850),企业只需将业务单据以标准格式存储、传输,便可与全球采用EDI技术的贸易伙伴高效开展业务,企业间的信息交换进入电子化时代。这个时代开始出现最早期的OpenAPI平台,例如 中国电子口岸,通过提交申请表,企业即可对接海关的EDI接口,向海关提交电子化的报关表、通关申请单、通关货物清单等。
随着企业信息化技术、互联网技术、网关技术的普及,信息存储、交换的粒度和环境出现了颠覆性变化,此前企业间交换信息一般以单据为粒度,但现在企业间交换信息可以到细化到任意粒度,例如零售企业只将一个SKU的信息下发到物流服务商的仓库。此前企业间信息一般存储到Oracle数据库中,但现在企业间信息存储的方式多种多样,并且单位信息的存储成本近乎无限低。因此逐渐发展出基于互联网HTTP协议的信息交换技术,简称API接口。相比于EDI技术,API接口的功能和信息格式可以按需自由定义,没有任何约束,企业间交换信息更加自由。
随着云计算技术、SaaS服务技术的发展,市面上逐渐出现一批以撮合交易为主营业务的特大型的平台型企业(例如京东购物平台),上下游以这些企业为中心开展商业活动,这些企业为了提升自身与上下游企业的信息交换效率,制定了一些标准的安全规范,针对业务定义了一些标准功能的API(如库存同步、订单拉取、轨迹回传等),并将这些API文档和安全规范公开展示出来,由此形成了目前市场上的OpenAPI开放平台,例如京东JOS开放平台。
OpenAPI开放平台也是典型的平台型产品,平台的业务流程是围绕API的供给和消费来进行的:
可以直接体验淘宝开放平台,对于开放平台会有直观的认知。
不同行业、类型的企业对于OpenAPI平台的诉求不一致,主要分为以下几种:
本文是针对大型企业建设「业务渠道」类的OpenAPI平台而写的,其中大部分方法同样也适用于其他类型的OpenAPI平台的建设。大型企业建设OpenAPI平台时的工作除了建设标准技术对接模式和标准API等基础产品能力外,还需要面临一系列由于客制化工作带来的产品和运营上的挑战,例如KA客户指定使用的技术模式与平台标准不一致、大型项目里需要多个研发团队协作完成系统开发和对接,另外还要解决 API治理、服务机制建设等等难题。
具体的产品设计方法论可以看如何做好B端产品规划?这“一揽子工具”帮到你,本文介绍的是业务渠道型的OpenAPI平台的建设,因此后文所有产品设计和运营也都围绕这类OpenAPI平台来展开。
【为谁解决什么问题】业务渠道型的OpenAPI平台为企业系统实施人员解决客户导入过程中的的**系统对接效率**问题。在缺少OpenAPI平台时,系统实施人员把每个客户的导入当做一个项目来做,拉着双方的产研同学沟通对接方案,典型的工作流是 方案沟通→开发→测试联调→上线。在拥有OpenAPI平台后,企业内部的标准API能力建设过程与客户导入过程相分离,产研将标准API发布在平台上,编写配套文档,客户可通过平台实现自助化的对接,大大提升系统对接效率。
【市面上的竞品】顺丰开放平台、菜鸟开放平台
【用户角色、核心用户任务、关键产品能力】
OpenAPI平台在产品架构上与一般的平台型产品没有区别,就是三个端:
以上三个端都是具有人机交互界面的端,这三个端为用户的接入体验和效率负责,实际上还有一大块能力不易被感知,那就是API网关能力。API网关对API运行的安全和稳定负责,是双方系统数据交互的最最基础的保障。在一次次的API调用过程中,API网关负责识别用户身份、加解密数据、拦截异常流量,从而保障内部系统的安全,为客户提供性能稳定的API服务。API网关的建设由于技术性强一般由研发主导,而三端的建设则由产品主导。最简版的API网关可以只建设「API元数据、应用AppKey管理、标准签名、OAuth2.0鉴权能力,随着平台用户量的增加和治理工作的开展,需要提供更多样的安全策略供用户选择、健全基本的网关安全能力,保障双方系统安全。
可以在1.1的「用户角色→核心任务→关键产品能力」的基础上,采用文章从需求到功能,B端产品设计四步法中的方法归纳总结得出每个端的核心功能以及三端共用的底层能力,最终得出以下架构图:
建议阅读从需求到功能,B端产品设计四步法,基本原理就是:
通过这个方法,再根据1.1的用户角色→核心任务→关键产品能力得出能力清单,在此不再贴录能力清单。
MVP版本包括的功能集实际非常简单,只要保障「API发布→API展示→API使用」的主链路能通即可,其余API文档、日志等功能都可以有替代方案,例如通过线下文档替代在线文档、通过微信答疑代替工单能力。但研发侧还是要直接按产品侧的架构来搭建系统,一步到位,这样才能在不变更系统架构的情况下快速迭代增加功能。建议按以下进行最初几个版本的迭代:
本章节只讲解产品功能建设上的版本规划,实际上各个版本还要配套运营动作,才能使平台最终变得可用、好用。关于平台的运营请看第二章。
典型的平台型产品 = 平台交易工具 + 配套平台流程规范 + 平台运营治理,第一章已经讲解平台交易工具的建设,本章节着重讲解平台流程规范的建设和日常运营治理。
当产品MVP版本建设好后,理论上可以投产使用,但由于功能非常简陋、不健全,实际是无法交付给运营的。此时,产品需要完成冷启动工作:
在冷启动过程中,实际产品承担了运营和技术支持的职能,这样产品可以深入一线了解客户关心的问题、深入理解好的使用手册应该包含的内容,为后期平台的体验优化、规范制定提供实战经验。通常平台冷启动需要持续3个月时间,这期间平台功能、平台上的API、配套手册均已经过多次迭代,客户根据手册基本能自助完成对接。
当平台功能流程相对完整、稳定后,就可以将平台的答疑工作交付给技术支持团队,产品可以抽身出来扩大平台的服务范围,从服务一个业务线扩展到多个业务线。为了将这个业务线的最佳实践快速复制到多个条线,一定需要将一些做法标准化,这就涉及到平台流程规范的建设。
流程规范一方面是成功经验的萃取,一方面是提升平台相关角色在各种各样场景下的协作效率,笔者根据业务流程阶段,将平台流程规范分为五大部分:
这些流程规范需要经过各部门主要负责人、架构师评审后,才能得到落地,否则内部产研会挑战平台侧制定的标准,特别是有些标准比较苛刻。当平台侧推动各方按流程规范来解决日常问题,基本验证流程规范的可落地性和合理性之后(事实上中间要经过多次修订),就可以考虑将流程固化为平台的功能流程,将规范固化为平台的校验项,使得平台用户自然而然就会遵守流程规范。
3.1 客户的对接体验和效率
OpenAPI开放平台的北极星指标的客户对接体验和对接周期。在产品的MVP版本,就应该建设这两个指标的统计能力,这两个指标的统计口径可以因具体的业务而异,一种可供参考的指标口径是:
实际上,平台运营过程中不可能只看这两个指标的最终数值,而是要找到影响这两个指标的因素,逐个环节做优化,一种可能的拆解如下:
如此围绕北极星指标,就有大量的治理工作要做:
3.2 系统的安全和稳定
事实上,除了在客户导入环节进行提效外,客户业务开展过程中,为客户提供持续稳定的系统服务也非常重要。客户订单无法下发、接收不到订单信息回传将会给客户直接带来经济损失,特别的,一些企业对于API的时延也非常敏感,过高的时延将直接让客户感觉到系统卡顿,影响系统操作体验。因此,平台需要在两个层面持续做好监控,及时发出告警:
一种可能的监控告警方案是:
这里特别要注意的一点是,尽量将平台的监控告警和研发日常系统监控告警集成到同一平台,这样研发会更愿意配置告警、关注告警。另一方面,一旦告警发出,需要有恰当的流程机制来解决问题,通常需要平台与IT运维质量团队共同商议流程机制,保障流程机制能落地;一旦告警转换问客户提交的故障单,还会涉及扣减研发团队质量分,影响研发团队绩效。
除了系统稳定性,系统安全性也非常重要,业务越权或数据泄露也会对公司运营造成重大影响。通过三方面措施来防止此类情况发生:
3.3 流程规范的持续建设
平台在「0-1大规模能力建设 + 平台专项治理」这两个阶段,实际会投入大量人力,在平台功能和业务稳定后,必然会面临成本问题,能否以一个比较低的成本来持续运营平台?经过笔者的实践验证,是可以做到的。平台的运营成本来自于三方面:
实际上,所有成本的降低都指向了流程规范的持续建设,当问题发生时知道怎么处理,日常工作事项可以模板化,不需要花太多精力。
Q1:开放平台和平台上的API是由一个部门来建设比较好,还是分开比较好?
A1:取决于平台承载的业务范围的大小。一方面,为了服务好客户,API开发部门通常需要掌握OpenAPI相关的设计标准、运营运维工作、客户服务流程,如果API开发部门和开放平台是两个独立的部门,那势必会带来沟通和培训成本。另一方面,一个团队的知识领域是有限的,如果平台承载的业务多种多样,那几乎不可能由一个团队来完成所有业务的API的设计。因此,企业业务相对单一时,API和平台应该由同一个部门来建设;企业业务多种多样时,势必会出现多个API建设部门和独立的平台建设部门。
Q2:作为一个大企业,是所有业务共用一个OpenAPI平台好,还是每个业务各自建一个开放平台好?
A2:需要从两个维度来考虑这个问题,一是各业务的属性的相似度,业务属性差异比较大的业务就不适合共用OpenAPI平台,例如阿里的云计算业务和电商业务显然不适合共用一套开放平台,因为二者的业务流程完全不同;二是组织架构的设定,为了服务好客户,平台需要组织各业务线的系统实施、业务运营、产品研发、技术支持等部门共同服务客户,平台能承载的业务服务范围,取决于平台能统筹的业务部门范围,例如京东零售的JOS平台无法统筹京东科技相关部门,因此二者的开放平台最好分开建。
Q3:如果一项数据涉及客户隐私,容易带来数据安全问题,但业务侧期望开放此类数据供商家做经营,如何选择?
A3:企业的合规安全运营是数据开放的底线,如果数据泄露不会给企业经营运营带来根本性的损害,并且法律并未命令禁止对外提供此类数据,那么就应该开放此类数据以支持业务发展,并对数据使用方做好监管,限制数据使用量。
Q4:OpenAPI平台是一个平台型产品吗?平台交易双方主体是谁?
A4:虽然叫OpenAPI平台,但严格意义上说,OpenAPI平台的工具属性大于平台属性。如果说平台上的商品是API的话,平台侧的工作非是提升客户需求和业务线API之间匹配的效率。实际上客户需要的API直接由客户要对接的业务线决定,平台的工作是将客户的需求传递给业务线,并督促业务线按照一定的标准向客户交付API。因此平台是提供了一个组织多个角色共同服务客户的协作工具,核心价值是提升客户消费API过程中的体验和效率。OpenAPI平台的平台属性体现在两方面,一是通过平台将API的供需双方连接起来,二是平台其承担了双方对接过程中规范制定和监督执行的职能。
本文由 @彬哲 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议