USPS Package Track API未返回TrackSummary子元素,如何获取规范响应?
USPS Package Track API 响应格式与文档不符的问题及解决办法
问题详情
官方文档示例中,<TrackSummary>节点包含<EventDate>、<EventTime>等结构化子元素,但实际调用API时,该节点仅返回纯文本内容,无对应子节点,导致无法直接提取事件日期信息。
复现场景
- Python代码调用API时可复现该问题
- 使用Lob的USPS Postman工作空间调用同样存在此问题
待确认疑问
目前在官方文档中未找到能触发规范响应格式的请求参数,想确认是否存在获取结构化<TrackSummary>响应的方法;若没有,只能退而求其次用正则提取日期,但优先希望找到合规方案。
解决方案
临时处理方案
通过正则表达式匹配文本中的日期片段,结合dateutil库解析成标准日期对象:
from dateutil import parser import re # 示例TrackSummary纯文本内容 track_summary = "Delivered, October 5, 2024, 10:30 AM, NEW YORK NY" # 匹配MMM DD, YYYY格式的日期 date_pattern = r'(\w+ \d+, \d+)' match_result = re.search(date_pattern, track_summary) if match_result: date_str = match_result.group(1) parsed_date = parser.parse(date_str) print(f"提取到的日期:{parsed_date.date()}")
长期迁移方案
计划切换至Package Tracking "Fields" API,该API的响应结构设计更规范,支持直接提取日期、时间等结构化字段,避免纯文本解析的不稳定问题。
内容的提问来源于stack exchange,提问作者Nathan Smeltzer
相关产品推荐
相关产品推荐

