接口不是技术经理来写吗?没接过它,一脸不清楚地节奏


开放即共享,是互联网的一个重要属性和精神。它是一种服务模式,一个特殊的产品,目前较大规模的互联网企业都有自己的开放平台。

如果把自己局限为一个功能产品经理,工作当中只是研究研究产品交互形式、操作流程、表层架构,那确定不太需要知道开放平台相关知识。但如果希望自己能够在较高一层看待产品,那么不光光要熟悉产品本身,还需要知道开放生态,清楚哪些内容可以开放出去,服务什么样的人群?能和哪些垂直领域的优质ISV(独立软件服务商,特指专门从事软件的开发、生产、销售和服务的企业)合作,打造更好的服务生态。

对接口的理解

说到开发平台就一定离不开接口,作为pm,我们不需要对接口了解的特别细。只需要知道接口是什么,有什么用,有哪些要素就行。

1、接口是什么。

生活中我们会接触很多接口,像HDMI接口,USB接口,而且我们知道接入某个接口就能实现某种功能,例如U盘插入电脑USB接口就可以相互传输文件,我们并不需要知道具体是怎么实现的,只需要接入之后能干什么就行。其实从实际意义上讲程序的接口也和硬件一样,将内部实现的功能封装起来,像一个盒子一样只留出一个口子,人们接入这个口子就能使用这个功能。

2、接口有什么用。

实际开发中,当前端和后端有数据交互时,前端开发人员都会直接向后端询问接口,而不会问他具体的实现,比如APP上需要展现目前天气,那么前端开发直接接入一个天气查询接口就行。另外接口的开放可以帮助第三方应用轻松实现更多功能,如第三方登录、第三方支付等等。

3、接口的几大要点

接口地址——请求的网址。

请求方法——一般采用的是HTTP协议的POST和GET请求。

请求参数——你传过去是什么内容。

返回内容——就是你传参数过去之后得到返回的内容,返回内容的格式一般为json或xml格式

错误代码——也是返回内容的一部分,当接口发生一些意外情况时,错误代码会告诉你原因。

举个例子,你的APP上要实现查询快递的功能,接入了一个快递查询的接口。作为用户希望的是有一个输入订单号的输入框,点击查询按钮就能够看到快递到哪了。那么输入的快递单号就是请求参数,包裹在什么时候到达哪里就是返回内容。

搭建开放平台的目的

1、为第三方开发者提供基础服务。

通过开放自身产品服务的各种API接口,让其他开发者在开发应用时根据需求直接调用,例如微信登录、微信支付,支付宝支付、滴滴打车、酒店查询预订等等。我之前呆的一家公司做的是一款商务旅行产品,其中酒店模块接的就是艺龙的接口,能够快速实现基本的查询预订功能。

这样一方面帮助开发者节省大量的时间,另一方面也能宣传自身品牌,最重要的一点就是让第三方产品更好的满足用户需求,假如你做了一个具有较强交易属性的应用,但不接入微信和支付宝支付,即使其他方面做的再好,我相信也没有多少人会使用你的产品。

2、通过平台的优势引进ISV服务商。

服务商通过入驻平台,将自己开发的产品集成到别人的产品上面,这相当于一种合作模式,两方共同合作打造一站式的服务生态,满足用户的更多需求。

阿里的钉钉里面就集成了很多第三方应用,像石墨文档、易快报销、微投票等等,大多都是跟企业应用相关的产品,企业管理的所有需求,通过一个钉钉就够。

再举个例子,饿了么开发平台通过引进ISV,服务市场将提供一站式O2O+门店餐饮服务,从人员招聘、餐饮一体管理软件、硬件设备、图片拍摄、用户营销,甚至法律咨询,满足商家开店经营的几乎所有需求,商家都可以在服务市场尽情挑选饿了么精选入驻的服务商,告别到处咨询打听的麻烦。

3、满足用户的个性化需求。

正所谓众口难调,一款再好的产品也无法满足用户的所有需求,总存在一些个性化需求。那么通过开放平台,让那些自己有开发能力或开发资源的用户在原基础的服务上进行一些改造,满足自身的特定需求。

例如我们熟悉的微信公众号,假设你做了一个电商公众号,想在里面加入商品查询、下单,订单中心、个人中心、订单进度查询等功能,那么就需要第三方平台开发。

搭建开放平台的大致流程

1、确定服务对象和范围。

在打算做开发平台之前首先要想清楚开发平台的目标用户群体是谁,能够满足他们什么需求,使用场景是怎么样的等等。例如饿了么、美团外卖,它是一个点餐平台,但不做收银。那些做餐饮管理、做收银的企业就可以通过和外卖平台合作,让商家的收银系统里集成第三方外卖功能,用户在饿了么、美团上点餐,商家可以在收银机上接受他们的消息并处理订单。商家也可以将自己的餐饮管理系统里面商品信息同步到外卖平台的店铺上面。那么这时外卖平台需要开发店铺信息保存接口、商品上传接口、订单状态等接口,来保持两边的数据能够打通。

再比如在饿了么、美团上面开店的商户们可能会在经营时存在资金短缺问题,那么就可以在开发平台上引入提供贷款服务的ISV。

2、接口设计

确定好主要的服务对象和范围之后,接下来要做的就是接口设计。接口设计不是一般PM的工作内容,再说很多做功能设计的PM也不了解这块。这需要技术人员和开发平台产品经理一起完成。

接口设计包括接口命名,传参格式、返回内容、字段命名等。好的命名能让开发者便于阅读和理解,如product.add和product.update,一看就知道商品添加和商品信息更新的接口。

3、授权和审核

授权保障用户和企业数据安全性,不被其他人非法调用。开发平台成立之后就会有开发者进行注册申请,那么我们就需要确定审批规则,申请的接口权限越高,对开发者的资质要求也就越高。

另外对于ISV服务商和商家IT入驻,还需要设计入驻流程、入驻介绍,常见问题等等,ISV入驻大概流程如下:

商务对接——成为服务商——资质审核——创建应用——开发调试——应用审核——应用上架——商务验收

【产品经理】产品经理不懂API接口是什么,怎么和程序员做朋友?的更多相关文章

  1. 智表ZCELL产品V1.4.0开发API接口文档 与 产品功能清单

    为了方便大家使用ZCELL,应网友要求,整理编写了相关文档,现与产品一起同步发布,供大家下载使用,使用过程中如有疑问,请与我QQ联系. 智表(ZCELL)V1.4.0版本  功能清单文档下载地址: 功 ...

  2. 推荐几个天气Api接口 (可在小程序中使用)

    国内的地图软件基本是支持查询天气的唯独腾讯地图不支持天气查询,当然其他天气平台提供的接口也是够个人使用的 1.高德地图(高德地图开发者平台)支持获取实时天气数据 2.百度地图(百度地图开放平台)支持获 ...

  3. .NET程序员我是如何通过一个产品在2年内买车买房

    刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 我写博客的目的其实很简单就是为了分享知识,如有幸能申请当MVP那是最好不过了,这个过程对于“大牛”来说很快,但对于我来说估 ...

  4. IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章

    十年前,笔者还是一个刚毕业的大学生,对IT业只是停留在学校的编程知识领域.刚出社会,有很多需要学习的地方.在这十年间,笔者经历了程序员,技术经理,项目经理,部门经理等职位.本文就是要说说如何从程序员到 ...

  5. Web API接口 安全验证

    在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...

  6. .NET API 接口数据传输加密最佳实践

    .NET API 接口数据传输加密最佳实践 我们在做 Api 接口时,相信一定会有接触到要给传输的请求 body 的内容进行加密传输.其目的就是为了防止一些敏感的内容直接被 UI 层查看或篡改. 其实 ...

  7. 《程序员的自我修养》读书笔记——系统调用、API

        系统调用 程序运行的时候,本身是没有权限访问多少系统资源的.系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突.线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问. ...

  8. 产品经理与程序员矛盾&相处

    产品运营 - 知乎https://www.zhihu.com/topic/19551958/hot 产品经理与程序员矛盾的本质是什么? - 知乎https://www.zhihu.com/questi ...

  9. 谈谈如何用eoLinker管理各类API接口及分享API接口管理小技巧教程

    在前后端分离的开发模式下,前后端往往需要接口文档来进行交互.我的上一篇随笔中已经写到用传统的文档写接口时,由于需求经常变动,接口文档也会随之变动.一开始,某接口信息已经写入文档,但后期因为需求变动,发 ...

随机推荐

  1. Entity Framework(code first)数据库初始化

    //1.修改模型,重设数据库 using System.Data.Entity; Database.SetInitializer<LisknoveDataContext>(newDropC ...

  2. iPhoneX适配随笔

    1.安全区域 2.NavigationBar 和 TabBar的xib示意图 两个View要相同的效果,坐标不同 UIButton *btn = [UIButton buttonWithType:UI ...

  3. 【bzoj 4671】 异或图

    题目 神仙题啊神仙题 显然这个东西一脸不可求的样子啊,这种东西我们显然需要搞一个容斥什么的 于是设\(g_i\)表示至少存在\(i\)个联通块(联通块内部的边没有要求,联通块和联通块之间不存在边)的方 ...

  4. Anaconda如何配置多版本Python

    https://blog.csdn.net/guanmaoning/article/details/80031279

  5. elasticsearch java 索引操作

    1.添加maven依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>el ...

  6. 2.Spring【DI】XML方式

    依赖: 在A类中引用了B类,说明A依赖于B. 注入: 使用Spring框架给A类中的B对象的属性赋值. 直接上代码: 1.只使用IOC public class Person { private St ...

  7. MaxCompute,基于Serverless的高可用大数据服务

    摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...

  8. html的常用标签详解1

    1.<!DOCTYPE html> 文档声明,不算是标签,但是它可是不能少.这玩意是干什么用的呢? 它是向浏览器自报家门的,即告诉浏览器的解析器应该以什么样的文档类型定义(DTD)来解析它 ...

  9. git commit规范工具

    npm install -g commitizen commitizen init cz-conventional-changelog --save --save-exact 以后,凡是用到git c ...

  10. 转:Linux fork与vfork的深入分析

    源地址:http://linux.chinaitlab.com/c/831529.html 一)fork的概述 .操作系统对进程的管理,是通过进程表完成的.进程表中的每一个表项,记录的是当前操作系统中 ...