概觀
Transactions API 讓你擷取與你的帳戶相關的完整金融交易歷史。這包含購買、存款、提領、轉帳、帳單支付,以及所有其他金融活動。 端點類型: GraphQL Query驗證: 必需(JWT Bearer Token)
必要範圍:
LIST_PAYMENT 與 LIST_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 頁:
交易型別
欄位說明
核心交易欄位
金融明細
餘額快照
重要: 所有餘額欄位皆顯示此交易「套用後」的餘額。交易明細
商家資訊
虛擬卡資訊
貨幣換算
中繼資料
範例
範例 1:基本交易清單
查詢:範例 2:依日期區間篩選
查詢:範例 3:僅購買且含餘額
查詢:範例 4:高現金回饋交易
查詢:範例 5:金額區間篩選
查詢:範例 6:虛擬卡交易
查詢:範例 7:分頁示例
查詢 - 取得第一頁並檢查是否有更多:錯誤處理
常見錯誤
缺少或無效權杖
權限不足
無效的篩選參數
超出速率限制
最佳實務
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_PAYMENT 與 LIST_PURCHASES 這兩個 scope。
問:可以在我的帳戶內依 user ID 篩選嗎?
答:不行。API 一律回傳你帳戶內的所有交易,沒有使用者層級的篩選。問:amount 與 finalAmount 的差異是什麼?
答:
amount針對基礎交易金額做篩選finalAmount針對金額加上手續費(向使用者收取的總額)做篩選
問:如何依日期區間篩選?
答:使用createdGte 與 createdLte 設定建立時間區間:
支援
- API 狀態: https://status.fluz.app
- 開發者入口: https://developers.fluz.app
- 支援信箱: api-support@fluz.app
- Slack 社群: https://fluz-dev.slack.com
變更日誌
v1.0.0(分支:13-fluz-15659-add-transactions-query-and-webhook-to-api)
- 初版釋出 Transactions Query API
- 支援全面性篩選(15+ 種篩選)
- 以
TransactionConnection回應型別進行分頁 - 交易紀錄包含餘額快照
- 需要
LIST_PAYMENT與LIST_PURCHASESscopes - 僅提供帳戶層級的交易存取
需要協助嗎?請聯絡我們的開發者支援團隊:api-support@fluz.app,或造訪我們的開發者入口。