# OLTS 开放物流轨迹规范
地址：https://wuliutool.com/products/olts
外部链接：https://github.com/open-logistics-tracking/OLTS
一句话：一份开放规范，把 14 家承运商的碎片化轨迹数据归一化

对接物流轨迹是个又脏又累的活：每家承运商的状态码体系都不一样，字段命名、状态粒度、推送格式各成一套。接十家承运商，往往要写十套解析逻辑，还得长期维护各家的接口变更。
OLTS（Open Logistics Tracking Schema）用一份开放规范解决这件事：把国内 10 家 + 国际 4 家承运商共 1761 条原始状态码，归一到 32 个 ULSC（Unified Logistics Status Code）统一状态码。开发者只需理解这一套统一模型，就能消费全网承运商的轨迹数据。
规范配套机器可直接消费的 JSON Schema、OpenAPI 3.1、AsyncAPI 2.6 与 Webhook 定义，并提供 Python 与 TypeScript 两套零依赖参考 SDK，以 Apache 2.0 / CC BY 4.0 协议开源。

## 适用对象
- 需要聚合多家承运商轨迹的电商 / 物流平台开发者
- 做物流可视化、履约监控、异常预警的技术团队
- 希望以统一模型沉淀轨迹数据资产的企业

## 典型场景
- 多承运商轨迹聚合：一次对接 OLTS 统一模型，即可消费 14 家承运商的轨迹，无需为每家单独写解析与映射。
- 履约状态监控：基于 32 个 ULSC 统一码做跨承运商的状态统计、时效分析与异常预警。
- 系统间数据交换：用 JSON Schema / OpenAPI / AsyncAPI 在内部系统与合作方之间传递结构一致的轨迹数据。

## 功能要点
- 14 家承运商映射：覆盖国内 10 家 + 国际 4 家，1761 条原始状态码全部映射到统一模型。
- 32 个 ULSC 统一码：把碎片化状态归一到一套语义清晰、机器可判定的统一状态码。
- 完整接口规范：提供 JSON Schema、OpenAPI 3.1、AsyncAPI 2.6 与 Webhook 定义，机器可直接消费。
- 双语言零依赖 SDK：Python 与 TypeScript 两套参考实现，零运行时依赖，开箱即用。
- 开源开放：代码 Apache 2.0、规范文档 CC BY 4.0，社区可自由使用与共建。

## 常见问题
- Q：OLTS 是产品还是规范？
  A：它是一份开放规范 + 参考 SDK，不是 SaaS 产品。你把它集成进自己的系统来归一化轨迹数据。
- Q：支持哪些承运商？
  A：当前覆盖国内 10 家、国际 4 家共 14 家承运商，状态码持续随社区维护扩展。
- Q：用什么语言可以接入？
  A：官方提供 Python 与 TypeScript 零依赖 SDK，其它语言可直接依据 JSON Schema / OpenAPI 自行实现。
- Q：授权协议是什么？
  A：参考实现代码采用 Apache 2.0，规范文档采用 CC BY 4.0，可商用。
