updateTransactionMetadata mutation 更新。
對於已啟用 ERP 整合且有有效 QuickBooks Online 連線的帳戶,您也可以管理 ERP 交易中繼資料:會計分類、供應商、客戶、可計費狀態,以及 ERP 專用的備註。ERP 中繼資料與註解彼此獨立。
註解支援於:
- 入金(
depositCashBalance) - 禮品卡購買(
purchaseGiftCard) - 錢包轉帳(
createTransfer,transferInternalBalance) - 虛擬卡建立(
createVirtualCard)- 不支援
attachment
- 不支援
- 既有交易(
updateTransactionMetadata.input.erpTransactionMetadata) - 交易批次更新(
bulkUpdateErpTransactionMetadata) - 交易讀取(
Transaction.erpMetadata,erpTransactionMetadata,erpTransactionMetadataList)
運作方式
- 選用:若您要附加檔案,請先透過 REST 上傳端點上傳。您會取得一個
attachmentId。 - 將
memo、transactionCategory,以及/或attachmentId傳入 mutation 的 input 中——可於交易當下或之後透過updateTransactionMetadata傳入。 - 對於 ERP 中繼資料,先查詢已匯入的 QuickBooks Online 參考項目,或傳入應在 QuickBooks Online 解析或建立的名稱。
- 以
updateTransactionMetadata.input.erpTransactionMetadata更新單筆交易的 ERP 中繼資料,或使用bulkUpdateErpTransactionMetadata一次更新最多 100 筆交易。 - 透過
getTransactions、getUserPurchases,或 mutation 回應讀取註解。透過Transaction.erpMetadata、erpTransactionMetadata,或erpTransactionMetadataList讀取 ERP 明細。attachmentUrl欄位會回傳短期有效的簽署 URL 以供存取檔案。
步驟 1:上傳附件(選用)
這是 REST 端點,不是 GraphQL mutation
端點
POST /api/v1/file-upload/transaction-memo-attachment
驗證
Authorization: Bearer <YOUR_USER_ACCESS_TOKEN>
請求
以multipart/form-data 傳送檔案,欄位名稱為 file。
可接受的類型: application/pdf, image/png
⚠️ 交易附件不接受 JPEG。
範例請求
回應
attachmentId——您會在下一步將它傳入 mutation 的 input。
attachmentId 的作用範圍限於您的帳戶。當您提交 mutation 時,系統會驗證該檔案是否存在於您帳戶的儲存空間。來自其他帳戶的 ID 會被拒絕。
上傳錯誤
步驟 2:為交易加上註解
您可以在原始交易時提供註解,或於事後更新。選項 A — 於交易當下
以下 mutations 接受memo、transactionCategory 與 attachmentId 作為 input 中的選填欄位:
depositCashBalance→DepositCashBalanceInputpurchaseGiftCard→PurchaseGiftCardInputcreateTransfer→CreateTransferInputtransferInternalBalance→TransferInternalBalanceInput
註解欄位
範例 — 購買禮品卡並加上註解
選項 B — 交易後(updateTransactionMetadata)
使用此 mutation 為任何既有交易新增或更新註解。
部分更新語意:僅會更新您提供的欄位。省略的欄位保持不變。傳入 null 以清空欄位。
Mutation
UpdateTransactionMetadataInput
必要權限範圍
LIST_PAYMENT 與 LIST_PURCHASES。若包含 erpTransactionMetadata,此請求也需要 MANAGE_ERP_TRANSACTION_METADATA。
範例 — 新增備註與分類
範例 — 為既有交易附加檔案
範例 — 清空備註
範例回應
錯誤
步驟 3:管理 ERP 中繼資料
ERP 中繼資料用於在匯出至已連線的會計服務供應商前,先行為交易分類。目前可用的供應商為 QuickBooks Online。 ERP 中繼資料欄位與註解分開:- 註解的
memo最多 255 個字元。 - ERP 的
erpTransactionMetadata.memo最多 4000 個字元。 - 註解的
transactionCategory是 Fluz 的分類標籤。 - ERP 的
categoryReferenceItemId會指向 QuickBooks Online 的會計科目表項目。
UpdateErpTransactionMetadataInput
當您不想更新 ERP 中繼資料時,請從請求中省略
erpTransactionMetadata。
範例:同時更新註解與 ERP 中繼資料
步驟 4:尋找 ERP 參考項目
使用以下查詢以在設定categoryReferenceItemId、vendorReferenceItemId 或 customerReferenceItemId 前,先尋找已匯入的 QuickBooks Online 參考項目。
參考項目欄位
參考項目篩選器
範例:搜尋會計科目表
範例:搜尋供應商與客戶
步驟 5:讀取 ERP 中繼資料
ERP 中繼資料可從交易物件或透過專用的 ERP 中繼資料查詢取得。在 getTransactions 中讀取 ERP 中繼資料
erpMetadata 會是 null。
讀取單筆交易的 ERP 中繼資料
null,而非錯誤。
列出 ERP 中繼資料紀錄
ERP 中繼資料清單篩選器
ERP 同步狀態
批次更新 ERP 中繼資料
使用bulkUpdateErpTransactionMetadata 可在單一請求中更新最多 100 筆交易的 ERP 中繼資料。
每個項目皆使用相同的 UpdateErpTransactionMetadataInput 欄位。省略的欄位保持不變;可為空的參考欄位、memo 與 isBillable 可傳入 null 以清空。
Mutation
變數
範例回應
failed 中,其他有效的項目仍可成功。
讀取註解
以下項目會回傳註解:
⚠️ attachmentUrl 為簽署 URL。它會在產生後不久到期。請勿儲存——當您需要顯示或存取檔案時,請重新抓取該交易。
常見錯誤
注意事項與限制
recordId為交易查詢回傳的交易紀錄 ID。- 註解更新為部分更新:省略的欄位保持不變,傳入
null會清空。 - ERP 中繼資料更新同樣為部分更新:省略的欄位保持不變,且支援為空的欄位可用
null清空。 - 在
updateTransactionMetadata中,erpTransactionMetadata: null表示不進行任何操作(no-op),而非清空。 - 在
updateTransactionMetadata中,erpTransactionMetadata: {}無效。請改為省略該欄位。 - 若同時提供 ERP 參考 ID 與名稱於同一欄位,會以參考 ID 為準。
categoryName會建立或選擇一個 QuickBooks Online、帳戶類型為Expense的帳戶。vendorName會建立或選擇一個 QuickBooks Online 供應商。customerName會建立或選擇一個 QuickBooks Online 客戶。- GraphQL 分頁使用
OffsetInput,limit預設為 20,且受 API 分頁上限限制。