作為產(chǎn)品經(jīng)理,不懂一點(diǎn)接口怎么行?

55 評(píng)論 195542 瀏覽 1737 收藏 10 分鐘

本文針對(duì)沒有接觸過接口的PM來說是劃知識(shí)點(diǎn),對(duì)接觸過的PM來說是討論和分享。

接口有什么用?

作為一個(gè)互聯(lián)網(wǎng)公司,很多資源和信息需要內(nèi)部共享或外部流通,那相關(guān)的數(shù)據(jù)就需要通過接口來傳輸。無論是2C還是2B的產(chǎn)品,都會(huì)用到接口,其中2B的產(chǎn)品們——數(shù)據(jù)、后臺(tái)、開放平臺(tái)/供應(yīng)鏈,幾乎和接口都是正面接觸。

接口怎么用?

目的千差萬別,用法殊途同歸。本文主要以美團(tuán)門票舉例,介紹接口的基本屬性、產(chǎn)品邏輯和異常情況等,供大家參考和討論。

怎么理解接口?

API接口是Application Programming Interface的簡(jiǎn)稱,是一些預(yù)先定義的函數(shù),包括接口地址、傳入?yún)?shù)和返回參數(shù)。

可以簡(jiǎn)單理解為,當(dāng)需要訪問某些數(shù)據(jù),正常狀態(tài)下傳入合格參數(shù),會(huì)收到該數(shù)據(jù)范圍內(nèi)的返回參數(shù)。

場(chǎng)景:在美團(tuán)旅游頻道,用戶選定時(shí)間、地點(diǎn)后搜索航班,后臺(tái)會(huì)調(diào)用搜索接口傳入時(shí)間、地點(diǎn)等參數(shù),接收航班類別、價(jià)格等參數(shù),在前臺(tái)頁(yè)面上進(jìn)行排列展示。同理,下單時(shí)會(huì)調(diào)用生單接口確認(rèn)是否成單,支付時(shí)會(huì)調(diào)用支付接口完成交易,自動(dòng)修改訂單狀態(tài)。

產(chǎn)品邏輯

很多公司都有開放平臺(tái)(也叫供應(yīng)鏈),比如美團(tuán)作為一個(gè)平臺(tái),很多的供應(yīng)商需要把自身資源導(dǎo)入平臺(tái),在平臺(tái)頁(yè)面上集中展示,供用戶選擇。一般情況下,美團(tuán)會(huì)有自身的一套接口,供應(yīng)商可以開發(fā)對(duì)應(yīng)的接口進(jìn)行對(duì)接,這種叫(運(yùn)價(jià))直連。

以下以美團(tuán)門票為例,此鏈接http://open.trip.meituan.com/是商家對(duì)接的開放平臺(tái),不涉密,商家技術(shù)、業(yè)務(wù)人員可以通過該地址上的接口說明進(jìn)行商家對(duì)接。

1.系統(tǒng)結(jié)構(gòu)

門票直連系統(tǒng)是通過接口,把商家的門票數(shù)據(jù)導(dǎo)入到美團(tuán)上收單,按用戶行為軌跡來說,實(shí)現(xiàn)“搜索-預(yù)定-下單-支付-售后”的自動(dòng)化。異常情況通過郵件等形式預(yù)警,手工介入處理。

(詳細(xì)流程見此鏈接https://www.processon.com/view/link/5943ec7ae4b0bdefc0582e3e)

①正常情況下,涉及前臺(tái)和用戶行為的業(yè)務(wù)流程:

②涉及后臺(tái)的產(chǎn)品數(shù)據(jù)&訂單狀態(tài)更新(部分簡(jiǎn)略):

2.接口總覽

按接口類型和屬性可分為三類:數(shù)據(jù)類、交易類和通知類。有一部分為美團(tuán)接口,另一部分接口需要商家進(jìn)行開發(fā)。

  1. 數(shù)據(jù)類:商家數(shù)據(jù)對(duì)接到美團(tuán)(涉及到商家的4個(gè)接口,拉取產(chǎn)品信息、產(chǎn)品變化通知、拉取景點(diǎn)信息、拉取價(jià)格日歷)
  2. 交易類:“用戶——美團(tuán)——商家”的交易行為(涉及到商家的5個(gè)接口)
  3. 通知類:包括商家開發(fā)的已出票、票已使用、已退款3個(gè)接口,美團(tuán)自有的已退款、查余額、編審狀態(tài)通知的3個(gè)接口。

異常問題

我做過的接口產(chǎn)品不多,但問題類似,主要包括兩類:接口問題、產(chǎn)品問題。接口問題就是無響應(yīng)、響應(yīng)過慢、重復(fù)響應(yīng)等,產(chǎn)品問題就是存量少、變價(jià)快、時(shí)間差導(dǎo)致下架更新不及時(shí)等。

在做接口相關(guān)的產(chǎn)品時(shí),異常與正常流程同等重要,這與核心用戶和邊緣用戶不是一個(gè)概念。所以在考慮每一步的流程時(shí),必須兼顧異常問題的發(fā)生與解決方法,盡量避免損害用戶體驗(yàn)和商家損失。

一般的解決方法是數(shù)據(jù)監(jiān)控,通過對(duì)每個(gè)業(yè)務(wù)節(jié)點(diǎn)的多項(xiàng)指標(biāo)進(jìn)行監(jiān)控,一旦超出閾值,就可以用郵件、短信等形式通知相關(guān)人員,及時(shí)解決問題。

接下來我們從兩個(gè)方面具體探討如何應(yīng)對(duì)這些問題。

1.用戶體驗(yàn)——具體場(chǎng)景&數(shù)據(jù)監(jiān)控

對(duì)用戶來說,流程的任一節(jié)點(diǎn)不順暢,都會(huì)導(dǎo)致體驗(yàn)不好,故根據(jù)用戶行為軌跡來進(jìn)行數(shù)據(jù)監(jiān)控。

①頁(yè)面展示慢——接口響應(yīng)時(shí)長(zhǎng)、用戶頁(yè)面停留時(shí)長(zhǎng)、跳失率

  • Reason:實(shí)時(shí)調(diào)接口查詢景點(diǎn)&產(chǎn)品信息,因數(shù)據(jù)量大或頻率快導(dǎo)致。
  • Solution:緩存數(shù)據(jù),每N分鐘更新一次。

②數(shù)據(jù)展示異常——后臺(tái)返回接口異常的次數(shù)和概率

  • Reason:接口超時(shí)或異常。
  • Solution:可以設(shè)定重復(fù)調(diào)用,多次重試失敗后,通過郵件等形式通知到運(yùn)營(yíng)、技術(shù)或商家。

針對(duì)數(shù)據(jù)型接口,對(duì)產(chǎn)品進(jìn)行下架或隱藏處理。

針對(duì)交易型接口,下單、支付的問題可以提醒用戶、為用戶推薦同類產(chǎn)品、對(duì)產(chǎn)品進(jìn)行下架或隱藏處理;退票類問題可以建議用戶之后重試,如果比較緊急可以聯(lián)系客服加急處理。

針對(duì)通知型接口,不涉及用戶,郵件處理即可,可人工介入更新信息。

③產(chǎn)品變動(dòng),特別是變價(jià)——下單失敗率、變價(jià)率、出票失敗率

  • Reason:數(shù)據(jù)更新有時(shí)間差。
  • Solution:
  1. 當(dāng)某一產(chǎn)品的失敗率或變價(jià)率超出規(guī)定,可隱藏或下架;
  2. 針對(duì)某些產(chǎn)品庫(kù)存少的情況進(jìn)行提示,預(yù)告風(fēng)險(xiǎn);
  3. 設(shè)定合理的定時(shí)更新任務(wù)。

④下單/支付/退票失敗——失敗率、失敗原因

  • Reason:用戶可能多次提交,或者訂單已使用、已關(guān)閉等客觀原因,無法成功。
  • Solution:
  1. 需要加入檢驗(yàn)機(jī)制,比如在短時(shí)間內(nèi)重復(fù)提交不調(diào)用接口,直接返回原結(jié)果;
  2. 善意提醒用戶不要重復(fù)提交,如“您的手太快了,請(qǐng)休息30s后再試”;
  3. 可以提供IM人工或電話咨詢、留言等選項(xiàng)。

⑤服務(wù)響應(yīng)時(shí)間長(zhǎng)——手工操作訂單量和占比

  • Reason:比如用戶提交退票后長(zhǎng)時(shí)間不退款;支付后長(zhǎng)時(shí)間不出票
  • Solution:
  1. 定時(shí)調(diào)用訂單查詢接口,更新訂單狀態(tài)并短信/推送消息告知用戶;
  2. 超過服務(wù)規(guī)范時(shí)間前發(fā)送預(yù)警郵件,人工介入處理。

2.商家體驗(yàn)——數(shù)據(jù)監(jiān)控&具體場(chǎng)景

對(duì)商家來說,用戶體驗(yàn)不重要,轉(zhuǎn)化率和利潤(rùn)才是重點(diǎn),故數(shù)據(jù)監(jiān)控以業(yè)務(wù)指標(biāo)為主。

①重復(fù)生單、生單不支付占庫(kù)存——訂單量、訂單支付轉(zhuǎn)化率、支付失敗率、庫(kù)存占用量和支付量

  • Reason:用戶手速太快;惡意占庫(kù)存
  • Solution:制定規(guī)則,同一人只能占一個(gè)庫(kù)存;同一訂單最多只能訂N個(gè)人。

②惡意重復(fù)調(diào)用接口——涉及到的每個(gè)接口調(diào)用頻率

  • Reason:比如短時(shí)間重復(fù)調(diào)用某一接口
  • Solution:
  1. 規(guī)定同一IP地址不能在短時(shí)間內(nèi)多次調(diào)用;
  2. 直接返回第一次調(diào)用接口的結(jié)果,不再重復(fù)調(diào)用;
  3. 每個(gè)接口在同一時(shí)間最多N次調(diào)用,否則返回失敗等。

③因數(shù)據(jù)更新不及時(shí)等導(dǎo)致的虧損——(傭金、廣告)投入產(chǎn)出比、人為損失

  • Reason:用戶使用后退款完成、用戶支付后變價(jià)等
  • Solution:根據(jù)時(shí)間差、處理規(guī)則來明確劃定責(zé)任方。

④結(jié)算問題——財(cái)務(wù)對(duì)賬自身支出(退款)和收入(美團(tuán)給商家的結(jié)算金額)

  • Reason:平臺(tái)和商家以“T+N”的方式結(jié)算
  • Solution:
  1. B端訂單系統(tǒng)里的財(cái)務(wù)對(duì)賬功能,可以用郵件形式每日發(fā)送;
  2. 監(jiān)測(cè)異常數(shù)據(jù),如當(dāng)日無結(jié)算、結(jié)算金額與訂單金額不一致。

以上即為接口主要的應(yīng)用對(duì)象和邏輯,邏輯不難但復(fù)雜度高,需要細(xì)心周到地考慮各種情況,希望能與大家一起討論。

 

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 我想問透?jìng)髟撛趺蠢斫?。?!?/p>

    回復(fù)
    1. 透明無感知地傳輸數(shù)據(jù)的含義。舉個(gè)例子:
      發(fā)短信功能(利用第三方服務(wù)騰訊云的發(fā)短信接口):當(dāng)用戶輸入手機(jī)號(hào)碼點(diǎn)擊發(fā)送驗(yàn)證碼時(shí),先調(diào)用我們自己后臺(tái)的發(fā)短信接口,然后我們后臺(tái)調(diào)用騰訊云的發(fā)短信接口,把用戶從前端傳過來的手機(jī)號(hào)碼再繼續(xù)傳給騰訊云接口。數(shù)據(jù)傳遞的鏈路是:前端->我們后臺(tái)->騰訊云。后臺(tái)沒有對(duì)數(shù)據(jù)做任何修改就直接傳給騰訊云的這個(gè)過程就是透?jìng)鳌?/p>

      來自湖北 回復(fù)
  2. 作者姐姐,我想問一下,系統(tǒng)與外部系統(tǒng)對(duì)接,是兩邊都需要出說明文檔嗎?各自對(duì)各自的,有的直接接口,沒的再做?我是小白,老板讓我負(fù)責(zé)這個(gè)

    回復(fù)
    1. 首先你們是平臺(tái)方還是接入方?文檔是平臺(tái)方出的,接入方按照文檔做就可以了。

      來自江蘇 回復(fù)
  3. 是否異步出票為“是”時(shí),為什么支付狀態(tài)是“支付中”呢,前面不是已經(jīng)支付過了嗎?

    來自四川 回復(fù)
    1. 前面的是否支付成功我認(rèn)為應(yīng)該是客戶支付驗(yàn)證是否成功,提交后,還未劃款,需要先做驗(yàn)證—是否可以出票,如果出票不成功,則支付無效,結(jié)果是支付不成功。故在出票過程中可定義為支付中。如果理解錯(cuò)了,歡迎指正

      來自江蘇 回復(fù)
    2. 前面還有一步“是否可支付”,不是在驗(yàn)證訂單是否可支付么

      來自四川 回復(fù)
  4. 作者大大可以問兩個(gè)問題么?
    1.為什么拉取商戶的產(chǎn)品信息要透?jìng)?,加密傳輸一般寫一套?yīng)該就行,加密傳輸不會(huì)影響效率也不會(huì)增加工作量,所以這里使用透?jìng)骱头峭競(jìng)魇遣皇菦]有什么區(qū)別?
    2.什么叫變價(jià)率呢?
    期盼回復(fù)~~ ??

    來自北京 回復(fù)
    1. 1.沒有特殊要求,都行沒區(qū)別。
      2.變價(jià)率是指某一條數(shù)據(jù)產(chǎn)生的價(jià)格變動(dòng)的情況較多,超出自設(shè)的警戒值。

      來自北京 回復(fù)
  5. 接口其實(shí)就是實(shí)現(xiàn)兩個(gè)系統(tǒng)(平臺(tái))之間數(shù)據(jù)相互調(diào)用,以保證數(shù)據(jù)閉環(huán)。對(duì)于2C產(chǎn)品來說,數(shù)據(jù)的共享是很敏感的事情,必須有商務(wù)運(yùn)作。

    來自遼寧 回復(fù)
  6. 能加個(gè)聯(lián)系方式嗎 微信或者QQ什么的

    來自北京 回復(fù)
    1. 公眾號(hào):qiaomaihexiaoqiao(亂入花間化綠葉)
      有問題可以私聊

      來自北京 回復(fù)
  7. 接口文檔也是產(chǎn)品寫嗎?

    來自廣東 回復(fù)
    1. 是技術(shù)寫,但是需要了解一下會(huì)出現(xiàn)的問題 知己知彼

      來自浙江 回復(fù)
  8. 已退款消息,應(yīng)該是合作方→美團(tuán)吧。

    來自北京 回復(fù)
  9. 透?jìng)魇巧兑馑?/p>

    來自北京 回復(fù)
    1. 不加工的傳輸

      來自北京 回復(fù)
  10. 你是數(shù)據(jù)產(chǎn)品嗎?

    來自廣東 回復(fù)
    1. 不是,算是參與過

      來自北京 回復(fù)
  11. 突然想拜你為師了,可以嗎

    回復(fù)
    1. 來啊來啊,關(guān)注我的公眾號(hào)吧~~ ??

      來自北京 回復(fù)
    2. 公眾號(hào)是啥

      來自廣東 回復(fù)
    3. qiaomaihexiaoqiao(亂入花間化綠葉)

      來自北京 回復(fù)
    4. 搜不到這個(gè)公眾號(hào)呀

      來自四川 回復(fù)
  12. 可以轉(zhuǎn)發(fā)到朋友圈嗎

    來自北京 回復(fù)
    1. 可以啊,你說的是轉(zhuǎn)載還是轉(zhuǎn)發(fā)?

      來自北京 回復(fù)
  13. 感謝分享

    來自四川 回復(fù)
  14. 文章寫的很好,再接再厲!

    回復(fù)
  15. get知識(shí)點(diǎn)了~~

    來自湖北 回復(fù)
  16. 感同身受。遇到接口調(diào)用無響應(yīng)、響應(yīng)過慢、重復(fù)響應(yīng),接口調(diào)用無重發(fā)機(jī)制,回調(diào)超時(shí)……

    來自北京 回復(fù)
  17. 很厲害

    來自湖南 回復(fù)
  18. mark

    來自江蘇 回復(fù)
  19. 作為程序員給作者點(diǎn)個(gè)贊,頭像也好看

    來自廣東 回復(fù)
  20. 收藏了,不錯(cuò) ??

    來自上海 回復(fù)
  21. 接口總覽那里的通知類接口是不是說反了?已出票、票已使用、已退款3個(gè)接口是美團(tuán)開發(fā)的,已退款、查余額、編審狀態(tài)通知的3個(gè)接口是商家開發(fā)的才對(duì)吧?

    來自廣東 回復(fù)
    1. 不是的。有些接口其實(shí)意思一致,但因?yàn)樾袨榘l(fā)起方和接收方不同,所以開發(fā)者不同。
      已出票是商家在接到付款成功訂單后為用戶出票,然后通知美團(tuán)票已出,之后美團(tuán)再去通知用戶,票已使用、已退款這兩個(gè)接口同理。
      訂單退款通知接口和已退款接口其實(shí)是一樣的,只不過行為分別由商家和美團(tuán)發(fā)起(因?yàn)橛脩籼峤簧暾?qǐng)的理由和時(shí)間等情況不同),所以分別開發(fā)接口。查余額是美團(tuán)通知商家,需要連接商家的接口才能通知到;編審狀態(tài)通知也是美團(tuán)去通知商家。

      來自北京 回復(fù)
    2. 我突然間混亂了。。。。

      來自北京 回復(fù)
    3. 正確的應(yīng)該為:“通知類接口:包括美團(tuán)開發(fā)的已出票、票已使用、已退款3個(gè)接口,商家的訂單退款、查余額、編審狀態(tài)通知的3個(gè)接口?!?/p>

      來自北京 回復(fù)
    4. 恩恩,感謝作者的認(rèn)真解答~對(duì)接口的理解更進(jìn)了一步 ??

      來自廣東 回復(fù)
    5. 謝謝你的細(xì)心和反饋~~ ??

      來自北京 回復(fù)
  22. 作者對(duì)接口了解這么多 是程序出身嗎

    來自吉林 回復(fù)
    1. 不是,正經(jīng)文科生 ??

      來自北京 回復(fù)
    2. 難得

      來自北京 回復(fù)
    3. 向你學(xué)習(xí)了。

      來自上海 回復(fù)
  23. 好文 好文 收藏了!我喜歡主頁(yè)那個(gè)圖片哦!

    來自上海 回復(fù)
  24. 小喬你好,我是大喬。來吧,一起王者榮耀。

    來自廣東 回復(fù)
    1. 沒玩過~

      回復(fù)
    2. 好尷尬

      來自廣東 回復(fù)
    3. 我是周瑜

      來自江蘇 回復(fù)
    4. 圍觀丑拒。

      來自北京 回復(fù)
    5. 撩妹失敗 換個(gè)套路吧

      來自北京 回復(fù)
    6. 圍觀丑拒。

      來自四川 回復(fù)
    7. 圍觀丑拒。

      來自北京 回復(fù)
    8. 會(huì)員強(qiáng)撩翻車現(xiàn)場(chǎng)

      來自上海 回復(fù)
    9. 你好我是孫權(quán),快跟我回家。

      來自廣東 回復(fù)