You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Xero API银行交易端点无法返回全部交易的技术咨询

解决Xero API银行交易端点无法返回关联付款/转账记录的问题

我之前对接Xero API时也遇到过一模一样的问题,折腾了好一阵子才找到根源,下面是几个最常见的排查和解决方向:

1. 检查请求参数是否遗漏关键配置

(1)确保包含所有交易状态

默认情况下,Xero API的BankTransactions端点只会返回AUTHORISED状态的交易。如果你的付款/转账交易是VOIDED或DELETED状态,就会被过滤掉。你需要在请求中显式指定:

GET /api.xro/2.0/BankTransactions?Status=ALL

(2)不要限制交易类型

银行交易的Type字段包含SPEND、RECEIVE、TRANSFER等类型。如果你的请求里加了Where子句过滤了类型(比如Where=Type=="SPEND"),会直接漏掉转账类交易。如果需要获取所有类型,要么去掉类型过滤,要么明确包含所有需要的类型:

GET /api.xro/2.0/BankTransactions?Where=Type=="SPEND" OR Type=="RECEIVE" OR Type=="TRANSFER"

(3)添加关联实体的包含参数

如果你需要在银行交易结果中同时返回关联的付款/转账详细信息(而不仅仅是交易本身),需要加上include参数:

GET /api.xro/2.0/BankTransactions?include=Payments,Transfers

2. 处理API分页机制

Xero API默认每页返回最多100条记录,超出的部分会被分页。如果你的缺失交易在后续页面,就需要通过page参数遍历所有页面,或者使用If-Modified-Since头进行增量获取,避免遗漏:

# 获取第2页数据
GET /api.xro/2.0/BankTransactions?page=2

# 增量获取指定时间后的交易
GET /api.xro/2.0/BankTransactions If-Modified-Since: 2024-01-01T00:00:00Z

3. 验证API权限与账户访问范围

  • 确保你的Xero应用已经申请了banktransactions的读写权限(只读权限可能会限制部分交易的返回)。
  • 检查授权的组织是否包含你要查询的银行账户,有些时候跨账户的转账可能需要确保两个账户都在授权范围内。

4. 检查交易是否真的属于银行交易范畴

有些付款记录可能直接关联到发票,而没有生成对应的银行交易(比如纯内部的发票付款)。这种情况下,你需要单独调用Payments端点来获取这类记录:

GET /api.xro/2.0/Payments

如果以上方法都试过还是有问题,建议用Xero的开发者控制台直接测试请求,对比返回结果和Xero后台的交易记录,更容易定位具体哪些交易缺失,进而排查参数或权限问题。

内容的提问来源于stack exchange,提问作者wizzardmr42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:30:07