跳轉到
e首發票 e首發票 官方導入指南

API 概覽

本頁做什麼:幫開發與整合人員快速建立心智模型—對外服務叫什麼、資料怎麼傳、權威契約去哪裡查、常用功能落在哪些路徑—並指出下一步文件,減少誤接過時範例或錯端點的排查時間。

技術事實(先記這三點)

  • 服務名稱:Product.EInvoice.WebApi(對外服務 API)。
  • 傳輸:HTTPS,內容為 JSON,編碼 UTF-8
  • 欄位、路徑、錯誤語意 請以本頁下方連結之 線上 Swagger 為準;本頁不逐欄複製 Schema,以免與釋出版本漂移。

和另一頁怎麼分工:需要上線前檢核、流程與角色導覽 → 請看 API 串接總覽。需要端點分組、環境與契約來源 → 留在本頁,並搭配 Swagger 使用。


契約來源:Swagger 與 OpenAPI 靜態檔

層級 來源 用途
執行期契約(整合時唯一依據) 線上 SwaggerSwagger UI/swagger/docs/v1 上線前驗收、Try it out、與實際釋出版本一致的欄位與路徑
OpenAPI 靜態檔(參考用) einvoice-api-openapi.yamlAPI 說明與開發注意事項 離線查閱、申請流程與情境說明;若與 Swagger 不一致,以 Swagger 為準

文件與 Swagger 不一致時

若本頁或靜態 OpenAPI 檔與 線上 Swagger 內容不一致,一律以線上 Swagger 為準。請向技術窗口確認釋出版本,並依官方流程更新文件。


官方文件(必讀)

項目 說明
Swagger UI(互動文件) Product.EInvoice.WebApi - 對外服務 API
OpenAPI/Swagger JSON(v1,Stage) https://jpe-sl-einvoice-erpapi-stage.azurewebsites.net/swagger/docs/v1
API 名稱 Product.EInvoice.WebApi - 對外服務 API
版本 v1

請以 Swagger 為準

若您看到的範例路徑、認證方式或 Webhook 描述與 Swagger 不符,請以 Swagger 為準,避免誤接錯誤端點。


環境與 Base URL

環境 說明
Stage(Swagger 根網址) https://jpe-sl-einvoice-erpapi-stage.azurewebsites.net — 用於對照 Swagger UI 與測試契約
測試/正式 實際 Base URL、路徑前綴(例如是否含 /terpapi 等)與 金鑰,以 API 開通同意書/服務商交付文件/合約 為準

串接前須完成 API 開通 並取得金鑰;申請流程與同意書以 聯絡我們 或官網最新公告為準。技術細節亦可參考 API 說明與開發注意事項


主要 API 路徑(依 Swagger 分組)

以下方法均為 POST;完整參數與 Schema 請於 Swagger UI 展開各端點查閱。

Append(新增/匯入)

路徑 摘要
/Append/Order 新增單筆訂單轉發票(訂單版)
/Append/Orders 批次新增多筆訂單轉發票
/Append/Invoice 新增已開立發票資料
/Append/Invoices 批次新增已開立發票資料(發票版常見)
/Append/PrintInvoices 傳入訂單開立發票並加入雲端列印
/Append/BlankCancel 作廢空白發票
/Append/TrackBlank 新增空白發票號
/Append/InvoiceWithCancel 新增發票並作廢

Inquire(查詢)

路徑 摘要
/Inquire/GetInvoiceIDList 查詢發票號碼清單
/Inquire/GetInvoicesStatus 批次查詢發票處理狀態
/Inquire/GetInvoicesAppendStatus 批次查詢發票新增狀態

Update(更新/作廢/折讓/列印)

路徑 摘要
/Update/Invoices 批次更新發票資料
/Update/SetBlankInvoiceID 上傳空白發票號碼資料
/Update/SplitInvoiceID 設定發票號碼分割規則(Swagger 註記可能為功能開發中,請以當期規格為準)
/Update/CancelInvoices 批次作廢發票
/Update/AllowanceInvoices 批次新增發票折讓單
/Update/AllowanceInvoice 新增發票折讓單
/Update/CancelAllowances 批次作廢折讓單
/Update/CancelAllowance 作廢折讓單
/Update/RePrint 發票重新列印
/Update/SecPrint 發票補列印

主動通知(Webhook)

Swagger v1 未宣告由平台主動呼叫客戶 URL 的 Webhook 端點。若需掌握狀態更新,請以 Inquire 類 API 主動查詢,或依 API 開通文件/合約約定之通知機制(若有)為準。


請求體結構(概念)

多數 Append/Update 端點使用 InvoiceModel(或陣列)包裝,Swagger 中 required 通常包含:

  • CompanyID:公司識別
  • Timestamp:時間序(Unix 時間戳概念;勿重複使用同一時間戳提交多筆)
  • SignatureSHA256 簽章(依 TimestampHash Salt/加密 KEY 計算;演算法步驟見 Swagger 內欄位說明)
  • Data:發票主檔與明細(實際欄位請以 Swagger definitions 為準)

並請依 Swagger securityDefinitions 設定 Header apiKey


串接原則(合規與營運)

  • 合規優先:欄位、稅別、開立時點、上傳期限等須符合電子發票作業規範。
  • 營運不中斷:逾時、失敗、重試、重複送出需有 SOP;開立失敗訊息務必處理,避免漏開。
  • 可追溯可稽核:建議保存 StatusCodeResultMessage(或回應內同等欄位)、請求時間、訂單編號/發票號碼與重試紀錄。

工程細節與情境對照(發票版/訂單版)可併讀 systemlead-einvoice 之 docs/tech/API說明與開發注意事項.md


Rate Limit(速率限制)

每分鐘/每日上限 並未於公開 Swagger 中統一宣告;實際配額與節流行為以 合約、開通文件或服務商公告 為準。若收到 HTTP 429,應搭配退避(backoff)與狀態查詢,避免猛送造成重複開立風險。


SDK 與範例程式碼

社群或歷史文件可能出現範例 SDK 連結;實作前請以 Swagger 契約校對,版本與驗證方式不一致時以 官方 Swagger 為準。


相關文件