API串接怎麼規劃?流程、規格確認、時程與費用組成
Posted in :
API串接是讓兩個系統依照對方提供的 API 規格自動交換資料,例如官網訂單送進 ERP、會員資料同步到客戶管理系統。企業系統的串接可以照五個步驟規劃:盤點要串的系統與資料、讀懂對方的 API 文件、確認欄位對應與錯誤處理規則、在測試環境開發與驗證,以及上線後監控與異常處理。時程與費用主要取決於串接的系統數量、對方文件與測試環境是否完整,以及錯誤處理要做到什麼程度。
串接前先盤點:系統、資料與以誰為準
API 是系統之間約定好的資料交換介面,基本概念可先看API 是什麼與運作方式。動手前,先把下列事項整理成一張表:
- 要串的系統:官網、電商後台、POS、ERP、客戶管理、物流或發票平台,各由哪家廠商維護、誰是窗口。
- 資料項目:客戶、商品、訂單、庫存、發票,每一種從哪裡產生、要送到哪裡。
- 以誰為準:同一種資料以哪個系統為主檔,其他系統只讀取或只回寫特定欄位,避免兩邊各改各的。
- 同步方向與時機:單向或雙向;事件發生時立即送出、定時整批同步,或由對方以 Webhook 通知。
- 資料量與尖峰:平日與促銷期間的筆數,用來評估會不會碰到對方的頻率限制。
若傳遞的是會員或顧客資料,個資法所稱的「處理」包含連結與內部傳送,建議只傳必要欄位,傳送目的與範圍請以主管機關公告或專業意見為準。
讀懂對方的 API 文件:要找哪些資訊
有些服務以 OpenAPI 規格提供文件,這是描述 HTTP API 的標準格式,人與程式都能據此了解服務提供哪些功能。不論文件格式為何,都要逐項找到以下資訊:
- 驗證方式:使用 API 金鑰、OAuth 權杖或簽章;OAuth 權杖只適用於申請時要求的範圍。
- 端點與欄位:每個功能的路徑、方法、必填欄位、資料格式與長度限制。
- 錯誤回應:各種狀態碼與錯誤訊息的意思,哪些情況可以重試。
- 頻率限制與用量費用:超過限制會收到請求過多的回應;按用量計費的服務,要確認計費方式與預算提醒設定。
- 測試環境:是否提供測試用網址與帳號,測試資料能否重設。
- Webhook:事件通知的格式與來源驗證方式,例如 LINE 的 Messaging API 建議處理前先驗證請求標頭中的簽章。
- 版本異動:API 改版或停用舊版時,對方如何通知。
規格確認:欄位對應、觸發時機與重送規則
讀完文件後,和對方及內部使用單位一起確認串接規格,寫成雙方簽認的文件。核心是一張欄位對應表:
| 我方欄位 | 對方欄位 | 要確認的事 |
|---|---|---|
| 訂單編號 | 外部訂單號 | 保留雙方編號對照,供查詢與對帳 |
| 商品料號 | 品項代碼 | 編碼規則不同時,對照表由誰維護 |
| 訂單狀態 | 處理狀態 | 狀態名稱怎麼對應,退貨與取消算哪一種 |
| 金額與稅別 | 金額欄位 | 是否含稅,折扣與小數怎麼處理 |
錯誤處理也要先約定。HTTP 方法中的 POST 不一定具備冪等性,也就是重複送出可能產生重複資料,例如同一張訂單被建立兩次,因此重送前要先用訂單編號確認對方是否已收到。以 Google Cloud 的文件為例,重試建議採用指數輪詢,逐次拉長等待時間,對象是逾時、請求過多與伺服器錯誤這類與暫時性問題相關的回應;欄位格式錯誤之類的問題,重送也不會成功,要通知負責人處理。
開發與測試:在測試環境跑完各種情境
- 取得測試環境的網址與憑證,約定雙方窗口與回報問題的方式。
- 依規格書開發,金鑰與權杖放在伺服器的設定中,不寫進原始碼或程式碼存放區。
- 準備測試情境:正常流程、必填欄位缺漏、重複送出、對方逾時、權杖過期、超過頻率限制與大量資料。
- 請實際使用單位用真實流程驗收,例如從下單、出貨到開立發票完整走一次。
- 規劃初次資料同步:既有資料先清理、轉換格式,再一次匯入或分批同步。
- 上線前切換為正式環境的金鑰,並依對方提供的選項替金鑰加上使用限制。
上線後的監控與異常處理
- 呼叫紀錄:留存每次請求的時間、對象、結果與錯誤訊息,出問題時才查得到原因。
- 失敗通知:連續失敗或待重送筆數累積時,自動通知負責人。
- 補送機制:失敗的資料進入待處理清單,可查看原因、修正後手動重送。
- 定期對帳:比對兩邊的訂單數、金額或庫存,及早發現漏傳。
- 金鑰維護:定期建立新金鑰、更新程式後刪除舊金鑰;人員異動或廠商結束合作時,停用對方使用的帳號與金鑰。
- 留意對方公告:訂閱對方的開發者公告,API 改版前預留調整時間。
時程與費用怎麼抓
API串接的費用可以拆成下列項目,報價時請對方逐項列出:需求盤點與規格撰寫;依串接對象與功能數量計算的開發,雙向同步的工作量高於單向;測試與跨廠商協調;舊資料轉換與初次同步;呼叫紀錄、待重送清單與通知等管理功能;以及伺服器、第三方服務用量費與對方 API 改版時的調整維護。
時程則看幾個變數:要串幾個系統、對方文件與測試環境是否完整、對方窗口的回覆速度、是否要先申請權限或通過審核,以及舊資料的整理狀況。金流這類服務另有申請與審核程序,可參考金流串接的流程與測試。估時程時,把等待對方回覆與審核的時間獨立列出,排程才不會過於樂觀。
常見問題
「介接」和「串接」意思一樣嗎?
實務上兩者都用來指讓不同系統交換資料,部分政府文件使用「介接」一詞。談需求時,重點在確認要交換哪些資料、方向與頻率,用哪個詞並不影響做法。
API串接一定要找工程師嗎?
平台提供現成外掛或內建整合時,照說明設定即可。若需要欄位轉換、雙向同步、錯誤補送或對帳功能,就需要工程師依文件開發,並安排後續維護。
對方沒有 API 文件可以串嗎?
沒有文件,就難以確認欄位、驗證方式與錯誤處理,風險偏高。可以先請對方提供文件或測試環境;對方無法提供時,評估改用檔案匯出匯入等方式交換資料。
串接會拖慢原本的系統嗎?
可能會,取決於呼叫頻率、資料量與處理方式。大量資料可以安排在離峰時段分批同步,即時性要求不高的作業改用排程處理,並和對方確認頻率限制。
API 金鑰可以直接交給外包廠商嗎?
建議替廠商另外建立專用的金鑰或帳號,只開放必要權限並記錄交付對象,合作結束時停用,不要共用公司內部使用的金鑰。
本文由京采數位科技整理。我們自 2005 年起提供官網設計、系統開發與 Google SEO 服務,實際案例可見成果與案例。
想直接討論你自己的網站狀況,或需要一份初步的搜尋機會評估?
相關主題
下一步
建議先整理要串接的系統、資料項目、同步方向與頻率,並向對方索取 API 文件與測試環境。京采的網頁設計服務可以協助盤點資料流程、評估對方 API 文件、撰寫串接規格,並完成官網、後台與既有系統之間的串接開發與上線監控;想討論你的串接需求,歡迎與我們聯繫。

