API(應用程式介面)是軟件向另一個系統索取資料或要求執行操作的既定方式。API 會說明呼叫方可以提出甚麼要求、需要提供哪些資料,以及會收到甚麼回覆。雙方按照同一套介面溝通,無須了解對方的內部程式如何編寫。
API 可以用於作業系統、軟件程式庫,也可以連接網絡上的服務。Web API 常用 HTTP,但 API 的意思更廣。MDN 的 API 詞彙解說介紹一般概念;OpenAPI 規格則說明如何以標準格式描述 HTTP API。
API 如何運作
呼叫方按照 API 規格發出請求。提供服務的系統會檢查請求和呼叫方的權限,執行獲准的操作,再回傳結果或錯誤訊息。規格可以列明可用操作、必填資料、格式、身份驗證方式及錯誤回覆。視乎設計,API 可以讀取資料、修改紀錄,或兩者兼有。
HTTP API 通常以端點識別資料或操作,請求和回覆可以使用 JSON 等結構化格式。清楚的文件有助開發人員了解介面,再把它接到另一個應用程式。
企業應用示例
示例屬說明用途:網店確認訂單前,需要查核商品是否有貨。網店會向庫存系統提交商品及數量,庫存系統回覆供貨結果。如果呼叫方有相應權限,而且流程容許,系統亦可再提交預留庫存的操作。網店按回覆繼續處理,或把例外情況交由同事覆核。
API、REST 和 JSON
API 是軟件互相溝通時使用的介面;REST 是設計部分網絡 API 時採用的一種架構風格;JSON 則是請求或回覆中可用的一種數據格式。REST API 可以使用 JSON,但 REST 和 JSON 都不是 API 的必要條件。
API 不會代替背後的營運規則。團隊仍要決定由哪個系統負責每項紀錄、誰可以提出哪些操作,以及資料不足或請求失敗時如何處理。
API 本身不能解決甚麼?
系統連接只是整合工作的一部分。雙方要釐清數據含義、限制用戶可執行的操作,並安排錯誤處理、重試、重複請求及介面改動的跟進責任。這些安排會影響系統能否配合日常營運及持續維護。
如果不同系統需要在業務流程中交換數據,可了解 technine.io 的系統整合及流程自動化服務,進一步釐清整合範圍。
常見問題
API 等同網站嗎?
不等同。網站提供介面讓人操作,API 則提供介面讓軟件呼叫。網站可以在背後使用 API,也可以向其他應用程式提供 API。
所有 API 都使用 REST 或 JSON 嗎?
不是。API 可以採用不同設計和數據格式。REST 和 JSON 在 Web 開發中很常見,但並非所有 API 都必須使用。
接通兩個 API 就完成系統整合嗎?
未必。整合還要訂明數據定義、權限、錯誤處理及測試安排,並確定誰負責跟進日後的改動和支援。
延伸閱讀:了解甚麼是 MCP,看看 AI 應用程式如何連接工具和背景資料;亦可閱讀甚麼是 Agent Skills。
主要資料來源:MDN:API 詞彙解說 · OpenAPI 規格 · Roy Fielding 的 REST 論文
