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工具