產(chǎn)品經(jīng)理加分項(xiàng)-API 接口

0 評(píng)論 270 瀏覽 0 收藏 20 分鐘

產(chǎn)品經(jīng)理要是知道一些技術(shù)知識(shí),在溝通和協(xié)調(diào)時(shí)團(tuán)隊(duì)效率會(huì)高很多。本文分享的API知識(shí),能幫助大家更好與技術(shù)同學(xué)溝通,一起來(lái)學(xué)習(xí)下。

今天寫(xiě)一篇B端產(chǎn)品經(jīng)理的 API 接口相關(guān)知識(shí)點(diǎn),很多招聘崗位JD上都有要求產(chǎn)品經(jīng)理能夠?qū)崿F(xiàn)跨系統(tǒng)的對(duì)接,尤其是現(xiàn)在做到 ERP 的產(chǎn)品包括國(guó)內(nèi)的電商和國(guó)外電商都要求這一塊作為一個(gè)能力上面來(lái)進(jìn)行體現(xiàn)??戳司W(wǎng)上一些資料,以及自身一些看法對(duì)這塊做個(gè)概括總結(jié),從 8個(gè)方面來(lái)展開(kāi)。

  1. 產(chǎn)品經(jīng)理在這個(gè)過(guò)程中接口文檔適用對(duì)象以及在什么環(huán)節(jié)里用?
  2. 接口的使用場(chǎng)景。
  3. 接口文檔形式,到底是長(zhǎng)什么樣子?站在產(chǎn)品層面它的理解上面絕對(duì)會(huì)比前后臺(tái)的頁(yè)面上面的設(shè)計(jì)來(lái)的都復(fù)雜,講究的是業(yè)務(wù)之間的流轉(zhuǎn)。
  4. 接口對(duì)接流程上的梳理,拿到接口怎么去對(duì)接?業(yè)務(wù)要做什么?產(chǎn)品經(jīng)理要做什么?開(kāi)發(fā)要去做什么?測(cè)試要去做什么?運(yùn)營(yíng)上線之后還要去做什么?
  5. 系統(tǒng)流程梳理,也就是接口文檔對(duì)接清單。
  6. prd需求文檔里面關(guān)于接口的寫(xiě)作手法,要知道產(chǎn)品會(huì)關(guān)聯(lián)哪些系統(tǒng)?調(diào)用哪些接口?詳細(xì)寫(xiě)明輸入輸出,調(diào)用接口的一些傳入值。
  7. 梳理接口的注意的事項(xiàng)點(diǎn),在這個(gè)過(guò)程中就六個(gè)方針,不要在這個(gè)過(guò)程遺忘了。

①注意要測(cè)試環(huán)境和生產(chǎn)環(huán)境生產(chǎn)上線時(shí)候要提醒研發(fā)換到生產(chǎn)環(huán)境調(diào)用。

②注意必輸字段和選輸字段,要傳入字段的含義和校驗(yàn)。枚舉值不清楚含義的要詢(xún)問(wèn)對(duì)方含義,比如說(shuō)單據(jù)類(lèi)型字段枚舉值是 B2C發(fā)貨單,采購(gòu)?fù)素洶l(fā)貨單等。

③ 注意唯一ID之間的關(guān)聯(lián),比如說(shuō)我們訂單系統(tǒng)的發(fā)貨單號(hào)是 001,到 wms系統(tǒng)是否生成了一個(gè)新單號(hào) A001,那發(fā)貨回執(zhí)時(shí)候wms要給 oms系統(tǒng) 001 單號(hào)。

④注意基礎(chǔ)信息的映射,比如說(shuō)倉(cāng)庫(kù)代碼和對(duì)方倉(cāng)庫(kù)代碼是否一樣,商品編碼和對(duì)方商品編碼是否一樣。如果不一樣還要進(jìn)行映射,那映射的工作是誰(shuí)來(lái)做,

⑤ 注意行信息和明細(xì)(我們常說(shuō)的 list)數(shù)據(jù)。哪些在行中,哪些在明細(xì)中,看的是單據(jù)和字段的關(guān)系,是一對(duì)一還是一對(duì)多,一對(duì)一就在行中,一對(duì)多就在明細(xì)中。比如說(shuō)發(fā)貨單只有一個(gè)發(fā)貨倉(cāng),那么就是在行中,但是一個(gè)發(fā)貨單有多個(gè)商品,那就在明細(xì)中。

⑥接口文檔字段的校驗(yàn),比如說(shuō)發(fā)貨單下發(fā) wms,wms會(huì)校驗(yàn)商品是否存在,倉(cāng)庫(kù)是否存在等,這些校驗(yàn)服務(wù)于業(yè)務(wù)需要,比如說(shuō)商品都不存在,我怎么發(fā)貨呢對(duì)吧,所以雙方系統(tǒng)的基礎(chǔ)數(shù)據(jù)要對(duì)齊。

⑦同步方式:增量和全量。一般在做基礎(chǔ)數(shù)據(jù)同步的時(shí)候,比如說(shuō)商品檔案,會(huì)員信息等,增是指的是增加的變動(dòng)的推送給其他系統(tǒng)。

⑧接口文檔常用的一些名詞,面試的時(shí)候有的面試官會(huì)問(wèn)到 ERP 接口,那我在這個(gè)時(shí)候怎么回答?

首先第一個(gè)問(wèn)題接口對(duì)于主流做B端產(chǎn)品的像涉及到電商需要對(duì)接OWTB等多個(gè)系統(tǒng)平臺(tái)是需要接口能力的。要比寫(xiě)需求文檔難度上一個(gè)層次,PRD 里面涉及的的業(yè)務(wù)流,功能數(shù)據(jù),所有界面和說(shuō)明都是在這個(gè)環(huán)節(jié)要完成的但是接口文檔在這里面的話是作為加分項(xiàng),它會(huì)更加復(fù)雜一點(diǎn),既要理解 oms平臺(tái)系統(tǒng)是做什么的,你要理解wms系統(tǒng)做什么的,把這種系統(tǒng)流程圖畫(huà)出來(lái),才能去理解說(shuō)在這個(gè)過(guò)程中要去涉及對(duì)接系統(tǒng)的哪些接口。

那我們使用接口的2個(gè)場(chǎng)景:一個(gè)是前端開(kāi)發(fā)工程師去調(diào)用后端的接口,另一個(gè)的場(chǎng)景的話是后端去調(diào)后端的接口。

首先我們要知道最基本的前提兩個(gè)系統(tǒng)之間它是怎么去傳遞數(shù)據(jù)的,比如我熟悉的ERP,它是一個(gè)大系統(tǒng),那 ERP 下面的話又會(huì)分為,采購(gòu)系統(tǒng),銷(xiāo)售訂單系統(tǒng),庫(kù)存管理系統(tǒng),還有對(duì)接第三方的賬單支付系統(tǒng),那這個(gè)過(guò)程中就是整個(gè)單據(jù)處理的流程遇到的多個(gè)子系統(tǒng),關(guān)系到數(shù)據(jù)之間是怎么傳遞的?這是后端與后端之間的一個(gè)對(duì)接。

還有一個(gè)是前端對(duì)接后端,所有涉及到的 c 端的界面,比如說(shuō)開(kāi)權(quán)限,所有在這個(gè)過(guò)程中看到的界面都是來(lái)自于后臺(tái)在配置。C端的每個(gè)頁(yè)面,不是寫(xiě)死的數(shù)據(jù)就是調(diào)用后臺(tái)接口,包括日常淘寶購(gòu)物的時(shí)候,這個(gè)商品詳情頁(yè)本質(zhì)上就是前端開(kāi)發(fā)工程師在調(diào)用后端開(kāi)發(fā)工程師的接口,前端開(kāi)發(fā)和后端開(kāi)發(fā)中后臺(tái)系統(tǒng)之間的一些對(duì)接。

再比如說(shuō)簡(jiǎn)單的一個(gè)app提交訂單的步驟,它其實(shí)需要通過(guò)訂單系統(tǒng)創(chuàng)建待支付訂單,這個(gè)時(shí)候有支付接口需要調(diào)用第三方的支付系統(tǒng)去完成支付,還有所涉及到的商品系統(tǒng),庫(kù)存系統(tǒng),銷(xiāo)售系統(tǒng),以及最后獲取物流觸發(fā)的物流系統(tǒng)。它在整個(gè)訂單的履單的過(guò)程中,點(diǎn)擊提交訂單步驟上就是前端開(kāi)發(fā)工程師調(diào)用了訂單的系統(tǒng),后端開(kāi)發(fā)工程師有一個(gè)叫創(chuàng)建待支付訂單的結(jié)果,跳轉(zhuǎn)到支付系統(tǒng)待支付訂單創(chuàng)建成功之后,用戶(hù)選擇支付方式,支付系統(tǒng)會(huì)調(diào)用支付接口完成支付,支付系統(tǒng)知道支付完成后上報(bào)給訂單系統(tǒng),訂單變成已支付待發(fā)貨狀態(tài),那與此同時(shí)都有在做的事是他們之間會(huì)一個(gè)個(gè)去查這里面所有下單的商品有沒(méi)有上下架?下架了這創(chuàng)建訂單也會(huì)失敗,這就是我們所涉及到的話,就是后臺(tái),后臺(tái)的子系統(tǒng)之間調(diào)用來(lái)調(diào)用去。

大概有個(gè)認(rèn)知之后,再說(shuō)一下接口文檔的形式和接口文檔要怎么跟這個(gè)系統(tǒng)流程圖來(lái)進(jìn)行梳理?要明確一點(diǎn),前臺(tái)只要不是寫(xiě)死的數(shù)據(jù),就是調(diào)后端的接口,跨系統(tǒng)之間所涉及的。那這種隊(duì)列是怎么實(shí)現(xiàn)的?就是 API 接口,就是兩個(gè)系統(tǒng)之間數(shù)據(jù)的傳輸,比如說(shuō)訂單只要把發(fā)貨單下發(fā)下去了,人家倉(cāng)庫(kù)wms那邊才能去發(fā)貨,發(fā)完貨后把結(jié)果告知我,那我在這個(gè)過(guò)程中知道我的始發(fā)的數(shù)量是多少件,這是通過(guò)接口告訴我的。

接口梳理了哈。

舉一個(gè)例子:一個(gè)是調(diào)用支付接口,一個(gè)是某開(kāi)放平臺(tái),大型公司都有自己的開(kāi)放平臺(tái)的,我是賣(mài)衣服的某平臺(tái),平臺(tái)上完成的交易是不是要通過(guò)第三方比如微信支付寶去扣買(mǎi)家微信賬戶(hù)或者支付寶里面的錢(qián)嘞?那這個(gè)時(shí)候跨系統(tǒng)對(duì)接,我就要去調(diào)微信支付寶的接口,去找到這個(gè)平臺(tái)的文檔對(duì)接中心 ,那 API 接口里面有哪些東西呢?第一個(gè)就是接口名稱(chēng),第二個(gè)就是接口上面什么場(chǎng)景下來(lái)進(jìn)行使用?比如說(shuō)我小程序上面的一個(gè)支付,那我進(jìn)去就要找小程序上面的一支付就好了。 第三個(gè)接口請(qǐng)求的地址這一側(cè)的話是開(kāi)發(fā)比較關(guān)注的,請(qǐng)求參數(shù),簽名,這些東西全部都是開(kāi)發(fā)的。

具體輸入的參數(shù)里面應(yīng)用上面的字段產(chǎn)品側(cè)要去進(jìn)行明確,接口名稱(chēng),接口應(yīng)用場(chǎng)景,請(qǐng)求參數(shù)里面看業(yè)務(wù)字段,請(qǐng)求參數(shù)里面我們所涉及到的,必填項(xiàng)的一些輸入值。

一般來(lái)說(shuō)是商務(wù)部門(mén)先對(duì)接接口的。訂單號(hào)這塊有個(gè)問(wèn)題,就是訂單系統(tǒng)產(chǎn)生的訂單號(hào),還是支付系統(tǒng)產(chǎn)生的支付單號(hào)?因?yàn)橐粋€(gè)訂單可以多支付的,一個(gè)訂單所涉及到的發(fā)起了一次支付,但是用戶(hù)等了兩分鐘他都沒(méi)付,這個(gè)單子就會(huì)自動(dòng)關(guān)單了,后面他又發(fā)起了一個(gè)支付,所以你一個(gè)訂單是多筆支付單號(hào)在傳的時(shí)候的話,更精準(zhǔn)的應(yīng)該傳的是支付單號(hào),而不是訂單號(hào)。這些單號(hào)作為唯一的的條件,這個(gè)東西是千萬(wàn)不能搞錯(cuò)的。

我作為產(chǎn)品,我必須要去理清楚我們公司到底傳的是什么單號(hào),先不用在意選填項(xiàng),在這個(gè)過(guò)程中我們主要的話要去看一下必填項(xiàng),它在這個(gè)過(guò)程中會(huì)涉及到枚舉值。什么叫枚舉值?枚舉值就是用于表示一組有限選項(xiàng)的數(shù)據(jù)類(lèi)型,比如性別。

產(chǎn)品經(jīng)理要去根據(jù)你的業(yè)務(wù)場(chǎng)景來(lái)進(jìn)行限定,怎么來(lái)定義接口側(cè)的正常和異常,所涉及到的接口失誤錯(cuò)了,那倉(cāng)庫(kù)編碼的話我們默認(rèn)傳的話是一般的數(shù)字,你傳給我的這個(gè)倉(cāng)庫(kù)編碼,我在我們系統(tǒng)里查不到,結(jié)果報(bào)錯(cuò)。這就是我們?cè)谳斎腠?xiàng)的時(shí)候的話,尤其是必傳項(xiàng),有沒(méi)有按照我的規(guī)則來(lái)進(jìn)行傳?這接口接收失敗,也會(huì)同步告訴你接口接收失敗的原因是什么,那要是成功完了之后的話它會(huì)涉及到的輸出參數(shù),這個(gè)輸出參數(shù)在你其他的一些的所涉及到的字段里面應(yīng)該也會(huì)用到的,這個(gè)是需要去關(guān)注的,所以我們接口上面大概知曉一下重要項(xiàng)是輸入輸出。

那我們下一個(gè)問(wèn)題在于,輸入輸出我怎么知道它的輸入是什么?它的輸出是什么?我怎么知道是我提供接口,還是我的另一個(gè)對(duì)接方來(lái)進(jìn)行提供接口?

拿一個(gè)開(kāi)放平臺(tái)來(lái)講一下業(yè)務(wù)場(chǎng)景,這個(gè)就是有 多個(gè)商家會(huì)入駐到這個(gè)平臺(tái)上來(lái)進(jìn)行賣(mài)貨。所以的話我們?cè)谶@個(gè)過(guò)程需要根據(jù)每個(gè)商家比如說(shuō)他的輸入?yún)?shù)會(huì)涉及到它的整體的請(qǐng)求參數(shù),都是輸入?yún)?shù)也就是會(huì)涉及到供應(yīng)商編碼也就是商家編碼是什么?平臺(tái)會(huì)分配給你的編碼是什么?到底要什么狀態(tài)?如果說(shuō)接的訂單是已審核狀態(tài),我要往下進(jìn)行履單。要搞清楚拉什么時(shí)間段單子?接什么訂單的類(lèi)型?后續(xù)要送的哪個(gè)收貨倉(cāng)?因?yàn)椴煌哪J剑ǖ脑捠肇浀刂愤@個(gè)要去看,包括我在這個(gè)過(guò)程中你訂單有沒(méi)有期望的送貨時(shí)間,訂單層級(jí)需詳細(xì)到到底下單了哪一些商品的條碼?需要的數(shù)量是多少?這個(gè)全部都有接口給到,因?yàn)樯碳揖褪悄弥@一些輸出到他們自己的訂單系統(tǒng)里面,然后去對(duì)接下游的 wms 的系統(tǒng)和tms物流系統(tǒng)去發(fā)貨,wms系統(tǒng)發(fā)完了貨之后它還有一個(gè)接口就是發(fā)貨結(jié)果告訴平臺(tái),可以很清楚的知道運(yùn)單號(hào)是什么?發(fā)了多少數(shù)量?哪個(gè)供應(yīng)商?對(duì)接的哪個(gè)渠道的物流?以及快遞單號(hào)是什么?那產(chǎn)品側(cè)只要去關(guān)注接口的名稱(chēng),接口的調(diào)用是靠什么機(jī)制來(lái)進(jìn)行調(diào)用,輸入輸出參數(shù)。

現(xiàn)在來(lái)說(shuō)下要怎么知道是你給我接口還是我給你接口? 那首先第一個(gè)的話,在一般接口對(duì)接的時(shí)候,最起碼我要知道我們系統(tǒng)負(fù)責(zé)做什么事情,別人的系統(tǒng)負(fù)責(zé)做什么事情。

①與公司業(yè)務(wù)人員溝通,與系統(tǒng)對(duì)接方產(chǎn)品/技術(shù)描述業(yè)務(wù)場(chǎng)景,溝通發(fā)放接口文檔材料

②拿到材料之后 API接口過(guò)多請(qǐng)對(duì)方圈定一下接口,在場(chǎng)景上如果少接口則繼續(xù)和對(duì)方溝通確認(rèn)。

③看 API接口,不太清楚哪些系統(tǒng)進(jìn)行調(diào)用可以將材料發(fā)放研發(fā)團(tuán)隊(duì)一起査看溝通,比如哪些接口是前端商城研發(fā)調(diào)用,哪些接口是支付系統(tǒng)調(diào)用。在輸入值時(shí)如果涉及到要查別的系統(tǒng)數(shù)據(jù),這個(gè)要在流程圖中進(jìn)行說(shuō)明。

④看 AP接口,接口的輸入輸出,尤其針對(duì)枚舉值,選輸必輸進(jìn)行進(jìn)一步確認(rèn)。對(duì)于必輸字段并不懂的輸入的業(yè)務(wù)含義和對(duì)方確認(rèn),和自己的業(yè)務(wù)方確議。

⑤繪制系統(tǒng)流程圖與AP|接口清單,梳理功能點(diǎn),繪制原型和寫(xiě) PRD 文檔?!疽紤]正向和逆向,逆向取消,逆向售后。是否存在修改場(chǎng)景?

⑥PRD 文檔中增加與外對(duì)接 API接囗對(duì)接的輸入輸出邏輯說(shuō)明。

⑦開(kāi)發(fā)和測(cè)試環(huán)節(jié)對(duì)接過(guò)程中存在疑問(wèn)繼續(xù)跟蹤。如果對(duì)方還在開(kāi)發(fā)的接口項(xiàng)目管理同學(xué)要跟蹤進(jìn)度。測(cè)試進(jìn)行聯(lián)測(cè),對(duì)方測(cè)試人員要進(jìn)行配合看數(shù)據(jù)。當(dāng)然如果測(cè)試可以自己看到別人系統(tǒng)后臺(tái)那要去看其他系統(tǒng)后臺(tái)的數(shù)據(jù)。

⑧上線研發(fā)要換成生產(chǎn)環(huán)境的測(cè)試地址,和對(duì)方提前溝通上線時(shí)間和上線順序,上線時(shí)是否要留相關(guān)人員。

第二是我怎么知道有這么多的系統(tǒng)上面對(duì)接的接口?那還是一樣的你要知道你的系統(tǒng)里面做什么事情,別的系統(tǒng)里面做什么事情,你的系統(tǒng)存了什么數(shù)據(jù)?別的系統(tǒng)存了什么數(shù)據(jù),你才知道我什么時(shí)候要找別人的系統(tǒng)來(lái)進(jìn)行合作?那怎么去判斷呢?正常系統(tǒng)是有自己的規(guī)范,所涉及到的其他行業(yè)也有其他系統(tǒng)上面的規(guī)范。一個(gè)剛?cè)肼毜漠a(chǎn)品需要接手,那首先就是看后臺(tái),比如說(shuō)訂單管理里面有哪一些的字段,商品管理里面有哪一些的字段,這個(gè)系統(tǒng)里面存了什么數(shù)據(jù),有所涉及到的接口的,要去梳理接口上對(duì)接,注意區(qū)分接口提供方和接口調(diào)用方。

接口梳理規(guī)則:

①前端(app 或者小程序或者 h5 頁(yè)面等)調(diào)用別人系統(tǒng)的接口

②同步:同步指的是實(shí)時(shí)得到結(jié)果。異步:實(shí)時(shí)得不到結(jié)果,比如訂單系統(tǒng)把發(fā)貨單下發(fā)wms系統(tǒng),wms系統(tǒng)只能給到接收成功或者失敗,等到倉(cāng)庫(kù)發(fā)完貨才調(diào)用 訂單系統(tǒng)接口告知發(fā)貨實(shí)際的結(jié)果。訂單需要多增加一個(gè)接口 接口發(fā)貨回執(zhí)。

③一般從數(shù)據(jù)上下游傳遞數(shù)據(jù)下游方,上游方調(diào)用下游方接口。箭頭指向誰(shuí),誰(shuí)提供接口。數(shù)據(jù)流轉(zhuǎn)方向繪制箭頭,一般是推送,但是如果1個(gè)上游方對(duì)接 N 個(gè)下游,上游方會(huì)定義接口,改為下游拉取上游接口。

④考慮逆向流程:【要考慮正向和逆向,逆向取消,逆向售后。是否存在修改場(chǎng)景?】

接口文檔常用名詞:

①同步和異步。同步指的是同一時(shí)間處理,異步指的是不能實(shí)時(shí)處理,處理完結(jié)果再告知結(jié)果,會(huì)新增接口對(duì)接。

②拉取和推送,一般接口遵從誰(shuí)是數(shù)據(jù)上游方,推送給下游,但是如果1個(gè)上游方對(duì)應(yīng)N個(gè)下游方,這個(gè)時(shí)候上游機(jī)會(huì)提供拉取接口,下游都來(lái)拉數(shù)據(jù)。這樣因?yàn)闇p少上游方開(kāi)發(fā)工作量。

③上報(bào)聯(lián)調(diào),跨系統(tǒng)對(duì)接時(shí)把接口調(diào)通。

④Mock。有時(shí)候上下游沒(méi)時(shí)間和開(kāi)發(fā)聯(lián)調(diào),這個(gè)時(shí)候開(kāi)發(fā)可以造數(shù)據(jù)自己先調(diào)。一般開(kāi)發(fā)用postman工具 mock接口。

⑤調(diào)用地址/URL。生產(chǎn)環(huán)境測(cè)試環(huán)境

⑥API接口和 MQ都是跨對(duì)接方式,MQ【消息隊(duì)列/消息中間件】可以用于內(nèi)部系統(tǒng)對(duì)接非實(shí)時(shí)部分,具體看研發(fā)設(shè)計(jì)。

最后提一個(gè)面試題,很多面試官會(huì)問(wèn):和第三方系統(tǒng)對(duì)接時(shí)要做哪些產(chǎn)品工作?

①在業(yè)務(wù)正向和逆向流程調(diào)研完成之后校理系統(tǒng)流程,核理對(duì)接的AP1接口清單:我們需要調(diào)用三方哪些接口,三方需要調(diào)用我們哪些接口。

②在產(chǎn)品設(shè)計(jì)時(shí)和三方溝通接口輸入輸出字段,寫(xiě)進(jìn)PRD的接口傳值說(shuō)明中。

③產(chǎn)品需求評(píng)審之后研發(fā)提測(cè),測(cè)試測(cè)試,上線時(shí)間等項(xiàng)目計(jì)劃同步三方,研發(fā)測(cè)試上線協(xié)調(diào)三方配合相關(guān)任務(wù)。

④上線之后問(wèn)題和需求跟蹤判別,如果涉及到三方系統(tǒng)的和三方產(chǎn)品進(jìn)行溝通。

本文由 @產(chǎn)品速心丸 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!