订单交接创建
通过订单交接创建接口,可以将外部系统如ERP系统、WMS系统的批量订单打包为一个交接订单,作为一个整体方便后续提送货操作。
版本号 | 文档 | 说明 |
---|---|---|
0.1 | 当前版本文档 |
oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多20个请求
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多20个请求
目前对该接口的调用限制为每个公司每秒最多20个请求
公共参数
环境 | HTTP请求方法 | HTTPS请求地址 | 请求主体MIME类型 | 响应主体MIME类型 |
---|---|---|---|---|
正式环境 | PUT | https://login.otms.cn/ws/handoverCreate | application/xml | application/xml |
沙箱环境 | PUT | https://demo.otms.cn/ws/handoverCreate | application/xml | application/xml |
请求参数
字段名 | 位置 | 是否必填 | 描述 | Schema |
---|---|---|---|---|
body | body | 是 | 订单交接创建 | HandoverCreateRequest |
Authorization | header | Basic Authorization。如果不为空,则优先使用该值作身份认证。否则使用请求报文中的用户名与密码 | string |
响应参数
状态码 | 描述 | 响应模型 |
---|---|---|
200 | successful operation | HandoverCreateResponse |
HandoverCreateRequest
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
version | string | 否 | 请求的版本号 | |
login | string | 否 | 用户名。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
password | string | 否 | 密码。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
handoverOrders | array[HandoverOrderRequestEntry] | 否 | 订单列表 |
HandoverCreateResponse
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
version | string | 是 | 响应版本号 | |
responseCode | string | 否 | 全局的反馈代码 | |
handoverCode | string | 否 | 生成的二维码内容 | |
failedOrders | array[HandoverOrderResponseEntry] | 否 | - |
HandoverOrderRequestEntry
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
sequence | integer (int32) | 否 | 序列数 | |
clientCode | string | 否 | oTMS线下客户公司代码 (承运商帐户适用) | |
erpNumber | string | 否 | 外部系统的唯一的订单号 | |
orderNumber | string | 否 | oTMS订单号。如果已提供erpNumber,oTMS订单号视为无效。 |
HandoverOrderResponseEntry
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
sequence | integer (int32) | 否 | 序列数 | |
erpNumber | string | 否 | Erp单号 | |
orderNumber | string | 否 | oTMS订单号 | |
status | string | 否 | 处理状态: | |
responseCodes | array[ResponseCode] | 否 | 响应代码列表,创建订单交接失败原因说明,可能为空 |
ResponseCode
字段名 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
code | string | 否 | 返回码 |
请求示例
通过oTMS订单号来生成交接码:
<handoverCreateRequest login="username" version="0.1" password="mypassword">
<handoverOrders>
<order sequence="1">
<orderNumber>SH00105091852</orderNumber>
</order>
<order sequence="2">
<orderNumber>SH00105091836</orderNumber>
</order>
<order sequence="3">
<orderNumber>SH00105091835</orderNumber>
</order>
</handoverOrders>
</handoverCreateRequest>
通过ERP单号来生成交接码:
<handoverCreateRequest login="username" version="0.1" password="password">
<handoverOrders>
<order sequence="1">
<erpNumber>es001</erpNumber>
<clientCode>SH00105</clientCode>
</order>
<order sequence="2">
<erpNumber>es002</erpNumber>
<clientCode>SH00105</clientCode>
</order>
<order sequence="3">
<erpNumber>es003</erpNumber>
<clientCode>SH00105</clientCode>
</order>
</handoverOrders>
</handoverCreateRequest>
响应示例
<handoverCreateResponse version="0.1">
<responseCode>200</responseCode>
<handoverCode>QIWOB75IOMFMU67JJMFZ5JDX</handoverCode>
<orders>
<order sequence="1">
<orderNumber>SH00105091852</orderNumber>
<status>SUCCEED</status>
<responseCodes/>
</order>
<order sequence="2">
<orderNumber>SH00105091836</orderNumber>
<status>SUCCEED</status>
<responseCodes/>
</order>
</orders>
</handoverCreateResponse>
全局反馈代码
反馈代码 | 说明 |
0 | 身份验证失败。 |
1 | 版本不正确。 |
2 | 请求内容超出最大限制 |
3 | 错误的请求 |
单个请求反馈代码
反馈代码 | 说明 |
999 | 创建批量订单交接码失败 |
1000 | 未找到client code所对应的公司 |
1109 | 未找到对应的订单。 |
1127 | 拆分的订单不支持创建交接码 |
1128 | 一单多车的订单不支持创建交接码 |
1129 | 订单的当前节点不支持创建交接码 |
1112 | 匹配到多个订单 |
1113 | 请求中缺少client code |
1134 | 订单交接功能未启用 |
1100 | 其他错误 |