產(chǎn)品經(jīng)理對(duì)接外部API,4個(gè)案例避坑指南!(干貨收藏)

0 評(píng)論 2601 瀏覽 11 收藏 12 分鐘

今天,我們將跟隨一位資深產(chǎn)品經(jīng)理的視角,深入探討在對(duì)接外部API和SDK時(shí)常見的問題和挑戰(zhàn),并通過4個(gè)實(shí)際案例,為你提供寶貴的避坑指南。

在IT服務(wù)外包流傳一句話:做你最擅長(zhǎng)的(核心競(jìng)爭(zhēng)力),其余的外包!

分工協(xié)作,已經(jīng)成為一種不可逆轉(zhuǎn)的趨勢(shì)。

把“面向?qū)ο蟆钡乃枷搿ⅰ安恢貜?fù)造輪子”的古訓(xùn),和生態(tài)協(xié)作的服務(wù)理念碰撞一起,似乎就很好地解釋了對(duì)接API(或SDK)的重要和頻繁性!通常而言,系統(tǒng)對(duì)接的場(chǎng)景主要但不限于如下:

  • 前端和后端本身無時(shí)不刻的數(shù)據(jù)互動(dòng)。
  • 公司的各個(gè)系統(tǒng)之間的信息共享。
  • 與第三方業(yè)務(wù)平臺(tái)的對(duì)接,比如入駐第三方銷售平臺(tái)亞馬遜之后,要從亞馬遜平臺(tái)獲取訂單數(shù)據(jù)。
  • 調(diào)用公共服務(wù)的公共插件,如公安系統(tǒng)。

上述場(chǎng)景,要說最難的是“與第三方業(yè)務(wù)平臺(tái)的對(duì)接”。

因?yàn)槿思乙彩亲錾獾模瑢懘a的都是技術(shù)打工仔,誰也不認(rèn)識(shí)誰……

這時(shí)候,坑就變得常見了!

01 API夠清晰,可以0溝通嗎?

曾經(jīng)為一個(gè)地產(chǎn)老板搞過一個(gè)音視頻類App項(xiàng)目。

引用的喬布斯的話:

創(chuàng)新根本就不是重做新的事情,而是把既有的東西重新組合起來。

而我們做的這個(gè)App,就是“重新組合”了Soul的音視頻匹配+陌陌的附近人+花椒的直播+抖音的小視頻+帶貨,(當(dāng)然后來沒運(yùn)營(yíng)成功)。

要說的重點(diǎn)不是它的“創(chuàng)新”,而是前后一共就兩個(gè)月就灰度發(fā)布了,其實(shí)是蠻快的。

因?yàn)楹诵牡倪\(yùn)算都是用的第三方SDK。如向芯的美顏、騰訊的鑒黃和視頻拍攝、七牛的直播……

那是音視頻的黃金期,服務(wù)商也有的挑,可以貨比三家,每一種方案也不同收費(fèi)。

開發(fā)的過程中,對(duì)這些SDK也是邊做,邊對(duì)比,邊讓產(chǎn)品拿主意。好在測(cè)試環(huán)境更換的成本低。

這個(gè)案例中雖然沒有客服協(xié)調(diào)我們的對(duì)接進(jìn)度,但是人家的接口質(zhì)量OK,且選擇空間大,所以最后組裝起來的App測(cè)試順利!

02 SDK服務(wù)化,提升舒適感!

曾經(jīng)還主導(dǎo)過一個(gè)項(xiàng)目,是做電子合同。

對(duì)接的是法大大的SDK——這個(gè)結(jié)合了云服務(wù)+區(qū)塊鏈等核心底層技術(shù)的SDK,提供了完善的認(rèn)證外鏈、簽章鏈接。

這家的客服(或商務(wù))服務(wù)就比前面的較好!

作為對(duì)接方客戶,自己做個(gè)簡(jiǎn)單的觸發(fā)入口即可,其余的界面全部都可以用法大大自己的外鏈面完成業(yè)務(wù)。

所以是相當(dāng)成熟的一次對(duì)接,也很順利,也好理解。

最主要的是它的客服和實(shí)施工程師都很nice,不管是業(yè)務(wù)還是技術(shù)都對(duì)接的很到位!

所以法大大的口碑一直不錯(cuò),真正“面向服務(wù)”的里面做商業(yè)服務(wù)。給對(duì)接帶來了安全感!

03 ?SDK背后可能是個(gè)“黑盒子”

過往做的最多的是商品交易類中臺(tái)。所以對(duì)接更多的還是各大渠道平臺(tái),或者ERP系統(tǒng)。

做跨境電商的時(shí)候,印象國(guó)外的幾個(gè)平臺(tái)比較變態(tài)的是Lazada、JUMIA。

為啥呢?我記得它的訂單維度、商品維度和一般的平臺(tái)不一樣,支付業(yè)務(wù)復(fù)雜導(dǎo)致訂單與付款單等的對(duì)應(yīng)關(guān)系不齊。

退貨流程又復(fù)雜又維度對(duì)不上。導(dǎo)致你要做它的自動(dòng)創(chuàng)建RMA單據(jù)很麻煩,容易出錯(cuò)。最主要是有了問題都難溝通。

后來開始對(duì)接國(guó)內(nèi)的平臺(tái)了,就是熟悉的美團(tuán)、京東健康。這都好說,但是也會(huì)遇到坑。

比如一個(gè)平臺(tái)“藥某某”,居然離開API渠道就不能玩(雖然模式可選擇,但是對(duì)絕大多數(shù)用戶就是沒得選擇)。

這導(dǎo)致的就是,它成了一個(gè)沒有樓梯的碉堡。你在里面沒糧食。你要吃喝,要拉撒,都要通過一根繩子(接口)進(jìn)行傳輸。

對(duì)方也是給個(gè)OPEN API就沒有商務(wù)了(這讓我想到法大大的商務(wù)和實(shí)施服務(wù)都很體貼)。也不給測(cè)試環(huán)境的用戶操作頁面。也不說有哪些坑。

于是我們從MVP角度出發(fā),先對(duì)接了新增商品,結(jié)果發(fā)現(xiàn)一次只能增加1個(gè)商品,每分鐘最多30個(gè)商品。接口要推送20來個(gè)必傳字段,還是不常用的。

那就像是說,你送飯的時(shí)候,幾百人在上面喊著餓,可是你一次只能遞上去一碗,遞不完,你還不能走。

對(duì)方說飯里要蔥花,不要香草,你還要打回來重新加工后再傳上去。

終于搞了數(shù)據(jù)上去,結(jié)果該平臺(tái)自己的頁面連刪除都刪不掉(之前為啥沒發(fā)現(xiàn)功能問題,因?yàn)闆]數(shù)據(jù)的時(shí)候,頁面功能都顯示不全)。于是就要新增一個(gè)刪除接口。

又發(fā)現(xiàn)價(jià)格也不能在平臺(tái)改,又要加個(gè)修改價(jià)格的接口……

這就是阿甘說的:

Life was like a box of chocolates,you never know what you’re gonna get!

04 接上了,也被套住了

做O2O電商中臺(tái)的時(shí)候,中臺(tái)是按照“銷售平臺(tái)+門店+商品”維度構(gòu)建數(shù)據(jù)的。

一個(gè)連鎖店,多的可以達(dá)到9千家門店(資本的加持下,收購(gòu)比收割都快)。

而常用商品品種3000,你算算,就算只在一個(gè)平臺(tái)銷售,那也是2700萬條基礎(chǔ)數(shù)據(jù)(算對(duì)了吧)。

然后這些數(shù)據(jù)要通過中臺(tái),盡快地增量同步庫存變化量到銷售平臺(tái)。

于是出現(xiàn)了可想而知的問題:同步池中的數(shù)據(jù)量會(huì)很大;經(jīng)常量丟數(shù)據(jù)導(dǎo)致同步失敗;用戶等待時(shí)間過長(zhǎng)。

究其原因:

  1. 觸發(fā)次數(shù)多
  2. 數(shù)量大,占用線程擠滿,資源不夠。
  3. 銷售平臺(tái)限流,提交過多的數(shù)據(jù)就被限制不執(zhí)行。若平臺(tái)不反饋失敗數(shù)據(jù),那么失敗后我們也不知道遺漏了哪些。

幾次事故之后,最終除了這樣的解決方案:

  • 第一:減少來源,重點(diǎn)是前端的操作入口分離,并限制操作頻率。
  • 第二:對(duì)待處理數(shù)據(jù)進(jìn)行清洗,去重、對(duì)比、改變存儲(chǔ)方式等。
  • 第三:增加失敗補(bǔ)償機(jī)制和日志。

具體的思路模型:

  • 敲定場(chǎng)景:場(chǎng)景是無法無視的,場(chǎng)景確定,是做正確事的前提。當(dāng)確定必須解決這個(gè)問題的時(shí)候,就可以靜下心找方案。
  • 控制入口:因?yàn)閿?shù)據(jù)量大,所以先從來源上做增益。
  • 清洗數(shù)據(jù):同樣是為了擺脫無效數(shù)據(jù),盡可能降低冗余。
  • 處理并發(fā):通過對(duì)比、時(shí)間戳等,濾掉無效數(shù)據(jù)。
  • 輸出日志:讓用戶有跡可循,自行追溯。

但是實(shí)際上還是個(gè)開放性的結(jié)局,因?yàn)榭倳?huì)出現(xiàn)爆發(fā)式?jīng)_擊,導(dǎo)致系統(tǒng)扛不??!

總結(jié)

好的API對(duì)開發(fā)者來說是一種向?qū)?,他也是一種優(yōu)雅的服務(wù)。開發(fā)者通過URL中的每個(gè)目錄節(jié)點(diǎn)都可以了解到該接口的大體屬性。但是壞的對(duì)接,一坑更比一坑坑。

第一坑:協(xié)調(diào)溝通太難

做接口本身并不難,難的就是前期的溝通和做接口方案。

因?yàn)槊總€(gè)軟件廠商的產(chǎn)品標(biāo)準(zhǔn)都不一樣,要對(duì)接哪個(gè)軟件系統(tǒng),就必須找到對(duì)應(yīng)的軟件廠商,涉及的軟件廠家越多,要溝通的對(duì)象就越多,如果是所謂的大數(shù)據(jù)平臺(tái)的建設(shè),需要匯集各個(gè)系統(tǒng)的建設(shè),少則幾家,多則幾十家,往往前期協(xié)調(diào)溝通耗費(fèi)大量的時(shí)間和精力。

第二坑:接口限制太高

不論是BS還是CS架構(gòu)的軟件系統(tǒng),每個(gè)軟件系統(tǒng)都處于廠家的勢(shì)力范圍。為了自身的安全,往往對(duì)非VIP客戶各種瀏覽限制。這樣就算接上了,也各種癱瘓。

數(shù)據(jù)掌握在軟件廠商手里,是否開放接口、以什么方式提供接口、一個(gè)接口是幾千、幾萬、十幾萬……決策權(quán)都在于軟件廠商。

第三坑:接口信息不規(guī)范或自己都沒做好

正如有同事說的“T迅”的代碼也沒好到哪里去”。有很多大廠的API你也會(huì)覺得像是實(shí)習(xí)生寫的。

返回的錯(cuò)誤信息,連轉(zhuǎn)義都不給,技術(shù)工單沒人理。只能忍著,被自己的用戶吐槽。

第四坑:業(yè)務(wù)或數(shù)據(jù)維度不協(xié)調(diào)

別人是按規(guī)格對(duì)應(yīng)銷售的,你這邊是按SPU銷售的;別人是按自己的標(biāo)庫維護(hù)的資料,并且有自己的“條形碼”生成規(guī)則,而你沒有;別人是存在十二種優(yōu)惠類型的,而你沒有……直呼變態(tài)!

本文由人人都是產(chǎn)品經(jīng)理作者【產(chǎn)品參趙】,微信公眾號(hào):【產(chǎn)品參趙】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

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