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

如何通过REST API获取ServiceNow有近期活动的工单列表?

解决方法

1. 用关联子查询直接过滤有近期活动的工单

ServiceNow的REST API支持在查询参数里嵌套子查询,你可以直接关联工单活动表,只返回有符合日期条件活动的工单,不用二次调用每个工单的活动接口。

构造请求URL如下:

/api/sn_customerservice/{api_version}/case?sysparm_query=sys_idIN(SELECTparentFROMsn_customerservice_case_activityWHEREsys_created_on>={given date})
  • sn_customerservice_case_activity是工单活动对应的后台表名(和你调用的/case/{id}/activities接口对应)
  • sys_created_on取的是活动创建的时间,能准确代表实际活动发生的节点,不会被后台进程的无关更新干扰
  • 这个查询会直接返回所有关联了近期活动的工单,一步到位

2. 优化请求效率

如果返回的数据量太大,可以加上sysparm_fields参数只获取你需要的字段,减少响应体积:

/api/sn_customerservice/{api_version}/case?sysparm_query=sys_idIN(SELECTparentFROMsn_customerservice_case_activityWHEREsys_created_on>={given date})&sysparm_fields=sys_id,short_description,opened_at

如果工单数量上千,建议用分页参数分批拉取,避免超时:

/api/sn_customerservice/{api_version}/case?sysparm_query=sys_idIN(SELECTparentFROMsn_customerservice_case_activityWHEREsys_created_on>={given date})&sysparm_limit=100&sysparm_offset=0

每次递增sysparm_offset的值(比如0→100→200…),直到返回结果为空即可。

注意事项

  • 确保你的个人账号有权限查询sn_customerservice_case_activity表的数据,否则子查询会返回空结果
  • 如果活动表的sys_created_on不是你需要的时间字段,可以换成sys_updated_on,但前者更能体现活动首次发生的时间
  • 测试时先缩小日期范围(比如最近3天),验证返回的工单确实有实际活动,避免大范围查询浪费资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:24:28