随着技术和合作共享思维的发展,硅谷率先推出了开放平台,比如谷歌开放了map api,将自己的地图能力进行开放;twitter开放了社交api,其他厂商,比如游戏等就可以直接调用twitter账户进行登录,同时关联好友关系。随后中国也对外开放地图、新闻门户、电子商务、支付等多个行业的核心能力。
我们主要集中在从0到1的设计过程中的开放平台。我们需要考虑哪些链接、我们需要构建的基本功能以及我们如何进行业务管理。
一、为何搭建开放平台
软件平台设计开发者通过打开自己的平台产品服务的各种API接口,在开发应用时,如微博登录、支付宝支付、微信支付、酒店查询预约等,使其他第三方开发者直接呼叫。
事实上,一些智能硬件设备制造商在我的工作经验中完美(中国)官方地使用这种方法。它们向合作伙伴和客户开放了管理设备的能力,以帮助客户或合作伙伴在自己的系统中快速集成相应的能力。
例如,我在物业集团作为一个智能社区工作,涉及智能停车、智能接入、智能安全和智慧,如果我们自己建设,当然很费时,如果我们利用硬件供应商的开放平台,它可以快速地在我们自己的系统中建立相应的能力,作为一个制造商,他们成功地为我们提供了自己的服务能力,促进了他们的品牌有效性,增强了产品的竞争力。
注意:在某些情况下,H5也可以向第三方开放。在这种情况下,第三方不需要进行页面和后台开发,只需要根据平台方的要求传入相应的参数。
二、开放平台服务形式
开放平台主要是软件平台设计开发人员,以API、H5的形式向第三方合作伙伴或客户开放自己的资源或服务,帮助他们快速构建自己的应用程序。
从形式上来说,大致分为两类:
1、当开发者请求时,开放平台返回相应的H5链接。在这种形式下,开发者通常会传入自己系统的用户账号信息,然后直接在开放平台的H5链接内执行服务。这种开放形式是为支付宝服务,如社保公积金查询、汽车服务等。
优点:对于开发商来说开发成本很低,开发量少,上线时间快,不需要详细了解相应业务的逻辑和规则。对于平台来说,与不同的开发人员接口更简单。
缺点:开发人员无法直接获取本系统用户的实际业务情况,与以下单笔交易量、订单量等相比,完全依赖于平台提供的数据;相应页面的风格无法改变,可能存在不符合自身制度风格的风险;
2、开发人员请求时,根据API的功能传入相应的参数,平台返回相应的数据内容,内容集成后,开发人员再按照样式执行演示..
优点:对于具有交易类型和共享的业务,开发人员可以自己掌握相关的订单数据,而不受平台提供的数据的限制。
缺点:开发成本相对较高,开发人员需要详细了解业务规则和逻辑,同时要进行前端页面的设计和开发。平台技术方面需要连接开发人员的界面并对问题进行解释,这对于人力资源投资来说是相对较高的。
总的来说,不一定是哪种形式更好。我们需要结合实际情况来决定哪种形式的开放平台是开放的。合作关系、业务模式、团队情况、业务发展阶段、系统稳定性等都是需要考虑的因素。最后,详细提出了采用何种或多种形式;
三、开放平台设计
这一次,我们主要讨论的是属于企业服务类型的API模式开放平台的设计与开发。主要要求符合智能硬件制造商开放式平台的设计要求。支付宝和微信类型的标准访问类型开放平台是有区别的。产品需求主要来自分析的水平,从需求到功能扩展,不涉及具体的技术方面。
开放平台主要解决以下几个层面的需求:
1.开发者身份注册与数据权限范围授权
2.开发人员获取相关信息(接口文档、使用说明、对接联系人信息等)。
3.平台端内部管理、应用审核流程、服务、业务交易管理、参数、人员等业务流程参数配置。
4.商业交易管理和统计报告分析(涉及双方要求的结算类型)。
5.安全级别需求、加密、应用密钥、应用接口权限控制、对黑白名单的访问、现场减敏、恢复等。
结合需求分析,对开放平台的基本功能进行了排序,主要针对开发人员、内部管理员以及基于安全级别的一些功能要求。
1. 开发者门户
通常,开放平台会挂在公司官方网站的某个入口,当然,有时也会放在特定的门户网站地址。开发人员门户主要是帮助用户在平台注册、申请访问、查询和查看进度、查看相关访问参数、下载文件等。访问成功后,在线查看一些操作数据,便于与平台方进行协调。
注册接入申请:开发者可以通过公司名称、手机号码或电子邮件地址注册账号,注册后填写接入申请。申请表一般包括准入需求说明、关联项目、联系人(平台方、一般业务人员)、申请人联系人及联系方式、准入方式、费用、申请类型等;
注:收费问题必须明确说明,一些合作伙伴需要定制开发,通常收费,一般标准API访问免费,定制系统开发需要收费(一些合作伙伴会有开发要求);
进度视图及参数获取:提交申请后,开发者可以在线查看申请进度。审批成功后,开发人员可以查看相关的访问参数。如果审批不成功,开发商可以修改并重新提交;
下载相关文件:开发人员可以将接口下载到自己的文件和其他相关文件;
业务往来管理:针对不同开放业务涉及的不同内容,对于有订单业务或支付服务的业务,需要进行往来管理,主要包括业务查看、对账、结算等基本功能;
统计报表:主要根据开发商的业务类型,提供一些相关服务的数据报表,如订单数量、变化趋势、用户数据等,并与开放业务发展相结合;
2. 开放平台内管系统
开放平台内部管理系统主要解决内部业务人员的需求、相关部门负责人对访问需求的审核、系统管理员对参数配置和服务管理等问题,以及相关对接人员的配置和视图开发和运行管理。
接入申请审核和参数配置:内部相关人员审批开发者的应用要求,审批成功后执行的人员应配置参数,并制定接口人的联合调试及相关问题。
操作管理:主要用于交易类型订单的管理与对账,以及相关报表数据的管理要求与配置;
3. 安全机制
安全机制主要管理开发人员的帐户和权限、访问次数、IP地址的控制、黑白列表的控制等。并且重要的是控制访问服务器的地址以改变公司的人员。
四、接口设计
开放平台功能基本明确。另外还有一个细分,我们会分别拉出来,就是界面的设计。
一般情况下,开放相关服务已由自己的系统引用,具有相应的接口功能,但不能直接使用,因为作为软件平台设计和开发服务,由于版本问题和一些历史原因,我们可能有一些历史遗留问题。作为开放平台外部输出的接口,我们应注意和处理几个方面:
1. 对接口的整合
对于一些复杂无用的字段,必须删除,以免给开发人员带来不必要的麻烦
2. 对各版本系统兼容性
主要目标是一些厂商和设备前端软件版本不同,因此参数内容范围统计不完美,云平台必须完全兼容。
例如,在停车场景中,前端停车管理软件的历史版本中返回云平台的车辆状态码有20个,但云平台对外开放时只考虑10个状态码(可能原来只有10个状态)。在实际操作中,如果云平台只是做一个透明的传输而不兼容,那么第三方系统可能获得未知的状态码(不在接口文档上),从而导致第三方开发者设计的系统出现缺陷。
3. 协议适配
服务可以是旧系统,消息格式可以是XML、固定长度消息等。在这种情况下,有必要修改和变换不同协议的消息,以形成统一的协议。
五、开放平台管理
开放平台的设计开发完成后,需要良好的运营管理,才能充分发挥开放平台的应有作用,提升公司的品牌实力和核心竞争力。
首先,让我们看看一个案例,在这个案例中我将梳理一个开放平台的对接流程图:
进出对接各环节的流程基本如上图所示。以下主要介绍以下注意事项:
1、开发人员提交申请后,通常建议由售前或业务人员进行审核和补充,包括客户价值、项目价值、成本核算等,因为客户填写的要求通常只在功能和使用级别上设计。公司前端销售人员填写的信息有助于审批。公司的项目管理和控制必须以销售情况为基础,如订单优先、高价值客户优先等
2、审计负责人一般由两部分组成,一是对市场侧负责的人进行审计,便于后期在公司内部进行结算管理,二是对技术支持方负责人的审计,主要原因是要求明确,工作量大,费用高。
注:在审核方面,前端销售很容易满足任何需求,也不太考虑相关成本。因此,平台公司最好建立一个良好的成本控制意识和机制,而审计所涉及的工作量必须反馈到前端,否则很容易造成任何需求都得满足。审计后,对公司整体业务或技术支持价值不大的人都厌倦了第三方对接。
3、在配置参数后,通常可以将相关技术直接连接到平台上的开发人员,并对相关问题进行直接沟通。项目启动时,平台前端人员还可以将双方相关人员拉到一起,进行分组沟通。平台侧技术人员也需要有客户的意识,尊重和满足客户的需要尽可能多。
4,通过测试环境,开发者可以开始正式的环境在线应用,平台端的配置参数,发布生产环境中的开发人员
5、发布后,开发商的运营和财务需要参与数据审核、订单对账和结算等
6、后记
在这一点上,我基本上总结了一个面向智能硬件制造商的开放平台的设计、开发和管理。当然,这个方案也适用于其他一些行业或系统。希望能给同龄人一些启发。如果有任何错误,请改正和沟通!