Banno transactions接口startDate(since)参数失效返回超期交易问题
Banno平台transactions接口since时间过滤参数失效问题
问题现象
调用Banno平台交易查询接口时,query中传入的since(对应startDate)过滤规则未生效,接口会返回超出指定时间范围、早于传入时间6个月以上的历史交易数据,不符合参数过滤预期。
复现请求
GET /a/consumer/api/v0/users/XXXXXXXXXXX/accounts/XXXXXXXXXXX/transactions?since=2022-06-12&until=2022-06-29 HTTP/1.1 Content-Type: application/json Authorization: Bearer **MASKED**
实际异常表现
传入查询时间范围为2022-06-12 至 2022-06-29时,接口实际返回了最早为2021-11-01的交易数据,未按传入的since参数做结果截断。
排查方向
- 参数格式校验:Banno交易接口的
since/until参数要求传入带时区的ISO 8601格式时间戳(参考值:2022-06-12T00:00:00Z),传入纯YYYY-MM-DD格式日期字符串会被判定为无效参数,接口不会抛出显性参数错误,会直接触发默认返回逻辑,拉取账户最长可查询周期内的全量交易数据。 - 分页参数校验:该接口所有查询场景强制依赖分页参数(
pageSize/分页游标参数),未传分页参数时,部分线上版本的接口实现会跳过所有过滤规则,直接返回账户下第一页全量交易数据,补全分页参数后即可重新验证过滤逻辑有效性。 - 查询窗口规则校验:Banno消费者端接口默认的交易历史查询窗口为18个月,若传入的
since时间早于当前账户允许查询的最早时间节点,接口会自动忽略传入的时间参数,从可查询的最早日期开始返回数据。 - 权限范围校验:若当前调用使用的Bearer Token未被授予自定义时间范围交易查询权限,接口会强制覆盖传入的时间参数,返回权限允许范围内的所有交易数据,不会返回参数类错误提示。
内容的提问来源于stack exchange,提问作者Tejaswini K
相关产品推荐
相关产品推荐

