To B產(chǎn)品經(jīng)理如何設(shè)計(jì)接口類產(chǎn)品?
本文以被動(dòng)請(qǐng)求接口為主,討論如何進(jìn)行對(duì)外系統(tǒng)接口的產(chǎn)品設(shè)計(jì)。一起來看看~
常見的To B產(chǎn)品有四類:
- 第一類為管理系統(tǒng)類產(chǎn)品,如CRM、ERP、BOSS平臺(tái)等;
- 第二類為辦公系統(tǒng)類產(chǎn)品,如OA;
- 第三類為商家端系統(tǒng)類產(chǎn)品,如給小B端用的商戶系統(tǒng);
- 第四類為接口服務(wù)類產(chǎn)品,如聚合支付接口、人臉識(shí)別接口。
從產(chǎn)品形態(tài)上來說,前三類To B產(chǎn)品都具有用戶操作界面,其設(shè)計(jì)原則和C端產(chǎn)品的設(shè)計(jì)方法有很大的重合,可以借鑒C端產(chǎn)品的設(shè)計(jì)方法進(jìn)行產(chǎn)品設(shè)計(jì),例如尼爾森十大可用性原則、簡(jiǎn)約設(shè)計(jì)方法等UE、UI設(shè)計(jì)方法就同樣適用于前三類產(chǎn)品的頁面設(shè)計(jì)。但第四類接口服務(wù)型產(chǎn)品沒有操作界面,產(chǎn)品形態(tài)是以API接口存在,所以設(shè)計(jì)的方式與C端產(chǎn)品就會(huì)有很大的不同。
一、產(chǎn)品經(jīng)理需要關(guān)注哪些種類的系統(tǒng)接口
系統(tǒng)接口分為內(nèi)部系統(tǒng)接口(公司內(nèi)部系統(tǒng)與系統(tǒng)間的接口,例如數(shù)據(jù)中臺(tái)和業(yè)務(wù)系統(tǒng)的接口)和對(duì)外系統(tǒng)接口(提供給第三方調(diào)用的接口,一般都是基于HTTP/SOAP的協(xié)議接口,例如微信開放平臺(tái)提供給小程序開發(fā)者的接口),內(nèi)部系統(tǒng)接口對(duì)于產(chǎn)品經(jīng)理來說無需過多關(guān)注,例如服務(wù)器端都會(huì)面向APP提供調(diào)用接口,產(chǎn)品經(jīng)理只需定義好APP的功能即可,具體APP和服務(wù)器的傳輸交互會(huì)由開發(fā)工程師來定義。
對(duì)外系統(tǒng)接口包含:主動(dòng)推送接口(主動(dòng)給第三方發(fā)送信息)、被動(dòng)推動(dòng)接口(被第三方推送信息)、主動(dòng)請(qǐng)求接口(主動(dòng)請(qǐng)求第三方獲取信息)和被動(dòng)請(qǐng)求接口(被第三方請(qǐng)求獲取信息)。
其中普遍的主動(dòng)請(qǐng)求接口產(chǎn)品經(jīng)理只需要能看懂就可以,不需要花費(fèi)太多的精力提此類接口的需求,例如:自己公司采購(gòu)了第三方的人臉識(shí)別接口用于業(yè)務(wù)中的身份驗(yàn)證,產(chǎn)品經(jīng)理只需要提出在某某業(yè)務(wù)環(huán)節(jié)需要調(diào)用人臉識(shí)別功能即可,無須過多關(guān)注如何調(diào)用人臉識(shí)別接口。因此主動(dòng)請(qǐng)求接口本文不做討論,本文以被動(dòng)請(qǐng)求接口為主,討論如何進(jìn)行對(duì)外系統(tǒng)接口的產(chǎn)品設(shè)計(jì)。
二、如何設(shè)計(jì)接口類產(chǎn)品
系統(tǒng)接口類的產(chǎn)品設(shè)計(jì)需要定義如下內(nèi)容:輸入內(nèi)容、輸出內(nèi)容、業(yè)務(wù)異常處理方式、計(jì)費(fèi)邏輯、響應(yīng)速度、并發(fā)量、易用性等。
1. 輸入內(nèi)容
即第三方發(fā)送給我們的業(yè)務(wù)請(qǐng)求參數(shù)。產(chǎn)品經(jīng)需要關(guān)注業(yè)務(wù)請(qǐng)求參數(shù),同時(shí)明確參數(shù)是否可空,無需定義公共請(qǐng)求參數(shù)。例如數(shù)字證書在線生成接口(一般由CA公司提供的服務(wù),應(yīng)用調(diào)用該接口請(qǐng)求CA公司生成個(gè)人用戶數(shù)字證書或企業(yè)用戶數(shù)字證書),名稱、證件號(hào)碼、證件類別等信息屬于業(yè)務(wù)請(qǐng)求參數(shù)中不可空的參數(shù),沒有此部分?jǐn)?shù)據(jù)無法完成證書的生成;電子郵件、手機(jī)號(hào)等屬于業(yè)務(wù)請(qǐng)求參數(shù)中的可空的參數(shù),缺省此部分參數(shù)也可完成業(yè)務(wù);應(yīng)用ID、加密因子、加密算法等參數(shù)屬于公共請(qǐng)求參數(shù),公共請(qǐng)求參數(shù)內(nèi)容無需產(chǎn)品經(jīng)理設(shè)計(jì),無需體現(xiàn)在需求文檔中。
2. 輸出內(nèi)容
即接收第三方的請(qǐng)求后,經(jīng)由系統(tǒng)處理后的業(yè)務(wù)返回參數(shù)。產(chǎn)品經(jīng)需要關(guān)注業(yè)務(wù)返回參數(shù),同時(shí)明確參數(shù)是否可空,無需定義公共返回參數(shù)。例如數(shù)字證書在線生成接口,第三方調(diào)用該接口后,系統(tǒng)需要返回cer格式的數(shù)字證書給第三方,cer格式的數(shù)字證書就是業(yè)務(wù)返回參數(shù)。輸出內(nèi)容同樣需要明確參數(shù)是否可空,同時(shí)還需要明確是同步返回還是異步返回。
3. 業(yè)務(wù)異常處理方式
異常部分產(chǎn)品經(jīng)理只需定義業(yè)務(wù)異常的處理方式,即產(chǎn)品經(jīng)理對(duì)業(yè)務(wù)規(guī)則的要求。例如為保障圖片質(zhì)量,要求第三方通過接口上傳的圖片需要大于100K,則需要產(chǎn)品經(jīng)理明確指出在此要進(jìn)行圖片大小檢查,若不符合規(guī)則即拋出異常。系統(tǒng)異常(如參數(shù)錯(cuò)誤、參數(shù)缺失等)無需產(chǎn)品經(jīng)理來定義。
4. 計(jì)費(fèi)邏輯
即接口如何向第三方計(jì)費(fèi)。
計(jì)費(fèi)邏輯常包含兩部分:
- 第一部分是哪些情況下需要計(jì)費(fèi),哪些情況可以不計(jì)費(fèi),例如簡(jiǎn)項(xiàng)比對(duì)接口(通過接口上傳用戶的姓名和身份證號(hào)碼,系統(tǒng)根據(jù)公安系統(tǒng)人口庫判斷輸入的信息是否一致,接口輸出比對(duì)一致、比對(duì)不一致、庫中無此號(hào)碼等結(jié)果),比對(duì)一致、比對(duì)不一致可以設(shè)置成計(jì)費(fèi),庫中無此號(hào)碼則可以設(shè)置成不計(jì)費(fèi)。如果產(chǎn)品做得比較成熟的話,計(jì)費(fèi)與否可以從后臺(tái)管理系統(tǒng)中通過返回結(jié)果碼自由配置。
- 計(jì)費(fèi)邏輯第二部分是需要明確計(jì)費(fèi)方式,計(jì)費(fèi)方式大致分為按次計(jì)費(fèi)(調(diào)用一次接口收取一次費(fèi)用)、階梯計(jì)費(fèi)(調(diào)用一次接口收取一次費(fèi)用,但達(dá)到了一定使用量后單價(jià)有所下降)、按時(shí)間計(jì)費(fèi)(包月或包年收費(fèi)方式)。
5. 響應(yīng)時(shí)間
即第三方從發(fā)出請(qǐng)求報(bào)文后,經(jīng)歷多久可以收到返回報(bào)文。通常接口的響應(yīng)時(shí)間都是毫秒級(jí)的,但系統(tǒng)需要進(jìn)行較大運(yùn)算量的業(yè)務(wù),響應(yīng)時(shí)間可能會(huì)稍微長(zhǎng)一些,例如OCR文字識(shí)別和音頻識(shí)別接口,響應(yīng)時(shí)間可能要達(dá)到幾秒或幾十秒,因?yàn)橄到y(tǒng)需要提取照片或音頻中的文字內(nèi)容。
6. 并發(fā)量
即系統(tǒng)支持同時(shí)請(qǐng)求接口的最大用戶數(shù)量。通常并發(fā)量需求描述中會(huì)包含用戶數(shù)量、響應(yīng)時(shí)間、持續(xù)時(shí)長(zhǎng)。例如聚合支付接口,請(qǐng)求高峰出現(xiàn)在中午12點(diǎn)到1點(diǎn)午餐時(shí)間,持續(xù)時(shí)長(zhǎng)大概1個(gè)小時(shí),對(duì)并發(fā)量的需求描述就可以按照500用戶并發(fā)數(shù),持續(xù)1小時(shí),事務(wù)平均響應(yīng)時(shí)間小于1秒來寫。
7. 易用性
即接口對(duì)第三方來說容易讀懂、容易使用,有基礎(chǔ)開發(fā)背景知識(shí)的開發(fā)工程師就可以很方便的調(diào)用成功。通常接口類產(chǎn)品的易用性都是通過SDK(軟件開發(fā)工具包,把接口封裝成JAVA或PHP等語言的調(diào)用函數(shù))和調(diào)用DEMO(示例代碼)來實(shí)現(xiàn),產(chǎn)品經(jīng)理可以提出接口需要提供配套SDK(JAVA版本或PHP版本等)及調(diào)用DEMO的需求描述。
8. 其他
除了上述需求,還有一些不常用的業(yè)務(wù)需求產(chǎn)品經(jīng)理可以關(guān)注,根據(jù)實(shí)際情況來判斷是否需要寫,例如系統(tǒng)每秒鐘能夠處理的事務(wù)數(shù)量(即TPS,系統(tǒng)吞吐量)需求;穩(wěn)定性需求,即長(zhǎng)時(shí)間運(yùn)行一個(gè)比較大的并發(fā)量,觀察系統(tǒng)是否穩(wěn)定不宕機(jī)。
對(duì)外系統(tǒng)接口中產(chǎn)品經(jīng)理還會(huì)關(guān)注主動(dòng)推送接口(主動(dòng)給第三方發(fā)送信息)和被動(dòng)推送接口(被第三方推送信息),這兩種接口的設(shè)計(jì)方法和上面所提的方法大體相同,但上面提到的都是非批量模式,這兩種接口的需求需要體現(xiàn)推送是批量方式還是單次方式,例如給監(jiān)管機(jī)構(gòu)上報(bào)數(shù)據(jù)的接口就采用了主動(dòng)推送、批量上報(bào)的模式,產(chǎn)品經(jīng)理需要定義清楚上報(bào)內(nèi)容,上報(bào)頻次,上報(bào)異常處理方式。
本文由 @產(chǎn)品工具箱 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
應(yīng)該需要考慮:
1、接口實(shí)現(xiàn)方式(api還是webservices)
2、接口由誰來提供。(調(diào)用方、被調(diào)用方)
3、接口調(diào)用場(chǎng)景(背景)
4、接口調(diào)用的頻率和觸發(fā)點(diǎn)
5、 如果接口涉及批量數(shù)據(jù)傳輸(同步):
5.1 如何處理數(shù)據(jù)重復(fù)的問題
5.2 如何處理部分成功的問題
6. 如果需要?jiǎng)?chuàng)建數(shù)據(jù)庫表,需要明確表的創(chuàng)建位置
7. 接口對(duì)接數(shù)據(jù)映射關(guān)系
8. 接口性能參數(shù)
9. 接口是否需要實(shí)時(shí)調(diào)用
10.接口測(cè)試標(biāo)準(zhǔn)(如:i、調(diào)通、ii、成功返回預(yù)期數(shù)據(jù)、iii、通過壓力測(cè)試)
哈哈
謝謝分享
客氣了
說實(shí)在的 我覺得這類不算是產(chǎn)品經(jīng)理的工作范疇
叫項(xiàng)目實(shí)施或者管理我覺得都比產(chǎn)品經(jīng)理來的要準(zhǔn)確
說實(shí)在的,產(chǎn)品經(jīng)理這個(gè)職位就是被你這種技術(shù)小白搞臭的,根據(jù)手機(jī)殼切換屏保這種需求提出來笑掉大牙,活該被打。
兄弟淡定…
哈哈哈哈 我真是覺得你好笑
在互聯(lián)網(wǎng)公司分工越來越精細(xì)的今天還需要pm來定義接口性能 把專業(yè)的事情交給專業(yè)的人來做 pm可以給信息輸入應(yīng)用場(chǎng)景的量級(jí)描述 你怎么不要求產(chǎn)品經(jīng)理來設(shè)計(jì)系統(tǒng)架構(gòu)呢
你如果這么專業(yè)那叫獨(dú)立開發(fā)者
再說一遍 產(chǎn)品經(jīng)理更應(yīng)該在業(yè)務(wù)應(yīng)用價(jià)值和用戶需求考量以及市場(chǎng)商業(yè)價(jià)值評(píng)估著力 這些才是pm的價(jià)值 他說這個(gè)算是傳統(tǒng)行業(yè)中的需求分析師或者項(xiàng)目管理 如果非要聚焦行業(yè) 只有少數(shù)云計(jì)算和b端接口sdk類公司的pm可能需要了解技術(shù) 但我不相信他們會(huì)來定義接口
另外 我是技術(shù)出身 985計(jì)算機(jī)專業(yè)畢業(yè) 搞臭職位這個(gè)帽子別瞎扣 說我不懂技術(shù)你可能踢到鋼板上了
我并沒說接口文檔的所有東西要產(chǎn)品來出,只是一些頁面字段,產(chǎn)品部定義研發(fā)怎么知道。你沒做過b端吧。另外別以為985了不起,我也是計(jì)算機(jī)985。
你看看這層開始在說什么 說的是接口性能一類 這當(dāng)然不是由pm來定義
至于字段定義 這個(gè)沒什么討論空間吧 肯定是pm 建議就事論事 不要總轉(zhuǎn)移論點(diǎn)
不好意思 沒有覺得985了不起 也沒覺得計(jì)算機(jī)怎么樣 只是亂扣帽子這種行為有點(diǎn)low罷了 戾氣太重
2C不用這樣
我之前2b,現(xiàn)在2c,要求更高,設(shè)計(jì)方面的,各個(gè)規(guī)范方面