Skip to main content
單一扁平、鍵集合分頁的清單(最新在前)回傳你所連接使用者的交易。每一列都帶有所屬使用者的 externalReferenceIdaccountId沒有每位使用者的上限 — 使用 nextCursor 分頁即可遍歷視窗內所有目標使用者的每筆交易。 若未提供日期篩選,預設為最近 90 天
重大變更。 此查詢先前會回傳 results,每個目標使用者一筆條目,且各自最多含 20 筆交易。現在改為回傳扁平的 transactions 清單並以游標分頁。請參見從每目標回應遷移

Requirements

  • Authorization: Basic <API_KEY>(你的應用程式 API 金鑰)
  • 你的應用程式啟用批次 API 能力
  • 每個目標使用者的授權需具備 LIST_PAYMENTLIST_PURCHASES 範圍
失敗以每個目標為單位回報,不會使整體請求失敗。請參見 Bulk API Overview 以了解目標模型與錯誤代碼。

Query

Variables

Response

Arguments

日期視窗界定資料範圍;limit 則界定單一頁面。視窗最長可跨 365 天。 交易以月份分區儲存,而視窗內的每個分區都會針對每個目標進行掃描,因此視窗越寬,每頁成本越高——並非免費。若需更長期的歷史,請使用匯出功能。

Targeting

targetSpec.mode 可為 SELECTED(在 targets 中列出使用者,使用你連接時的 externalReferenceId)或 ALL_CONNECTED(你的應用程式上所有具有效授權的使用者)。重複的 targets 會被移除。 此查詢最多接受1,000 位目標使用者。若超過,請使用非同步匯出。

Response fields

BulkTransaction

需注意的四個行為:
  • transactionType 是人類可讀的標籤,並非穩定的列舉——其值看起來像 "Account Transfer - In",而非 TRANSFER。請勿在程式碼中以此欄位進行分支;請以 recordId 與金額/正負號處理邏輯,並將此欄位視為顯示用文字。
  • 僅回傳 PENDINGSETTLED 的交易——被拒與其他非基準記錄會被排除,與單一使用者交易介面一致。
  • 排序為全串流的最新在前createdAt 遞減,若同時則以 recordId,再以使用者打破平手)。
  • 共享帳戶上的同一筆交易,對每個可見授權各出現一次——會有兩筆擁有相同 recordId 但不同 externalReferenceId 的歸屬列。
BulkTransaction 是目的明確且精簡的型別。它不是單一使用者交易查詢所回傳的完整 Transaction 型別——以上欄位即為完整集合。若需更豐富的逐筆交易資料,請使用非同步匯出。

BulkTargetFailure

失敗的目標不會使請求失敗。 同時選擇兩種識別碼。 對於你在連接授權時未提供 externalReferenceId 的授權,其值將為 null,因此單獨使用它可能無法識別出哪位使用者失敗。當目標已解析時,accountId 會被填入——這適用於 INSUFFICIENT_SCOPEACCOUNT_NOT_PERMITTED——而僅在 TARGET_NOT_CONNECTEDINVALID_TARGET_IDENTIFIER(無法解析)時為 null。查詢 errors { externalReferenceId accountId code message } 可確保每筆條目至少能由兩者之一識別。

Request-level errors

以上皆為每目標錯誤。以下則會拒絕整體請求,回傳 data.getBulkTransactions: null 並伴隨 GraphQL 錯誤。請以 extensions.code 分支,不要依賴錯誤訊息文字——措辭可能變更,代碼不會。 上述兩個日期錯誤共用代碼——兩者皆表示「你要求的區間不可用」——而 message 會加以區分:
任何被更動過的游標——截斷、重新編碼、手動編輯——在到達資料庫之前就會以 APPLICATIONS-0010 失敗。請將其視為「從第一頁重新開始」,而非可重試的錯誤。

Paging

讀取第一頁,接著沿用 nextCursor,直到 hasMorefalse。除游標外,跨頁請保持其他引數完全相同——游標編碼了該特定查詢排序中的位置。
由於分頁為鍵集合而非位移(offset)基礎,分頁過程中寫入的交易不會讓列跨越頁界或產生重複。

Migrating from the per-target response

When to use the export instead

getBulkTransactions 可以透過分頁走訪完整歷史,因此匯出適用於你不想逐頁讀取的情境——超過 1,000 位使用者、超過一年以上的視窗、排程批次作業,或當你需要超出 BulkTransaction 所載欄位的更豐富逐筆資料。提交 GET_TRANSACTIONS_EXPORTsubmitBulkOperation,輪詢 getBulkOperationJob,並從短效的 resultUrl 下載 NDJSON。請參見 Bulk Operations