Skip to main content

概觀

Transactions API 讓你擷取與你的帳戶相關的完整金融交易歷史。這包含購買、存款、提領、轉帳、帳單支付,以及所有其他金融活動。 端點類型: GraphQL Query
驗證: 必需(JWT Bearer Token)
必要範圍: LIST_PAYMENTLIST_PURCHASES
速率限制: 套用標準 GraphQL 速率限制

快速開始

基本查詢



查詢結構

參數


回應結構

TransactionConnection


篩選選項

TransactionFilterInput

篩選欄位詳細說明

紀錄與狀態篩選

recordId
類型: [UUID]
說明: 依特定交易紀錄 ID 篩選。
範例:
status
類型: [TransactionStatus]
說明: 依交易狀態篩選。
選項:
  • PENDING - 交易處理中
  • SETTLED - 交易已成功完成
範例:

金額篩選

amount, amountGte, amountLte
類型: Float
說明: 依確切金額或金額區間(USD)篩選。
  • amount - 精準金額相符
  • amountGte - 最低金額(大於等於)
  • amountLte - 最高金額(小於等於)
範例:
finalAmount, finalAmountGte, finalAmountLte
類型: Float
說明: 依最終金額(金額 + 手續費)篩選。
範例:

現金回饋篩選

cashbackAmount, cashbackAmountGte, cashbackAmountLte
類型: Float
說明: 依獲得的現金回饋金額篩選。
範例:
cashbackPercentage, cashbackPercentageGte, cashbackPercentageLte
類型: Float
說明: 依現金回饋比率百分比篩選。
範例:

手續費篩選

feeAmount, feeAmountGte, feeAmountLte
類型: Float
說明: 依交易手續費金額篩選。
範例:

日期篩選

createdGte, createdLte
類型: DateTime
格式: ISO 8601(例如:2025-01-01T00:00:00Z
說明: 依交易建立時間區間篩選。
範例:
updatedGte, updatedLte
類型: DateTime
說明: 依交易最後更新時間區間篩選。

商家篩選

merchantId
類型: [UUID]
說明: 依特定商家 ID 篩選。
範例:
merchant
類型: [String]
說明: 依商家名稱篩選(比對 destination 欄位)。
範例:

交易屬性

transactionType
類型: [String]
說明: 依特定交易類型篩選。
常見值:
  • Add Money - 存入資金
  • Gift Card Purchase - 禮品卡購買
  • Transfer - In - 轉入
  • Transfer - Out - 轉出
  • Virtual Card Purchase - 虛擬卡購買
  • Withdrawal

範例:
channel
類型: [String!]
說明: 依平台通道篩選。
常見值:
  • WEB - 網頁瀏覽器
  • MOBILE - 行動應用程式
  • API - API 請求
範例:
category
類型: [String]
說明: 依交易分類篩選。
範例:

虛擬卡篩選

virtualCardProgram
類型: [String]
說明: 依虛擬卡計畫/發卡機構篩選。
範例:
virtualCard
類型: [UUID]
說明: 依特定虛擬卡 ID 篩選。
範例:

其他篩選

fundingSource
類型: [String]
說明: 搜尋資金來源名稱(對來源或目的地做部分比對)。
範例:
referenceId
類型: String
說明: 依外部參考 ID 篩選(例如:購買顯示 ID)。
範例:
liabilityId
類型: UUID
說明: 依負債 ID 篩選(用於帳單支付)。

分頁

OffsetInput

範例 - 第 1 頁:
範例 - 第 2 頁:
範例 - 檢查是否有更多頁:

交易型別

欄位說明

核心交易欄位

金融明細

餘額快照

重要: 所有餘額欄位皆顯示此交易「套用後」的餘額。

交易明細

商家資訊

虛擬卡資訊

貨幣換算

中繼資料


範例

範例 1:基本交易清單

查詢:
回應:

範例 2:依日期區間篩選

查詢:

範例 3:僅購買且含餘額

查詢:
回應:

範例 4:高現金回饋交易

查詢:

範例 5:金額區間篩選

查詢:

範例 6:虛擬卡交易

查詢:

範例 7:分頁示例

查詢 - 取得第一頁並檢查是否有更多:
回應顯示 hasNextPage=true:
查詢 - 取得第二頁:

錯誤處理

常見錯誤

缺少或無效權杖

HTTP 狀態: 401 Unauthorized

權限不足

HTTP 狀態: 403 Forbidden

無效的篩選參數

HTTP 狀態: 400 Bad Request

超出速率限制

HTTP 狀態: 429 Too Many Requests

最佳實務

1. 有效運用分頁

一律檢查 hasNextPage 來判斷是否還有更多結果:

2. 僅請求所需欄位

只指定你需要的欄位以減少回應大小:

3. 查詢歷史資料時使用日期篩選

在查詢較早期的交易時,一律使用日期篩選:

4. 快取已結清的交易

status: SETTLED 的交易為不可變更,適合快取:

5. 高效組合篩選條件

先用範圍條件縮小結果再套用其他篩選:

速率限制

標頭:
  • X-RateLimit-Limit - 允許的最大請求數
  • X-RateLimit-Remaining - 目前視窗剩餘請求數
  • X-RateLimit-Reset - 速率限制重置時間(Unix timestamp)

程式碼範例

JavaScript/TypeScript


Python


cURL


常見問題

問:一次請求最多可擷取多少筆交易?

答:每次請求最多 20 筆。請使用 hasNextPage 來實作分頁。

問:交易歷史可回溯多久?

答:自帳戶建立以來的所有交易會無限期保留可供查詢。

問:包含處理中的交易嗎?

答:是,預設包含。若要排除,請篩選 status: [SETTLED]

問:時間戳的時區是什麼?

答:所有時間戳均為 UTC(ISO 8601 格式)。

問:需要哪些 scope?

答:你需要同時擁有 LIST_PAYMENTLIST_PURCHASES 這兩個 scope。

問:可以在我的帳戶內依 user ID 篩選嗎?

答:不行。API 一律回傳你帳戶內的所有交易,沒有使用者層級的篩選。

問:amountfinalAmount 的差異是什麼?

答:
  • amount 針對基礎交易金額做篩選
  • finalAmount 針對金額加上手續費(向使用者收取的總額)做篩選

問:如何依日期區間篩選?

答:使用 createdGtecreatedLte 設定建立時間區間:

支援


變更日誌

v1.0.0(分支:13-fluz-15659-add-transactions-query-and-webhook-to-api)

  • 初版釋出 Transactions Query API
  • 支援全面性篩選(15+ 種篩選)
  • TransactionConnection 回應型別進行分頁
  • 交易紀錄包含餘額快照
  • 需要 LIST_PAYMENTLIST_PURCHASES scopes
  • 僅提供帳戶層級的交易存取

需要協助嗎?請聯絡我們的開發者支援團隊:api-support@fluz.app,或造訪我們的開發者入口