API Docs

REST API 文件

Public REST API endpoint、參數、扣款金額與回應摘要。

REST API 文件

以下 endpoint 由 API catalog 自動渲染。Public API 使用 `x-api-key` header 驗證,並要求 `Idempotency-Key` 防止重送時重複扣款;價格以新台幣顯示。

每個 endpoint 會列出 request 範例、成功 response schema、成功 JSON 範例及各項錯誤 response。`code: 200` 只代表成功 body;錯誤 body 會回對應的 `code` 與 `msg`。

Meta

分類探索與後續查詢前置資料。

meta

主分類清單

取得目前可用的主分類名稱,建議作為所有分類型 API 的第一步。

固定 NT$5 / 次
MethodGET
Path/api/public/meta/categories
Params無
Examplehttps://app.ecpaydata.com.tw/api/public/meta/categories

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/meta/categories" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.categories[]string[]主分類名稱清單。

成功回應範例

{
  "code": 200,
  "data": {
    "categories": [
      "3C周邊",
      "不動產建築",
      "健康保健",
      "內容娛樂"
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

meta

次分類清單

取得指定主分類底下的次分類名稱。

固定 NT$5 / 次
MethodGET
Path/api/public/meta/sub-categories
Paramscategory 選填
Examplehttps://app.ecpaydata.com.tw/api/public/meta/sub-categories?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/meta/sub-categories?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.categorystring實際使用的主分類名稱。
data.subCategories[]string[]次分類名稱清單。

成功回應範例

{
  "code": 200,
  "data": {
    "category": "3C周邊",
    "subCategories": [
      "平板",
      "手機",
      "智慧家庭裝置",
      "相機與攝影設備"
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

Overview

整體交易趨勢、排行、成長率與付款方式。

overview

Overview 排行

取得首頁主分類交易排行,包含金額、筆數、客單與熱門次分類。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/overview/ranking
Params無
Examplehttps://app.ecpaydata.com.tw/api/public/overview/ranking

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/overview/ranking" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.items[].namestring分類或付款方式名稱。
data.items[].total_amountnumber交易金額。
data.items[].trade_countnumber交易筆數。
data.items[].avg_amountnumber平均客單價。
data.items[].producttypenamestring主分類名稱。
data.items[].top_subs[]string[]該主分類熱門次分類。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "overview-ranking",
    "start": "2025-01-01",
    "end": "2025-12-26",
    "items": [
      {
        "producttypename": "金融服務",
        "total_amount": 15854722007,
        "trade_count": 4090836,
        "avg_amount": 3876,
        "top_subs": [
          "支付與金流服務",
          "理財與投資服務",
          "保險相關服務"
        ]
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

overview

Overview 成長率

取得主分類金額與筆數成長率排行。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/overview/growth
Params無
Examplehttps://app.ecpaydata.com.tw/api/public/overview/growth

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/overview/growth" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring固定為 overview-growth。
data.items[].producttypenamestring主分類名稱。
data.items[].current_amountnumber目前區間交易金額。
data.items[].previous_amountnumber前一比較區間交易金額。
data.items[].growth_ratenumber金額成長率。
data.items[].current_countnumber目前區間交易筆數。
data.items[].count_growth_ratenumber筆數成長率。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "overview-growth",
    "start": "2025-01-01",
    "end": "2025-12-26",
    "items": [
      {
        "producttypename": "彩妝保養",
        "current_amount": 3238346622,
        "previous_amount": 2615150862,
        "growth_rate": 23.8,
        "current_count": 357889,
        "previous_count": 359045,
        "count_growth_rate": -0.3
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

overview

Overview 付款方式

取得首頁付款方式分佈。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/overview/payment
Params無
Examplehttps://app.ecpaydata.com.tw/api/public/overview/payment

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/overview/payment" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.items[].namestring付款方式名稱。
data.items[].countnumber交易筆數。
data.items[].percentstring該付款方式佔比。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "overview-payment",
    "start": "2025-01-01",
    "end": "2025-12-26",
    "items": [
      {
        "name": "信用卡",
        "count": 1262379,
        "percent": "66.8%"
      },
      {
        "name": "ATM 虛擬帳號",
        "count": 245834,
        "percent": "13.0%"
      },
      {
        "name": "超商代碼",
        "count": 170524,
        "percent": "9.0%"
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

Market

主分類市場分析資料。

market

Market 次分類排行

取得指定主分類底下的次分類交易排行。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/market/sub-ranking
Paramscategory、start、end 選填
Examplehttps://app.ecpaydata.com.tw/api/public/market/sub-ranking?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養
startno查詢起始日期,格式為 YYYY-MM-DD。2025-07-01
endno查詢結束日期,格式為 YYYY-MM-DD。2025-12-26

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/market/sub-ranking?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.items[].namestring分類或付款方式名稱。
data.items[].total_amountnumber交易金額。
data.items[].trade_countnumber交易筆數。
data.items[].avg_amountnumber平均客單價。
data.categorystring實際使用的主分類名稱。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "market-sub-ranking",
    "category": "3C周邊",
    "start": "2025-07-01",
    "end": "2025-12-26",
    "items": [
      {
        "name": "電腦周邊設備",
        "total_amount": 506720263,
        "trade_count": 120008,
        "avg_amount": 4222
      },
      {
        "name": "手機",
        "total_amount": 221828289,
        "trade_count": 85593,
        "avg_amount": 2592
      },
      {
        "name": "筆電與桌機",
        "total_amount": 78126816,
        "trade_count": 11086,
        "avg_amount": 7047
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

market

Market 付款方式

取得指定主分類的付款方式分佈。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/market/payment
Paramscategory、start、end 選填
Examplehttps://app.ecpaydata.com.tw/api/public/market/payment?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養
startno查詢起始日期,格式為 YYYY-MM-DD。2025-07-01
endno查詢結束日期,格式為 YYYY-MM-DD。2025-12-26

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/market/payment?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.items[].namestring付款方式名稱。
data.items[].countnumber交易筆數。
data.items[].percentstring該付款方式佔比。
data.categorystring實際使用的主分類名稱。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "market-payment",
    "category": "3C周邊",
    "start": "2025-07-01",
    "end": "2025-12-26",
    "items": [
      {
        "name": "信用卡",
        "count": 148428,
        "percent": "63.9%"
      },
      {
        "name": "超商代碼",
        "count": 35188,
        "percent": "15.1%"
      },
      {
        "name": "ATM 虛擬帳號",
        "count": 27895,
        "percent": "12.0%"
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

market

Market 數據焦點

取得指定主分類的人維度與交易焦點指標。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。

NT$5 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/market/focus
Paramscategory、start、end 選填
Examplehttps://app.ecpaydata.com.tw/api/public/market/focus?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養
startno查詢起始日期,格式為 YYYY-MM-DD。2025-07-01
endno查詢結束日期,格式為 YYYY-MM-DD。2025-12-26

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/market/focus?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&start=2025-07-01&end=2025-12-26" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.categorystring主分類名稱。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.focusobject目前區間的人維度與交易焦點指標。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。
data.prevFocusobject|null前一比較區間的人維度與交易焦點指標;若該 endpoint 未提供比較期則為 null。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "market-focus",
    "category": "3C周邊",
    "start": "2025-07-01",
    "end": "2025-12-26",
    "focus": {
      "tradeCount": 232406,
      "totalAmount": 909019948,
      "avgAmount": 3911,
      "merchantCount": 4011,
      "audienceCount": 52589,
      "frequency": 4.42,
      "arpu": 17285
    },
    "prevFocus": {
      "tradeCount": 286402,
      "totalAmount": 947358328,
      "avgAmount": 3308,
      "merchantCount": 3851,
      "audienceCount": 51940,
      "frequency": 5.51,
      "arpu": 18239
    }
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

Sub-market

次市場分析資料。

sub-market

Sub-market 數據焦點

取得指定次分類的人維度與交易焦點指標。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。

NT$10 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/sub-market/focus
Paramscategory、sub、start、end 選填
Examplehttps://app.ecpaydata.com.tw/api/public/sub-market/focus?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&sub=%E7%B2%BE%E8%8F%AF%E6%B6%B2&start=2025-07-01&end=2025-12-26
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養
subno次分類名稱。未提供或無效時會使用系統預設次分類。精華液
startno查詢起始日期,格式為 YYYY-MM-DD。2025-07-01
endno查詢結束日期,格式為 YYYY-MM-DD。2025-12-26

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/sub-market/focus?category=%E7%BE%8E%E5%A6%9D%E4%BF%9D%E9%A4%8A&sub=%E7%B2%BE%E8%8F%AF%E6%B6%B2&start=2025-07-01&end=2025-12-26" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring資料類型識別值。
data.categorystring主分類名稱。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.focusobject目前區間的人維度與交易焦點指標。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。
data.prevFocusobject|null前一比較區間的人維度與交易焦點指標;若該 endpoint 未提供比較期則為 null。其中 tradeCount、totalAmount、avgAmount 為目前查詢區間的全付款方式交易口徑;audienceCount、frequency、arpu 僅統計信用卡、信用卡分期與銀聯且具會員識別的訂單。
data.subCategorystring實際使用的次分類名稱。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "sub-market-focus",
    "category": "3C周邊",
    "subCategory": "平板",
    "start": "2025-07-01",
    "end": "2025-12-26",
    "focus": {
      "tradeCount": 9880,
      "totalAmount": 76501807,
      "avgAmount": 7743,
      "merchantCount": 25,
      "audienceCount": 747,
      "frequency": 13.23,
      "arpu": 102412
    },
    "prevFocus": null
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}

sub-market

Sub-market 常見商品標籤

取得指定次分類在指定期間內有成交商品的常見直覺商品標籤與覆蓋率;標籤可重疊,百分比不一定加總為 100%。

NT$15 起 / 次(依查詢區間計價)
MethodGET
Path/api/public/sub-market/tags
Paramscategory、sub、start、end 選填
Examplehttps://app.ecpaydata.com.tw/api/public/sub-market/tags?category=3C%E5%91%A8%E9%82%8A&sub=%E5%B9%B3%E6%9D%BF&start=2025-07-01&end=2025-12-26
ParamRequiredDescriptionExample
categoryno主分類名稱。未提供或無效時會使用系統預設主分類。美妝保養
subno次分類名稱。未提供或無效時會使用系統預設次分類。精華液
startno查詢起始日期,格式為 YYYY-MM-DD。2025-07-01
endno查詢結束日期,格式為 YYYY-MM-DD。2025-12-26

請求範例

curl -s "https://app.ecpaydata.com.tw/api/public/sub-market/tags?category=3C%E5%91%A8%E9%82%8A&sub=%E5%B9%B3%E6%9D%BF&start=2025-07-01&end=2025-12-26" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID"
回應欄位型別說明
codenumber固定為 200。
data.typestring固定為 sub-market-tags。
data.categorystring實際使用的主分類名稱。
data.subCategorystring實際使用的次分類名稱。
data.startstring回應資料涵蓋的起始日期。
data.endstring回應資料涵蓋的結束日期。
data.items[].keystringTAG 維度名稱,例如 類型、功能。
data.items[].valuestringTAG 值。
data.items[].countnumber指定期間內有成交,且帶有此標籤的商品數。
data.items[].percentnumber指定期間內有成交且具任一標籤商品中的覆蓋率;標籤可重疊,因此不一定加總為 100。

成功回應範例

{
  "code": 200,
  "data": {
    "type": "sub-market-tags",
    "category": "3C周邊",
    "subCategory": "平板",
    "start": "2025-07-01",
    "end": "2025-12-26",
    "items": [
      {
        "key": "保護殼",
        "value": "15.6吋",
        "count": 1280,
        "percent": 15.6
      },
      {
        "key": "作業系統",
        "value": "平板",
        "count": 1140,
        "percent": 14
      }
    ]
  }
}
錯誤回應範例
HTTPMessage意思
400Idempotency-Key header is required付費 API 必須提供唯一的 `Idempotency-Key`,重送相同查詢時沿用同一個 key。
400Invalid Idempotency-Key`Idempotency-Key` 必須為 8 至 128 字元,只能使用英數字、`.`、`_`、`:`、`-`。
401Missing API key未提供 `x-api-key` header。
401Invalid API keyAPI Key 不存在、格式錯誤或已被刪除。
403API key is inactiveAPI Key 已停用。
403API key owner is inactiveAPI Key 所屬帳號已停用。
409Idempotency-Key was already used for a different request同一個 `Idempotency-Key` 已用於不同 path 或 query;請為新查詢產生新 key。
409Request with this Idempotency-Key is still processing相同請求仍在處理中,請稍後使用同一個 key 重查,不要產生新 key。
402Active payment method required會員沒有有效的綁定信用卡,請先至會員中心完成綁定。
402Card payment failed綁定信用卡扣款失敗,本次不會回傳查詢資料;請確認卡片狀態或重新綁定。
402Daily charge limit exceeded已達每位會員每日 NT$500 的 API 扣款上限;台灣時間隔日歸零,待確認交易也會暫占額度。
502Payment status unknown; do not retry immediately綠界付款結果仍待確認,請勿立即重試以免重複扣款,並使用 paymentReference 聯絡客服。
422A valid invoice email is required綁卡時保存的發票 Email 無效;請重新綁卡並填入可收件的 Email。
500Internal server error系統錯誤,請稍後重試或聯絡支援。

HTTP 400

{
  "code": "IDEMPOTENCY_KEY_REQUIRED",
  "msg": "Idempotency-Key header is required"
}

HTTP 400

{
  "code": "INVALID_IDEMPOTENCY_KEY",
  "msg": "Invalid Idempotency-Key",
  "data": {
    "requirement": "8-128 characters: A-Z, a-z, 0-9, dot, underscore, colon or hyphen"
  }
}

HTTP 401

{
  "code": 401,
  "msg": "Missing API key"
}

HTTP 401

{
  "code": 401,
  "msg": "Invalid API key"
}

HTTP 403

{
  "code": 403,
  "msg": "API key is inactive"
}

HTTP 403

{
  "code": 403,
  "msg": "API key owner is inactive"
}

HTTP 409

{
  "code": "IDEMPOTENCY_KEY_REUSED",
  "msg": "Idempotency-Key was already used for a different request"
}

HTTP 409

{
  "code": "IDEMPOTENCY_IN_PROGRESS",
  "msg": "Request with this Idempotency-Key is still processing"
}

HTTP 402

{
  "code": "PAYMENT_METHOD_REQUIRED",
  "msg": "Active payment method required"
}

HTTP 402

{
  "code": "PAYMENT_FAILED",
  "msg": "Card payment failed"
}

HTTP 402

{
  "code": "DAILY_CHARGE_LIMIT_EXCEEDED",
  "msg": "Daily charge limit exceeded",
  "data": {
    "dailyLimit": 500,
    "chargedOrReservedToday": 498,
    "requestedAmount": 4
  }
}

HTTP 502

{
  "code": "PAYMENT_STATUS_UNKNOWN",
  "msg": "Payment status unknown; do not retry immediately",
  "data": {
    "paymentReference": "00000000-0000-0000-0000-000000000000"
  }
}

HTTP 422

{
  "code": "INVOICE_EMAIL_REQUIRED",
  "msg": "A valid invoice email is required"
}

HTTP 500

{
  "code": 500,
  "msg": "Internal server error"
}