运输单导出/追踪
通过运输单导出/追踪接口,客户系统接入 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>
