oTMS logo 开放平台
Documentation Help

订单交接创建

通过订单交接创建接口,可以将外部系统如ERP系统、WMS系统的批量订单打包为一个交接订单,作为一个整体方便后续提送货操作。

版本号 文档 说明
0.1 当前版本文档

配置说明

oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。

注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。

目前对该接口的调用限制为每个公司每秒最多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其他错误

API工具