api介面如何對接?(帶你瞭解api介面的相關知識)

有頭髮的程式猿發表於2023-02-23

本文目錄:


API介面是什麼?


為什麼我們需要API介面?


API介面的核心


一、API介面是什麼?

我們來以一個常見的數學公式理解API,比如y=x+2,當x=2的時候,y=4,對麼?


那此時,我們把y=x+2稱為介面,x=2稱為引數,y=4稱為返回結果,那這個介面的功能就是能把我們輸入的數加上2(注意:這裡你可以發現介面自身是帶有邏輯的)。


類比地,我們來理解一個常見的場景,比如現在有一個可以把經緯度轉化為城市的介面,那當我輸入經度是55°,緯度是88°的時候,介面透過自己的邏輯運算,返回結果告訴我:杭州市。


這樣你就可以清晰地瞭解百度百科的官方解釋了,介面就是預先定義的函式邏輯,他是供其他系統請求,然後返回結果的一個東西。


二、為什麼我們需要API介面?

背景:我們的業務系統涉及多方多面,如果要一個公司或者一個系統把所有業務都做完,那未免工作量太大了吧?並且如果其他系統或公司有更好的運算邏輯,那我們在設計功能的時候可以考慮利用介面進行開發。


核心需求:利用現有介面可以降低開發成本,縮短開發成本。


舉個例子:比如我是叫車的APP,現在我需要在我的頁面上展現地圖的功能,對於我司而言,新做地圖功能未免成本過高,那我們可以在高德開放平臺或者百度地圖的開放平臺,找到地圖API,這樣的話我們只需要購買高德的服務,部署呼叫高德地圖API,這樣就可以快速在我們頁面上線地圖功能了。


三、API介面的核心

對於小白而言,初看API文件可能是一頭霧水的——從哪裡看,怎麼看,看什麼是擺在面前的問題。


其實對於產品經理而言,我們應該更關注這個公司可以提供什麼樣的API介面服務,比如我知道高德可以提供地圖API,規劃路線的API,這樣的話在我們設計功能和工作中就可以想到呼叫他們的服務或者參考。


所以產品小白們看不懂也不用過於擔心,未來工作中你也會更深入瞭解清楚,因為看懂並不複雜,以下是API介面的核心點,所有的說明文件離不開這5個核心點。


以下說明均以微信開放平臺為例說明,文末有各開放平臺的地址,大家有空可以去學習。好了,事不宜遲,現在我們來建立一個場景。


我們現在有一個APP,需要使用者在購買的時候調起微信支付的API,完成購買。請各位自動進入這個場景,把自己當作一位產品經理。


1. 介面地址

現在Now,使用者點選付款,我們需要告訴微信,我們要調起你們的收銀臺啦!但,去哪裡告訴呢?這就需要介面地址了,也就相當於向微信的這條連結傳輸指定的資料。


一個連結地址不是我們理解的一個頁面,你可以理解是一個電話號碼,小白們要改變這個觀念。


此時我們可以看到介面文件告訴我們連結是如下這條,那我們現在已經撥通微信的電話了。


2. 請求引數(報文)

我們現在需要告訴微信,你想呼叫收銀臺對吧。那我們需要寫下來,此時生成的叫做報文,也就是你想告訴這個介面的內容是什麼?相當於前文函式的輸入x=2。


一般來說,報文的格式和內容都是按介面文件規定的。如下文就是微信開放平臺對調起收銀臺的報文要求。


我們先來看前2個引數,你現在跟微信在對話,是不是應該先告訴微信,你是誰?這裡微信的文件告訴你應該要用應用ID+商戶號來確定你的身份,什麼意思呢?


比如你是A商戶,下面有a,b,c三個APP,所以微信要知道你是哪個商家,下面的哪個APP要用收銀臺。這是非常重要的,微信後面要把收到的錢打到對應的賬戶以及統計資料等。


那我們就在報文裡面寫下這兩句話:


<appid>wx2421b1c4370ec43b</appid>(我的應用ID是wx2421…….)


<mch_id>10000100</mch_id>(我的商戶號是10000…….)


好了,現在微信知道你是誰了,那你要告訴微信,你需要微信支付幫你收多少錢對吧?這裡定義了貨幣型別和總金額,也就是收什麼貨幣,收多少錢。


這裡你看,貨幣型別的必填寫了否,也就是說你也可以不告訴微信支付貨幣型別是什麼,因為他在後面備註了預設是人民幣。


好的,那我們寫下兩段報文


<free_type>CNY</ free_type >(我要收人民幣)


<total_fee>1</total_fee>(我要收1元)


好了,現在微信知道你是誰,也知道要收多少錢了,那接下來微信支付要把收錢結果告訴你呀,因為你得知道使用者是成功支付了才能繼續發貨,服務啊等等的。所以這裡我們用到通知地址,就是告訴微信,等下完事了他去哪裡告訴你支付結果。那我們把地址寫好:


<notify_url>


電商API介面:


3. 返回結果

剛剛微信支付已經去收款了,現在他要在我們留下的通知地址中,告訴我們結果了。結果無非是兩種:成功收款?收款不成功?


(1)成功


很順利,現在使用者成功付錢了,並且微信也把成功的訊息告訴我們了,並且他還把使用者支付的一些資訊也告訴我們。


那這裡就是微信支付成功收款後告訴我們的資訊。


應用APPID,商戶號:告訴你我成功扣款的是哪家商戶的哪個APPID的交易。


業務結果:成功或失敗


(2)失敗


在產品設計的時候,我們往往很關注失敗的情況,當收款失敗的時候,微信同時會告訴你失敗的原因,如下圖很好理解,失敗的原因有很多很多種,我們在設計的時候往往要分析每種失敗的原因,為每個失敗的原因設計頁面和使用者提示,以確保使用者能理解。


以上就是API介面基本運作模式的理解,下面我將繼續更新API介面的一些更為深入和細節的關鍵元素,如請求方式/簽名/加解密等等。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026917/viewspace-2936699/,如需轉載,請註明出處,否則將追究法律責任。

相關文章