运输单导出/追踪
通过运输单导出/追踪接口,客户系统接入 oTMS 系统,查询 oTMS 运输单信息和状态。
版本号 | 文档 | 说明 |
---|---|---|
0.1 | 当前版本文档 |
oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多20个请求
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多20个请求
目前对该接口的调用限制为每个公司每秒最多20个请求
公共参数
环境 | HTTP请求方法 | HTTPS请求地址 | 请求主体MIME类型 | 响应主体MIME类型 |
---|---|---|---|---|
正式环境 | POST | https://login.otms.cn/ws/jobSheetOutbound | application/xml | application/xml |
沙箱环境 | POST | https://demo.otms.cn/ws/jobSheetOutbound | application/xml | application/xml |
请求参数
字段名 | 位置 | 是否必填 | 描述 | Schema |
---|---|---|---|---|
body | body | 是 | 运单查询请求 | JAXBElementJobSheetOutboundRequest |
Authorization | header | Basic Authorization。如果不为空,则优先使用该值作身份认证。否则使用请求报文中的用户名与密码 | string | |
body | body | 是 | 运输单查询请求。包含用以筛选运输单的查询条件 | JobSheetOutboundRequest |
响应参数
状态码 | 描述 | 响应模型 |
---|---|---|
200 | successful operation | JobSheetOutboundResponse |
AssignedDriver
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
driverName | string | 否 | 司机姓名 | |
realName | string | 否 | 司机真实姓名 | |
mobile | string | 否 | 司机手机号码 | |
idCard | string | 否 | 司机身份证号码 | |
truckPlate | string | 否 | 车牌号 | |
truckDeviceNumber | string | 否 | 车载设备号 | |
truckLength | number | 否 | 车长(单位:米) | |
mtCapacity | number | 否 | 车辆核载重量(单位:吨) | |
cbmCapacity | number | 否 | 车辆核载体积(单位:立方米) |
CustomFieldsInfo
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
customText1 | string | 否 | 自定义文本字段1 | |
customText2 | string | 否 | 自定义文本字段2 | |
customText3 | string | 否 | 自定义文本字段3 | |
customText4 | string | 否 | 自定义文本字段4 | |
customText5 | string | 否 | 自定义文本字段5 | |
customText6 | string | 否 | 自定义文本字段6 | |
customText7 | string | 否 | 自定义文本字段7 | |
customText8 | string | 否 | 自定义文本字段8 | |
customText9 | string | 否 | 自定义文本字段9 | |
customText10 | string | 否 | 自定义文本字段10 | |
customText11 | string | 否 | 自定义文本字段11 | |
customText12 | string | 否 | 自定义文本字段12 | |
customText13 | string | 否 | 自定义文本字段13 | |
customText14 | string | 否 | 自定义文本字段14 | |
customText15 | string | 否 | 自定义文本字段15 | |
customText16 | string | 否 | 自定义文本字段16 | |
customText17 | string | 否 | 自定义文本字段17 | |
customText18 | string | 否 | 自定义文本字段18 | |
customText19 | string | 否 | 自定义文本字段19 | |
customText20 | string | 否 | 自定义文本字段20 | |
customText21 | string | 否 | 自定义文本字段21 | |
customText22 | string | 否 | 自定义文本字段22 | |
customText23 | string | 否 | 自定义文本字段23 | |
customText24 | string | 否 | 自定义文本字段24 | |
customText25 | string | 否 | 自定义文本字段25 | |
customText26 | string | 否 | 自定义文本字段26 | |
customText27 | string | 否 | 自定义文本字段27 | |
customText28 | string | 否 | 自定义文本字段28 | |
customText29 | string | 否 | 自定义文本字段29 | |
customText30 | string | 否 | 自定义文本字段30 | |
customText31 | string | 否 | 自定义文本字段31 | |
customText32 | string | 否 | 自定义文本字段32 | |
customText33 | string | 否 | 自定义文本字段33 | |
customText34 | string | 否 | 自定义文本字段34 | |
customText35 | string | 否 | 自定义文本字段35 | |
customText36 | string | 否 | 自定义文本字段36 | |
customText37 | string | 否 | 自定义文本字段37 | |
customText38 | string | 否 | 自定义文本字段38 | |
customText39 | string | 否 | 自定义文本字段39 | |
customText40 | string | 否 | 自定义文本字段40 | |
customText41 | string | 否 | 自定义文本字段41 | |
customText42 | string | 否 | 自定义文本字段42 | |
customText43 | string | 否 | 自定义文本字段43 | |
customText44 | string | 否 | 自定义文本字段44 | |
customText45 | string | 否 | 自定义文本字段45 | |
customText46 | string | 否 | 自定义文本字段46 | |
customText47 | string | 否 | 自定义文本字段47 | |
customText48 | string | 否 | 自定义文本字段48 | |
customText49 | string | 否 | 自定义文本字段49 | |
customText50 | string | 否 | 自定义文本字段50 | |
customText51 | string | 否 | 自定义文本字段51 | |
customText52 | string | 否 | 自定义文本字段52 | |
customText53 | string | 否 | 自定义文本字段53 | |
customText54 | string | 否 | 自定义文本字段54 | |
customText55 | string | 否 | 自定义文本字段55 | |
customText56 | string | 否 | 自定义文本字段56 | |
customText57 | string | 否 | 自定义文本字段57 | |
customText58 | string | 否 | 自定义文本字段58 | |
customText59 | string | 否 | 自定义文本字段59 | |
customText60 | string | 否 | 自定义文本字段60 | |
customText61 | string | 否 | 自定义文本字段61 | |
customText62 | string | 否 | 自定义文本字段62 | |
customText63 | string | 否 | 自定义文本字段63 | |
customText64 | string | 否 | 自定义文本字段64 | |
customText65 | string | 否 | 自定义文本字段65 | |
customText66 | string | 否 | 自定义文本字段66 | |
customText67 | string | 否 | 自定义文本字段67 | |
customText68 | string | 否 | 自定义文本字段68 | |
customText69 | string | 否 | 自定义文本字段69 | |
customText70 | string | 否 | 自定义文本字段70 | |
customText71 | string | 否 | 自定义文本字段71 | |
customText72 | string | 否 | 自定义文本字段72 | |
customText73 | string | 否 | 自定义文本字段73 | |
customText74 | string | 否 | 自定义文本字段74 | |
customText75 | string | 否 | 自定义文本字段75 | |
customText76 | string | 否 | 自定义文本字段76 | |
customText77 | string | 否 | 自定义文本字段77 | |
customText78 | string | 否 | 自定义文本字段78 | |
customText79 | string | 否 | 自定义文本字段79 | |
customText80 | string | 否 | 自定义文本字段80 | |
customNum1 | number | 否 | 自定义小数字段1 -- 精确到18位数、6位小数 | |
customNum2 | number | 否 | 自定义小数字段2 -- 精确到18位数、6位小数 | |
customNum3 | number | 否 | 自定义小数字段3 -- 精确到18位数、6位小数 | |
customNum4 | number | 否 | 自定义小数字段4 -- 精确到18位数、6位小数 | |
customNum5 | number | 否 | 自定义小数字段5 -- 精确到18位数、6位小数 | |
customNum6 | number | 否 | 自定义小数字段6 -- 精确到18位数、6位小数 | |
customNum7 | number | 否 | 自定义小数字段7 -- 精确到18位数、6位小数 | |
customNum8 | number | 否 | 自定义小数字段8 -- 精确到18位数、6位小数 | |
customNum9 | number | 否 | 自定义小数字段9 -- 精确到18位数、6位小数 | |
customNum10 | number | 否 | 自定义小数字段10 -- 精确到18位数、6位小数 | |
customEnum1 | string | 否 | 自定义字段中定义并激活的枚举变量1的逻辑名 | |
customEnum2 | string | 否 | 自定义字段中定义并激活的枚举变量2的逻辑名 | |
customEnum3 | string | 否 | 自定义字段中定义并激活的枚举变量3的逻辑名 | |
customEnum4 | string | 否 | 自定义字段中定义并激活的枚举变量4的逻辑名 | |
customEnum5 | string | 否 | 自定义字段中定义并激活的枚举变量5的逻辑名 | |
customEnum6 | string | 否 | 自定义字段中定义并激活的枚举变量6的逻辑名 | |
customEnum7 | string | 否 | 自定义字段中定义并激活的枚举变量7的逻辑名 | |
customEnum8 | string | 否 | 自定义字段中定义并激活的枚举变量8的逻辑名 | |
customEnum9 | string | 否 | 自定义字段中定义并激活的枚举变量9的逻辑名 | |
customEnum10 | string | 否 | 自定义字段中定义并激活的枚举变量10的逻辑名 | |
customEnum1Zh | string | 否 | 自定义字段中定义并激活的枚举变量1的中文名 | |
customEnum2Zh | string | 否 | 自定义字段中定义并激活的枚举变量2的中文名 | |
customEnum3Zh | string | 否 | 自定义字段中定义并激活的枚举变量3的中文名 | |
customEnum4Zh | string | 否 | 自定义字段中定义并激活的枚举变量4的中文名 | |
customEnum5Zh | string | 否 | 自定义字段中定义并激活的枚举变量5的中文名 | |
customEnum6Zh | string | 否 | 自定义字段中定义并激活的枚举变量6的中文名 | |
customEnum7Zh | string | 否 | 自定义字段中定义并激活的枚举变量7的中文名 | |
customEnum8Zh | string | 否 | 自定义字段中定义并激活的枚举变量8的中文名 | |
customEnum9Zh | string | 否 | 自定义字段中定义并激活的枚举变量9的中文名 | |
customEnum10Zh | string | 否 | 自定义字段中定义并激活的枚举变量10的中文名 | |
customEnum1En | string | 否 | 自定义字段中定义并激活的枚举变量1的英文名 | |
customEnum2En | string | 否 | 自定义字段中定义并激活的枚举变量2的英文名 | |
customEnum3En | string | 否 | 自定义字段中定义并激活的枚举变量3的英文名 | |
customEnum4En | string | 否 | 自定义字段中定义并激活的枚举变量4的英文名 | |
customEnum5En | string | 否 | 自定义字段中定义并激活的枚举变量5的英文名 | |
customEnum6En | string | 否 | 自定义字段中定义并激活的枚举变量6的英文名 | |
customEnum7En | string | 否 | 自定义字段中定义并激活的枚举变量7的英文名 | |
customEnum8En | string | 否 | 自定义字段中定义并激活的枚举变量8的英文名 | |
customEnum9En | string | 否 | 自定义字段中定义并激活的枚举变量9的英文名 | |
customEnum10En | string | 否 | 自定义字段中定义并激活的枚举变量10的英文名 |
In
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
value | array[string] | 是 | 属性值 |
JAXBElementJobSheetOutboundRequest
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
name | QName | 否 | - | |
value | JobSheetOutboundRequest | 否 | - | |
nil | boolean | 否 | - | |
globalScope | boolean | 否 | - | |
typeSubstituted | boolean | 否 | - |
JobSheetDetail
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
jobSheetNumber | string | 否 | 运单号 | |
externalShipmentId | string | 否 | 外部单号 | |
quantity | integer (int32) | 否 | 总数量 | |
totalVolume | number | 否 | 总体积 | |
totalWeight | number | 否 | 总重量 | |
remark | string | 否 | 备注 | |
transportType | string | 否 | 运输模式, 包括如下常量: FTL - 整车 LTL - 零担 AIR - 空运 EXPRESS - 快递 RAIL - 铁路 WATER - 水运 |
|
cargoType | integer (int32) | 否 | 货物类型,考虑到oTMS用户存在共识的运输单交易的性质。包括如下常量: 1 - 普通货物 2 - 温控货物 3 - 危险品 4 - 危险品和温控货物 |
|
packageType | string | 否 | 包装类型,包括如下常量: A - 散箱,可堆叠,人工装卸货。已有的卡车容量可以被充分利用,运输提供商不需要特别的装货设备 B - 托盘或者木箱,可堆叠,需叉车装卸货。通常卡车利用率高,可以双重叠加托盘,运输提供商需要叉车装卸货 C - 托盘,木箱或不规则形状,不可堆叠,需叉车装卸货。卡车不能被充分利用,建议货物各方根据LDM而不是CBM/MT来协定零担价格 D - 不允许配货,包车运输。这些货主创建的只能整车收费 (根据卡车尺寸付款) 的运单无论大小都是整车装运 E - 保温箱,可堆叠,人工装卸货 |
|
location | string | 否 | 地区 | |
truckType | integer (int32) | 否 | 车辆类型,包括如下常量: 0 - 敞篷车 1 - 厢式车 2 - 任意 3 - 轿运车 4 - 油罐车 5 - 飞翼车 6 - 高栏车 7 - 平板车 8 - 罐车 9 - 冷藏车 |
|
truckLength | number | 否 | 车长(单位:米) | |
mtCapacity | number | 否 | 核载重量(单位:吨) | |
cbmCapacity | number | 否 | 核载体积(单位:立方米) | |
pickupSla | string (date-time) | 否 | 要求的提货日期 | |
deliverySla | string (date-time) | 否 | 要求的送货日期 | |
vendorShortCode | string | 否 | 承运商代码 | |
state | string | 否 | 运单状态,包括如下常量: INBOX - 新建 RELEASED - 释放 DISPATCHED - 分配 ALLOCATING - 预分配 PICKUP - 提货 DELIVERY - 送达 |
|
currentStatus | string | 否 | 运单最新状态,包括如下常量: CREATED - 新建 SHIPMENT_DISPATCHED -已分配 SHIPMENT_RECALLED - 已召回 VENDOR_DISPATCHED - 承运商分配 PARTIAL_PICKUP - 部分提货 PICKED - 全部提货' PARTIAL_DELIVERY - 部分送达' VENDOR_RECALLED - 承运商召回 DELIVERED - 全部送达 ARRIVE_ORIGIN - 到达起始点 |
|
vendorName | string | 否 | 承运商名称 | |
shipFrom | JobSheetLocationInfo | 否 | 发货点信息 | |
shipTo | JobSheetLocationInfo | 否 | 收货点信息 | |
portableDevices | array[PortableDevice] | 否 | 运单的便携式设备,按设备编号排序 | |
assignedDriver | AssignedDriver | 否 | 运单分配的司机 | |
customFields | CustomFieldsInfo | 否 | 自定义字段。这适用于启用并且正确配置了自定义字段的公司。 | |
orders | array[JobSheetOrderInfo] | 否 | 订单 |
JobSheetLocationInfo
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
name | string | 否 | 该收/发货点的公司名 | |
province | string | 否 | 省份名 | |
town | string | 否 | 城市名 | |
county | string | 否 | 区/县名 |
JobSheetOrderBy
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
asc|desc | array[string] | 否 | 元素名可以是"asc"或者"desc",分别表示升序和降序。查询结果的排序方式 () |
JobSheetOrderInfo
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
sequence | integer (int32) | 否 | 顺序号 | |
orderNumber | string | 否 | 订单号 | |
erpNumber | string | 否 | ERP# |
JobSheetOutboundRequest
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
version | string | 否 | 请求的版本号 | |
login | string | 否 | 用户名。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
password | string | 否 | 密码。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
queries | Queries | 否 | 用以筛选订单的查询条件 | |
orderBy | JobSheetOrderBy | 否 | 查询结果的排序方式 | |
start | integer (int32) | 否 | 返回订单的起始索引,最小为1。默认值是1。 | |
count | integer (int32) | 否 | 返回的最大订单数量。默认值是100。 | |
includeOrderInfo | boolean | 否 | 运单订单是否应包含在返回中。默认值是false。 |
JobSheetOutboundResponse
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
jobSheets | JobSheets | 否 | 返回的运单列表 | |
start | integer (int32) | 否 | 返回运单的起始索引 | |
count | integer (int32) | 否 | 实际返回的运单数量 | |
total | integer (int32) | 否 | 该次查询中筛选出的所有运单的数量 |
JobSheetQuery
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
attribute | string | 是 | 查询条件的属性名。可以取下列值: client - 客户在oTMS中的公司代码 vendor - 承运商在oTMS中的公司代码 jobSheetNumber - oTMS订单号 externalShipmentId - ERP单号 |
|
eq | string | 否 | 属性值等于该值 | |
ge | string | 否 | 属性值大于或等于该值 | |
le | string | 否 | 属性值小于或等于该值 | |
in | In | 否 | 属性值包含于该列表中。不支持日期/时间类型的属性 | |
lk | string | 否 | 属性值模糊匹配该值 |
JobSheets
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
jobSheet | array[JobSheetDetail] | 否 | 运单信息 |
PortableDevice
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
portableDevice | string | 否 | 运单的便携式设备 |
QName
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
namespaceURI | string | 否 | - | |
localPart | string | 否 | - | |
prefix | string | 否 | - |
Queries
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
query | array[JobSheetQuery] | 是 | 查询条件。至少须提供一个查询条件,多个查询条件以逻辑‘与’的方式连接。 |
请求示例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jobSheetOutboundRequest version="0.1" login="username" password="password">
<queries>
<query>
<attribute>jobSheetNumber</attribute>
<eq>ssss</eq>
</query>
</queries>
<includeOrderInfo>true</includeOrderInfo>
<orderBy>
<desc>jobSheetNumber</desc>
</orderBy>
<start>1</start>
<count>10</count>
</jobSheetOutboundRequest>
响应示例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jobSheetOutboundResponse>
<jobSheets>
<jobSheet>
<jobSheetNumber>222</jobSheetNumber>
<quantity>3</quantity>
<totalVolume>448.065000</totalVolume>
<totalWeight>5115.000</totalWeight>
<transportType>LTL</transportType>
<cargoType>1</cargoType>
<packageType>A</packageType>
<truckType>2</truckType>
<pickupSla>2017-01-09T00:00:00.000</pickupSla>
<deliverySla>2017-01-09T00:00:00.000</deliverySla>
<state>DISPATCHED</state>
<vendorName>33</vendorName>
<shipFrom>
<province>上海市</province>
<town>上海市</town>
</shipFrom>
<shipTo>
<province>上海市</province>
<town>上海市</town>
</shipTo>
<portableDevices>
<portableDevice>123123123</portableDevice>
</portableDevices>
<portableDevices>
<portableDevice>105d1</portableDevice>
</portableDevices>
<assignedDriver/>
<orders>
<sequence>1</sequence>
<orderNumber>33</orderNumber>
</orders>
<orders>
<sequence>-1</sequence>
<orderNumber>44</orderNumber>
</orders>
<orders>
<sequence>-1</sequence>
<orderNumber>55</orderNumber>
</orders>
</jobSheet>
</jobSheets>
<start>1</start>
<count>1</count>
<total>1</total>
</jobSheetOutboundResponse>