跳轉到主要內容

概觀

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

快速開始

基本查詢



查詢結構

參數


回應結構

TransactionConnection


篩選選項

TransactionFilterInput

篩選欄位詳解

紀錄與狀態篩選

recordId
Type: [UUID]
Description: 依特定交易紀錄 ID 篩選。
Example:
status
Type: [TransactionStatus]
Description: 依交易狀態篩選。
Options:
  • PENDING - 交易處理中
  • SETTLED - 交易已成功完成
Example:

金額篩選

amount, amountGte, amountLte
Type: Float
Description: 以美元計之精確金額或金額區間篩選。
  • amount - 精確金額相符
  • amountGte - 最低金額(大於等於)
  • amountLte - 最高金額(小於等於)
Example:
finalAmount, finalAmountGte, finalAmountLte
Type: Float
Description: 依最終金額(金額+手續費)篩選。
Example:

現金回饋篩選

cashbackAmount, cashbackAmountGte, cashbackAmountLte
Type: Float
Description: 依獲得的現金回饋金額篩選。
Example:
cashbackPercentage, cashbackPercentageGte, cashbackPercentageLte
Type: Float
Description: 依現金回饋百分比篩選。
Example:

手續費篩選

feeAmount, feeAmountGte, feeAmountLte
Type: Float
Description: 依交易手續費金額篩選。
Example:

日期篩選

createdGte, createdLte
Type: DateTime
Format: ISO 8601(例如 2025-01-01T00:00:00Z
Description: 依交易建立時間範圍篩選。
Example:
updatedGte, updatedLte
Type: DateTime
Description: 依交易最後更新時間範圍篩選。

商家篩選

merchantId
Type: [UUID]
Description: 依特定商家 ID 篩選。
Example:
merchant
Type: [String]
Description: 依商家名稱篩選(比對 destination 欄位)。
Example:

交易屬性

transactionType
Type: [String]
Description: 依特定交易類型篩選。
Common Values:
  • Add Money - 存入
  • Gift Card Purchase - 禮品卡購買
  • Transfer - In - 轉入
  • Transfer - Out - 轉出
  • Virtual Card Purchase - 虛擬卡購買
  • Withdrawal

Example:
channel
Type: [String!]
Description: 依平台通道篩選。
Common Values:
  • WEB - 網頁瀏覽器
  • MOBILE - 行動裝置 App
  • API - API 請求
Example:
category
Type: [String]
Description: 依交易分類篩選。
Example:

虛擬卡篩選

virtualCardProgram
Type: [String]
Description: 依虛擬卡方案/發卡方篩選。
Example:
virtualCard
Type: [UUID]
Description: 依特定虛擬卡 ID 篩選。
Example:

其他篩選

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

分頁

OffsetInput

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

Transaction Type

欄位說明

核心交易欄位

金融明細

餘額快照

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

交易明細

商家資訊

虛擬卡資訊

貨幣換算

中繼資料


範例

範例 1:基本交易清單

Query:
Response:

範例 2:依日期範圍篩選

Query:

範例 3:僅購買交易且包含餘額

Query:
Response:

範例 4:高現金回饋交易

Query:

範例 5:金額區間篩選

Query:

範例 6:虛擬卡交易

Query:

範例 7:分頁示例

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

錯誤處理

常見錯誤

缺少或無效的權杖

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 時間戳)

程式碼範例

JavaScript/TypeScript


Python


cURL


常見問題

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

答:每次請求的上限是 20 筆交易。請使用 hasNextPage 欄位實作分頁。

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

答:自帳戶建立以來的所有交易都可無限期取得。

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

答:會,預設包含處理中的交易。若要排除,請以 status: [SETTLED] 進行篩選。

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

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

問:我需要哪些範圍(scopes)?

答:你需要同時具備 LIST_PAYMENTLIST_PURCHASES 兩個範圍。

問:我可以在我的帳戶內依使用者 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 範圍
  • 只提供帳戶層級的交易存取

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