現在系統中集成越來越顯得很重要了,不管是釘釘還是支付寶等等等等,每個系統都集成了多方的接口,而且越來越多系統功能都會集成的越來越多,我們的信息化之網會越鋪越大:
那么調用第三方的接口,使用第三方的api文檔有什么技巧嗎?
1、借鑒下別人寫一個博客一句話,感覺不錯:
其實調接口很簡單,原理和使用數據庫的數據差不多,
我們使用本地數據庫的時候是通過: 連接數據庫——獲取數據(傳遞參數,獲取表中的數據)——返回前端——前端處理(封裝返回的數據,前端校驗是否成功)這么一個流程,
調用接口其實也差不多是這樣,發送請求(向第三方發送請求,傳遞參數)——收到數據(收到第三方的返回數據)——數據處理(數據解析)——返回前端——前端處理(前端展示封裝數據)。
通過將SDK方法中返回的數據划分為正常返回數據以及錯誤返回的數據兩部分,讓調用者更簡單的對接口調用錯誤進行處理。
將SDK調用第三方服務接口的流程划分為: 數據准備,http請求,結果處理三部分,以重用代碼。
2、具體操作的一些技巧:
(1)api文檔閱讀:主要看請求參數和返回數據,有些文檔有很多demo,這些demo會幫助我們很多。
參考這個內容:http://www.pmcaff.com/discuss/index/480006465919040?pmc_param=1
為了讓更多同學更能看懂這個傳說中的API接口文檔,我舉個栗子,並予以詳細描述,其實真的很簡單! 首先得明白,任何對外接口,都至少(不僅限)包含兩個任務分類:
講清楚這個問題:首先分清楚平台:
三種角色:
A)互聯網公司
B)終端用戶
C)第三方商家/服務提供者
平台和非平台的區別在於,用戶用的產品/服務/信息,直接由A生產,還是直接或間接由C生產。
舉個例子,印象筆記就是個互聯網產品,它由印象筆記開發,歸印象筆記所有,用戶消費印象筆記提供的產品。
再舉個例子,淘寶就是個平台產品,用戶在上面購買的商品和阿里巴巴沒有直接關系,是由淘寶上面的C)第三方商家提供的。 淘寶只是為商家提供了這樣的場所/系統,引來了顧客。
作者:知乎用戶
鏈接:https://www.zhihu.com/question/21491868/answer/18825854
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
1> 服務接口:在平台產品中,一般由商戶調用,平台負責處理; 2> 通知接口:在平台產品中,一般由平台調用,商戶負責處理; 如上,接口的規范包括URL和請求的參數兩部分。 在這里,我拿我們支付平台的『短信驗證碼扣款接口』做個案例,如看不明白的,可以在評論里告知,我會抽時間回復,當然了,妹紙可以私信我,飯不吃,工不做也第一時間回復。// 由於這個涉及到一些內部私密,本人只作一個簡要的說明,但作為牛逼如你的PM,應該能看懂的 1、短信驗證碼扣款接口 1.1 業務流程(描述) 商戶在入駐簽約我們產品時(代收代付),可以選擇是否開通這個服務,並設定這個服務的規則,很顯然,商戶開通了,並且設定了用戶支付時發送短信驗證碼 商戶發起扣款,我們根據商戶設定的發送短信限額,如果單筆扣款金額超出短信金額限制,那么會給用戶發送一條短信驗證碼,用戶須用短信回復驗證碼,我們收到后再繼續檢查驗證碼並進行扣款 1.2 接口規范 因為涉及到扣用戶的資金,原則上是不能的,但這個用戶是和銀行和我們達成了三方協議,所以有了協議保障,再扣款則無問題 調用接口的流程略,那么到現在,列位看官,這個接口是服務接口還是通知接口呢? URL:http://www.pmcaff.com/discuss/edit/523163678204992 請求方式:GET 請求參數:(至少包含以下幾個字段) 1> 參數名: 2> 參數含義: 3> 格式說明: 4> 是否必須: WechatIMG949.jpeg 返回值參數 Clipboard Image.png 返回碼如下: 圖片.png 當這個接口被調用時,先校驗這個商戶與我們的簽名(sign&sign_method)是否OK,為什么需要校驗?不是你媳婦,人家能讓你牽手嗎? 然后把上述的URL帶上,再把簽名,再把上述4個參數拼接(需要哪些就拼接哪些)在一起,大概樣子如下: URL:http://www.pmcaff.com/discuss/edit/523163678204992?contract_no=201407110000159812&sp_no=135800000001&sign=XXXXXXXXXXXXXXXXXXXX&sign_method=1&total_amount=1 然后會返回一個結果: {"err":"0","msg":"OK","token":"b0947e3456032b74c5awarfafe8de1bcd55"} 到現在你看懂了嗎?然后再回到我第一段里說的, 產品經理在這個環節,需要關注的不是文檔本身,而是API文檔里包含的字段參數是否符合我方業務訴求
(2)json數據解析:net.fs.json還是阿里的fastjson還是jacksondegnd
具體參考:https://www.cnblogs.com/huoer33/p/6638378.html
(3)調用第三方使用的工具:Httpclient、urlConnection還是RestTemplate
具體內容參考:http://blog.csdn.net/lmb55/article/details/70247018