作為產品經理,不懂一點接口怎么行?
本文針對沒有接觸過接口的PM來說是劃知識點,對接觸過的PM來說是討論和分享。
接口有什么用?
作為一個互聯網公司,很多資源和信息需要內部共享或外部流通,那相關的數據就需要通過接口來傳輸。無論是2C還是2B的產品,都會用到接口,其中2B的產品們——數據、后臺、開放平臺/供應鏈,幾乎和接口都是正面接觸。
接口怎么用?
目的千差萬別,用法殊途同歸。本文主要以美團門票舉例,介紹接口的基本屬性、產品邏輯和異常情況等,供大家參考和討論。
怎么理解接口?
API接口是Application Programming Interface的簡稱,是一些預先定義的函數,包括接口地址、傳入參數和返回參數。
可以簡單理解為,當需要訪問某些數據,正常狀態下傳入合格參數,會收到該數據范圍內的返回參數。
場景:在美團旅游頻道,用戶選定時間、地點后搜索航班,后臺會調用搜索接口傳入時間、地點等參數,接收航班類別、價格等參數,在前臺頁面上進行排列展示。同理,下單時會調用生單接口確認是否成單,支付時會調用支付接口完成交易,自動修改訂單狀態。
產品邏輯
很多公司都有開放平臺(也叫供應鏈),比如美團作為一個平臺,很多的供應商需要把自身資源導入平臺,在平臺頁面上集中展示,供用戶選擇。一般情況下,美團會有自身的一套接口,供應商可以開發對應的接口進行對接,這種叫(運價)直連。
以下以美團門票為例,此鏈接http://open.trip.meituan.com/是商家對接的開放平臺,不涉密,商家技術、業務人員可以通過該地址上的接口說明進行商家對接。
1.系統結構
門票直連系統是通過接口,把商家的門票數據導入到美團上收單,按用戶行為軌跡來說,實現“搜索-預定-下單-支付-售后”的自動化。異常情況通過郵件等形式預警,手工介入處理。
(詳細流程見此鏈接https://www.processon.com/view/link/5943ec7ae4b0bdefc0582e3e)
①正常情況下,涉及前臺和用戶行為的業務流程:
②涉及后臺的產品數據&訂單狀態更新(部分簡略):
2.接口總覽
按接口類型和屬性可分為三類:數據類、交易類和通知類。有一部分為美團接口,另一部分接口需要商家進行開發。
- 數據類:商家數據對接到美團(涉及到商家的4個接口,拉取產品信息、產品變化通知、拉取景點信息、拉取價格日歷)
- 交易類:“用戶——美團——商家”的交易行為(涉及到商家的5個接口)
- 通知類:包括商家開發的已出票、票已使用、已退款3個接口,美團自有的已退款、查余額、編審狀態通知的3個接口。
異常問題
我做過的接口產品不多,但問題類似,主要包括兩類:接口問題、產品問題。接口問題就是無響應、響應過慢、重復響應等,產品問題就是存量少、變價快、時間差導致下架更新不及時等。
在做接口相關的產品時,異常與正常流程同等重要,這與核心用戶和邊緣用戶不是一個概念。所以在考慮每一步的流程時,必須兼顧異常問題的發生與解決方法,盡量避免損害用戶體驗和商家損失。
一般的解決方法是數據監控,通過對每個業務節點的多項指標進行監控,一旦超出閾值,就可以用郵件、短信等形式通知相關人員,及時解決問題。
接下來我們從兩個方面具體探討如何應對這些問題。
1.用戶體驗——具體場景&數據監控
對用戶來說,流程的任一節點不順暢,都會導致體驗不好,故根據用戶行為軌跡來進行數據監控。
①頁面展示慢——接口響應時長、用戶頁面停留時長、跳失率
- Reason:實時調接口查詢景點&產品信息,因數據量大或頻率快導致。
- Solution:緩存數據,每N分鐘更新一次。
②數據展示異?!笈_返回接口異常的次數和概率
- Reason:接口超時或異常。
- Solution:可以設定重復調用,多次重試失敗后,通過郵件等形式通知到運營、技術或商家。
針對數據型接口,對產品進行下架或隱藏處理。
針對交易型接口,下單、支付的問題可以提醒用戶、為用戶推薦同類產品、對產品進行下架或隱藏處理;退票類問題可以建議用戶之后重試,如果比較緊急可以聯系客服加急處理。
針對通知型接口,不涉及用戶,郵件處理即可,可人工介入更新信息。
③產品變動,特別是變價——下單失敗率、變價率、出票失敗率
- Reason:數據更新有時間差。
- Solution:
- 當某一產品的失敗率或變價率超出規定,可隱藏或下架;
- 針對某些產品庫存少的情況進行提示,預告風險;
- 設定合理的定時更新任務。
④下單/支付/退票失敗——失敗率、失敗原因
- Reason:用戶可能多次提交,或者訂單已使用、已關閉等客觀原因,無法成功。
- Solution:
- 需要加入檢驗機制,比如在短時間內重復提交不調用接口,直接返回原結果;
- 善意提醒用戶不要重復提交,如“您的手太快了,請休息30s后再試”;
- 可以提供IM人工或電話咨詢、留言等選項。
⑤服務響應時間長——手工操作訂單量和占比
- Reason:比如用戶提交退票后長時間不退款;支付后長時間不出票
- Solution:
- 定時調用訂單查詢接口,更新訂單狀態并短信/推送消息告知用戶;
- 超過服務規范時間前發送預警郵件,人工介入處理。
2.商家體驗——數據監控&具體場景
對商家來說,用戶體驗不重要,轉化率和利潤才是重點,故數據監控以業務指標為主。
①重復生單、生單不支付占庫存——訂單量、訂單支付轉化率、支付失敗率、庫存占用量和支付量
- Reason:用戶手速太快;惡意占庫存
- Solution:制定規則,同一人只能占一個庫存;同一訂單最多只能訂N個人。
②惡意重復調用接口——涉及到的每個接口調用頻率
- Reason:比如短時間重復調用某一接口
- Solution:
- 規定同一IP地址不能在短時間內多次調用;
- 直接返回第一次調用接口的結果,不再重復調用;
- 每個接口在同一時間最多N次調用,否則返回失敗等。
③因數據更新不及時等導致的虧損——(傭金、廣告)投入產出比、人為損失
- Reason:用戶使用后退款完成、用戶支付后變價等
- Solution:根據時間差、處理規則來明確劃定責任方。
④結算問題——財務對賬自身支出(退款)和收入(美團給商家的結算金額)
- Reason:平臺和商家以“T+N”的方式結算
- Solution:
- B端訂單系統里的財務對賬功能,可以用郵件形式每日發送;
- 監測異常數據,如當日無結算、結算金額與訂單金額不一致。
以上即為接口主要的應用對象和邏輯,邏輯不難但復雜度高,需要細心周到地考慮各種情況,希望能與大家一起討論。
本文由 @小喬 原創發布于人人都是產品經理。未經許可,禁止轉載。
我想問透傳該怎么理解。。。
透明無感知地傳輸數據的含義。舉個例子:
發短信功能(利用第三方服務騰訊云的發短信接口):當用戶輸入手機號碼點擊發送驗證碼時,先調用我們自己后臺的發短信接口,然后我們后臺調用騰訊云的發短信接口,把用戶從前端傳過來的手機號碼再繼續傳給騰訊云接口。數據傳遞的鏈路是:前端->我們后臺->騰訊云。后臺沒有對數據做任何修改就直接傳給騰訊云的這個過程就是透傳。
作者姐姐,我想問一下,系統與外部系統對接,是兩邊都需要出說明文檔嗎?各自對各自的,有的直接接口,沒的再做?我是小白,老板讓我負責這個
首先你們是平臺方還是接入方?文檔是平臺方出的,接入方按照文檔做就可以了。
是否異步出票為“是”時,為什么支付狀態是“支付中”呢,前面不是已經支付過了嗎?
前面的是否支付成功我認為應該是客戶支付驗證是否成功,提交后,還未劃款,需要先做驗證—是否可以出票,如果出票不成功,則支付無效,結果是支付不成功。故在出票過程中可定義為支付中。如果理解錯了,歡迎指正
前面還有一步“是否可支付”,不是在驗證訂單是否可支付么
作者大大可以問兩個問題么?
1.為什么拉取商戶的產品信息要透傳,加密傳輸一般寫一套應該就行,加密傳輸不會影響效率也不會增加工作量,所以這里使用透傳和非透傳是不是沒有什么區別?
2.什么叫變價率呢?
期盼回復~~ ??
1.沒有特殊要求,都行沒區別。
2.變價率是指某一條數據產生的價格變動的情況較多,超出自設的警戒值。
接口其實就是實現兩個系統(平臺)之間數據相互調用,以保證數據閉環。對于2C產品來說,數據的共享是很敏感的事情,必須有商務運作。
能加個聯系方式嗎 微信或者QQ什么的
公眾號:qiaomaihexiaoqiao(亂入花間化綠葉)
有問題可以私聊
接口文檔也是產品寫嗎?
是技術寫,但是需要了解一下會出現的問題 知己知彼
已退款消息,應該是合作方→美團吧。
透傳是啥意思
不加工的傳輸
你是數據產品嗎?
不是,算是參與過
突然想拜你為師了,可以嗎
來啊來啊,關注我的公眾號吧~~ ??
公眾號是啥
qiaomaihexiaoqiao(亂入花間化綠葉)
搜不到這個公眾號呀
可以轉發到朋友圈嗎
可以啊,你說的是轉載還是轉發?
感謝分享
文章寫的很好,再接再厲!
get知識點了~~
感同身受。遇到接口調用無響應、響應過慢、重復響應,接口調用無重發機制,回調超時……
很厲害
mark
作為程序員給作者點個贊,頭像也好看
收藏了,不錯 ??
接口總覽那里的通知類接口是不是說反了?已出票、票已使用、已退款3個接口是美團開發的,已退款、查余額、編審狀態通知的3個接口是商家開發的才對吧?
不是的。有些接口其實意思一致,但因為行為發起方和接收方不同,所以開發者不同。
已出票是商家在接到付款成功訂單后為用戶出票,然后通知美團票已出,之后美團再去通知用戶,票已使用、已退款這兩個接口同理。
訂單退款通知接口和已退款接口其實是一樣的,只不過行為分別由商家和美團發起(因為用戶提交申請的理由和時間等情況不同),所以分別開發接口。查余額是美團通知商家,需要連接商家的接口才能通知到;編審狀態通知也是美團去通知商家。
我突然間混亂了。。。。
正確的應該為:“通知類接口:包括美團開發的已出票、票已使用、已退款3個接口,商家的訂單退款、查余額、編審狀態通知的3個接口?!?/p>
恩恩,感謝作者的認真解答~對接口的理解更進了一步 ??
謝謝你的細心和反饋~~ ??
作者對接口了解這么多 是程序出身嗎
不是,正經文科生 ??
難得
向你學習了。
好文 好文 收藏了!我喜歡主頁那個圖片哦!
小喬你好,我是大喬。來吧,一起王者榮耀。
沒玩過~
好尷尬
我是周瑜
圍觀丑拒。
撩妹失敗 換個套路吧
圍觀丑拒。
圍觀丑拒。
會員強撩翻車現場
你好我是孫權,快跟我回家。