订单导入
通过订单导入接口,可以将不同外部系统如ERP系统、WMS系统的大量订单进行批量的导入。单次导入最大订单数为100。
| 版本号 | 文档 | 说明 |
|---|---|---|
| 0.1 | 当前版本文档 |
oTMS同时在生产环境和测试环境中提供Web Service接口,其中测试环境用于集成测试。两种环境下都需要由oTMS系统管理员分配API帐号密码后方可使用。
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多40个请求
注意: 请合理地调用公共接口。如果发现存在异常调用或者对我们系统性能造成影响等情况,会对API账号的调用进行限制,甚至停用。
目前对该接口的调用限制为每个公司每秒最多40个请求
目前对该接口的调用限制为每个公司每秒最多40个请求
公共参数
| 环境 | HTTP请求方法 | HTTPS请求地址 | 请求主体MIME类型 | 响应主体MIME类型 |
|---|---|---|---|---|
| 正式环境 | PUT | https://login.otms.cn/ws/orderImport | application/xml | application/xml |
| 沙箱环境 | PUT | https://demo.otms.cn/ws/orderImport | application/xml | application/xml |
请求参数
| 字段名 | 位置 | 是否必填 | 描述 | Schema |
|---|---|---|---|---|
| body | body | 是 | 订单导入请求 | OrderImportRequest |
| Authorization | header | Basic Authorization。如果不为空,则优先使用该值作身份认证。否则使用请求报文中的用户名与密码 | string |
响应参数
| 状态码 | 描述 | 响应模型 |
|---|---|---|
| 200 | successful operation | OrderImportResponse |
ImportedCargoDescription
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| productCode | string | 否 | 货物/产品的代码 | |
| productName | string | 否 | 货物/产品的名称 | |
| unitType | string | 否 | 货物/产品的数量单位,包括如下常量: 1 - 托盘 2 - 箱 3 - 袋 4 - 件 5 - 个 6 - 盒 7 - BAG 8 - BC 9 - BK 10 - BT 11 - BX 12 - CA 13 - CUP 14 - EA 15 - FEN 16 - PC 17 - RMB 18 - ROL 19 - SET 20 - SHOP 21 - TA 22 - TK 23 - ZA 24 - ZH 25 - CS 26 - LBS 27 - 把 28 - 包 29 - 杯 30 - 本 31 - 次 32 - 对 33 - 份 34 - 幅 35 - 副 36 - 个-G 37 - 罐 38 - 卷 39 - 块 40 - 片 41 - 瓶 42 - 束 43 - 台 44 - 套 45 - 条 46 - 桶 47 - 页 48 - 张 49 - 支 50 - 只 |
|
| stackable | string | 否 | 已定义的货物/产品的堆叠限制,包括如下常量: 1 - 不可堆叠 2 - 2层 3 - 3层 4 - 4层 5 - 5层 6 - 6层 7 - 7层 8 - 8层 |
|
| cargoCategory | string | 否 | 产品类别 | |
| unitLength | number | 否 | 单位长度,单位为米,不能为负数 | |
| unitWidth | number | 否 | 单位宽度,单位为米,不能为负数 | |
| unitHeight | number | 否 | 单位高度,单位为米,不能为负数 | |
| unitWeight | number | 否 | 单位重量,单位为公斤,不能为负数 | |
| unitInsurance | number | 否 | 单位投保价值。不能为负数 |
ImportedCargoDetails
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| totalQuantity | integer (int32) | 否 | 所有运输单位的数量,不能为负数 | |
| totalWeight | number | 否 | 所有运输货物的总重量,单位为公斤,不能为负数 | |
| totalVolume | number | 否 | 所有运输货物的总体积,单位为立方米,不能为负数 | |
| totalInsurance | number | 否 | 所有运输货物的总投保价值,不能为负数 | |
| cargoType | integer (int32) | 否 | 货物类型,考虑到oTMS用户存在共识的运输订单交易的性质。包括如下常量: 1 - 普通货物 2 - 温控货物 3 - 危险品 4 - 危险品和温控货物 |
|
| packageType | string | 否 | 包装类型,oTMS根据运输用途将货物外包装分为4种,考虑到oTMS用户存在共识的运输订单交易的性质,如果订单包括不同的包装类型请用最高的那个。包括如下常量: A - 散箱,可堆叠,人工装卸货。已有的卡车容量可以被充分利用,运输提供商不需要特别的装货设备 B - 托盘或者木箱,可堆叠,需叉车装卸货。通常卡车利用率高,可以双重叠加托盘,运输提供商需要叉车装卸货 C - 托盘,木箱或不规则形状,不可堆叠,需叉车装卸货。卡车不能被充分利用,建议货物各方根据LDM而不是CBM/MT来协定零担价格 D - 不允许配货,包车运输。这些货主创建的只能整车收费 (根据卡车尺寸付款) 的订单无论大小都是整车装运 E - 保温箱,可堆叠,人工装卸货 |
ImportedContactPerson
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| name | string | 否 | 联系人的姓名 | |
| phone | string | 否 | 固定电话。固定电话与手机号码二者必须填一个。正则表达式: \d{6,10}(-[0-9]{1,5})? | |
| phoneAreaCode | string | 否 | 区号。若固定电话不为空,则必填。正则表达式: \d{1,4} | |
| mobile | string | 否 | 手机号码。固定电话与手机号码二者必须填一个。正则表达式: \d{11} | |
| string | 否 | 邮箱,必须是符合网络标准的有效邮箱 |
ImportedContainer
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| containerType | string | 否 | 箱型要求 | |
| containerSize | number | 否 | 尺寸要求 |
ImportedCustomFields
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| 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的逻辑名 |
ImportedLocation
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| companyName | string | 否 | 地区名称 | |
| postcode | string | 否 | 完整的中国邮政编码,精确到6个字符 | |
| province | string | 否 | 中文省份名称 | |
| town | string | 否 | 中文城市名称 | |
| county | string | 否 | 中文区县名称 | |
| address | string | 否 | 地址 | |
| loading | boolean | 否 | 发货点中的装货标志,收货点中的卸货标志 | |
| xttSupport | boolean | 否 | 外部订单追踪支持的标志,默认为false | |
| contact | ImportedContactPerson | 否 | 地区的联系人详细资料 | |
| locationRemarks | string | 否 | 发货点/收货点的订单级别的备注 | |
| customFields | ImportedCustomFields | 否 | 自定义字段。这适用于启用并且正确配置了自定义字段的公司。 | |
| notifyRadius | number (double) | 否 | 通知半径 (进圈距离) ,收发货点收到短信通知的范围 | |
| driverOperateRadius | number (double) | 否 | 移动端电子围栏范围 | |
| smsNotificationEnabled | boolean | 否 | 开启短信通知的标志,默认为false | |
| matchingStrategy | string | 否 | zipcode匹配模式,0 - 默认,1 - 精确 | |
| deliveryCode | boolean | 否 | 是否启用收货码 | |
| sendEpodSms | boolean | 否 | 发送EPOD信息 | |
| orderEpodUploadType | string | 否 | 回单类型,包括如下常量: PAPERY_POD - 纸质电子回单 EPOD - 自动生成电子回单 |
|
| autoPickupDeliveryType | integer (int32) | 否 | 自动提货/送货类型,包括如下常量: 0 - 不自动提货/送货 1 - 进入围栏时自动提货/送货 |
|
| discoverCoordinate | boolean | 否 | 是否在导入时通过地址获取经纬度(否则会在分配后获取),默认为否 |
ImportedOrder
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| sequence | integer (int32) | 是 | 序列数 | |
| clientCode | string | 否 | oTMS线下客户公司代码 (承运商帐户适用) | |
| clientReferenceNumber | string | 否 | 调用的系统订单标识符 | |
| importId | string | 否 | - | |
| index | integer (int32) | 否 | - | |
| branch | string | 否 | 地区设置中的地区名称 | |
| erpNumber | string | 否 | 外部系统的唯一的订单号 | |
| orderNumber | string | 否 | oTMS订单号。如果已提供erpNumber,oTMS订单号视为无效。 | |
| orderRemarks | string | 否 | 附加的订单备注。 注:此字段不会在“订单详情”或“订单编辑”中显示。 |
|
| allowUpdate | boolean | 否 | 是否允许更新订单。当标记为 true 时允许更新已存在的订单。默认false。 | |
| policyNumber | string | 否 | 保单号 | |
| shipFrom | ImportedLocation | 否 | 发货点详细信息。这个节点与shipFromExternalId可以二选一。 | |
| shipTo | ImportedLocation | 否 | 收货点详细信息。这个节点与shipToExternalId可以二选一。 | |
| timeSchedule | ImportedTimeSchedule | 是 | 订单中的提货/送货时间限制 | |
| orderLines | array[ImportedOrderLine] | 否 | 货物/产品明细列表,可能会被隐藏 | |
| concealOrderLines | boolean | 否 | 是否需对承运商隐藏货物/产品明细,true隐藏,false显示 | |
| rejectDraft | boolean | 否 | 是否启用严格验证模式。被系统判定内容不完整/不一致的订单,当此设置为true时拒绝订单,false 时订单进入草稿箱 | |
| autoProcessMode | integer (int32) | 否 | 订单后续处理模式,默认为1,仅导入。可选的值: 1 - 仅导入 2 - 导入和释放 3 - 导入、释放和分配给承运商 4 - 导入、释放和分配给卡车 |
|
| dispatchBy | integer (int32) | 否 | 价格文件选择模式,默认为1,价格最低,可选的值: 1 - 价格最低 2 - 运输时间最短。 |
|
| toTruck | ImportedTruck | 否 | 当指定autoProcessMode=4时,待分配订单的卡车信息。 | |
| cargoDetails | ImportedCargoDetails | 是 | 包括订单中的尺寸等货物具体参数 | |
| transportMode | ImportedTransportMode | 是 | 包括订单中的货运信息 | |
| revenue | ImportedRevenue | 否 | 收入。指定订单收入。 | |
| cost | ImportedRevenue | 否 | 成本。当指定autoProcessMode=3时,可填写成本和承运商,订单以指定价格分配给指定承运商;当指定autoProcessMode=4时,可填写成本,订单以指定价格分配给卡车。 | |
| vendorCode | string | 否 | 承运商在oTMS中的公司代码。当指定autoProcessMode=3时,可填写成本和承运商,订单以指定价格分配给指定承运商。 | |
| tempThreshold | ImportedTemperature | 否 | 温度报警阈值。仅适用于货物类型为2 (温控货物) 或4 (危险品和温控货物) 的订单 | |
| portableDevice | ImportedPortableDevice | 否 | 便携式设备 | |
| customFields | ImportedCustomFields | 否 | 自定义字段。这适用于启用并且正确配置了自定义字段的公司。 | |
| requireEpod | boolean | 否 | 要求电子回单。当标记为 true 时必须电子回单,false 时电子回单是可选择的。默认false。 | |
| businessType | string | 否 | 订单类型 | |
| sellingTariffSelection | integer (int32) | 否 | 销售价格文件选择。可选的值: 1 - 价格最低 2 - 运输时间最短 |
|
| deliveryCode | boolean | 否 | 是否启用收货码 | |
| sendEpodSms | boolean | 否 | 给收货人发送EPOD信息 | |
| orderEpodUploadType | string | 否 | 回单类型,包括如下常量: PAPERY_POD - 纸质电子回单 EPOD - 自动生成电子回单 |
|
| ignoreLeadTime | boolean | 否 | 开启后,当导入订单匹配价格文件时,忽略订单与价格文件的运输时效校验。默认false。 | |
| container | ImportedContainer | 否 | 海运订单货柜要求 | |
| transportDistance | number | 否 | 运输距离 | |
| result | LiteOrderImportResultDto | 否 | - | |
| shipFromExternalId | string | 否 | 发货点外部ID,这个节点与shipFrom二选一,定义在 oTMS 基础数据 (针对货主帐户) 或合作伙伴 (针对承运商帐户) 中 | |
| shipToExternalId | string | 否 | 收货点外部ID,这个节点与shipTo二选一,定义在 oTMS 基础数据 (针对货主帐户) 或合作伙伴 (针对承运商帐户) 中 |
ImportedOrderLine
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| cargoDescription | ImportedCargoDescription | 是 | 货物/产品详细描述。这个节点与externalId可以二选一。externalId节点是字符串类型,表示基础数据中预定义的货物/产品 ID | |
| quantity | integer (int32) | 否 | 货物/产品的数量 | |
| weight | number | 否 | 总重量,单位公斤 | |
| volume | number | 否 | 总体积,单位立方米 | |
| insuranceValue | number | 否 | 总投保价值 | |
| remarks | string | 否 | 货物/产品信息的用户备注 | |
| customFields | ImportedCustomFields | 否 | 自定义字段。这适用于启用并且正确配置了自定义字段的公司。 |
ImportedPortableDevice
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| deviceNumbers | string | 否 | 便携式设备号,,如有多个以\";\"分隔" |
ImportedRevenue
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| lineHaul | number | 否 | 基础费率,精确到12位数、2位小数,不能为负数 | |
| baseRateDescription | string | 否 | 运输费用 (干线) 描述 | |
| other | number | 否 | 其他费用,精确到12位数、2位小数,不能为负数 | |
| otherFeesDescription | string | 否 | 其他费用描述 |
ImportedTemperature
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| minTemp | number | 否 | 当温度低于设定值时,系统会报警。单位为摄氏度,取值范围-10000至10000 | |
| maxTemp | number | 否 | 当温度高于设定值时,系统会报警。单位为摄氏度,取值范围-10000至10000 | |
| incubatorNumbers | string | 否 | 温控箱编号,如有多个以";"分隔 | |
| null | boolean | 否 | - |
ImportedTimeSchedule
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| pickupDate | string (date-time) | 否 | 提货日期。仅日期不含时间,中国标准时区。格式为 yyyy-MM-dd | |
| pickupDateRemarks | string | 否 | 关于提货日期/时间的备注 | |
| deliveryDate | string (date-time) | 否 | 送货日期。仅日期不含时间,中国标准时区。格式为 yyyy-MM-dd | |
| deliveryDateRemarks | string | 否 | 关于送货日期/时间的备注 | |
| pickupTimeFrom | string (date-time) | 否 | 提货开始时间。仅时间,中国标准时区。格式为 HH:mm:ss | |
| pickupTimeTo | string (date-time) | 否 | 提货结束时间。仅时间,中国标准时区。格式为 HH:mm:ss | |
| deliveryTimeFrom | string (date-time) | 否 | 送货开始时间。仅时间,中国标准时区。格式为 HH:mm:ss | |
| deliveryTimeTo | string (date-time) | 否 | 送货结束时间。仅时间,中国标准时区。格式为 HH:mm:ss |
ImportedTransportMode
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| transportType | string | 否 | 货物运输类型,包括如下常量: FTL - 整车 LTL - 零担 AIR - 空运 EXPRESS - 快递 RAIL - 铁路 WATER - 水运 |
|
| truckType | string | 否 | 必需的卡车类型,包括如下常量: 0 - 敞篷车 1 - 厢式车 2 - 任意 3 - 轿运车 4 - 油罐车 5 - 飞翼车 6 - 高栏车 7 - 平板车 8 - 罐车 9 - 冷藏车 |
|
| transportRemarks | string | 否 | 运输模式的备注 | |
| loadingMeter | integer (int32) | 否 | 卡车的装载米数 | |
| truckLength | number | 否 | 车长。如果存在,必须从已经定义好的值中选择,按公司分别设置。oTMS定义了全局支持的车长,如果车长不能被oTMS匹配到,会返回错误代码1006。 | |
| truckCbmCapacity | number | 否 | 卡车装载 (立方米) 。如果存在,必须从已经定义好的值中选择,按车长对应装载 (立方米) 。oTMS定义了全局支持的车长和对应的装载 (吨/立方米) ,如果装载 (立方米) 不能被 oTMS 匹配到,会返回错误代码1006。 | |
| truckMtCapacity | number | 否 | 卡车装载 (吨) 。如果存在,必须从已经定义好的值中选择,按车长对应装载 (吨) 。oTMS定义了全局支持的车长和对应的装载 (吨/立方米) ,如果装载 (吨) 不能被oTMS匹配到,会返回错误代码1007。 |
ImportedTruck
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| driver | string | 否 | 司机姓名 | |
| truckPlate | string | 否 | 车牌号 | |
| phone | string | 否 | 司机手机 | |
| null | boolean | 否 | - |
LiteOrderImportResultDto
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| index | integer (int32) | 否 | - | |
| orderImportId | string | 否 | - | |
| orderId | integer (int64) | 否 | - | |
| orderNumber | string | 否 | - | |
| erpNumber | string | 否 | - | |
| status | string | 否 | - | |
| errorCodes | array[string] | 否 | - | |
| errorMsgs | array[string] | 否 | - | |
| errorCodeForDev | array[string] | 否 | - | |
| systemErrorMsg | string | 否 | - | |
| relatedIndexes | array[integer] | 否 | - |
OrderImportRequest
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| version | string | 是 | 请求的版本号。当前版本号为0.1 | |
| login | string | 否 | 用户名。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
| password | string | 否 | 密码。用于 API 调用者身份认证。如果请求头中的Authorization不为空,则该值会被忽略。 | |
| source | string | 否 | - | |
| orders | array[ImportedOrder] | 是 | 待导入的订单列表。一次请求最多可以导入100条订单 |
OrderImportResponse
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| version | string | 是 | 响应版本号 | |
| responseCode | string | 否 | 全局的反馈代码 | |
| processedOrders | string | 否 | 处理的订单数量 | |
| orders | array[OrderResponse] | 否 | 处理的订单列表 |
OrderResponse
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| sequence | integer (int32) | 否 | 序列数 | |
| clientReferenceNumber | string | 否 | 客户查询号,从收到的订单中获取。 注:此字段会显示在“订单详情”或“订单编辑”的“备注”中 |
|
| importStatus | string | 否 | 订单的导入状态,包括如下常量: NOT IMPORTED - 未导入 DRAFT - 草稿 (订单信息不全) INBOX - 已导入 RELEASED - 已释放 DISPATCHED - 已分配 |
|
| responseCodes | array[ResponseCode] | 否 | 订单响应代码列表,导入结果的详细说明,可能为空 | |
| responseCodeParameters | object | 否 | - | |
| orderNumber | string | 否 | 新的oTMS订单号,由系统分配 | |
| erpNumber | string | 否 | 外部系统的唯一的订单号 | |
| errorMsgs | array[string] | 否 | - |
ResponseCode
| 字段名 | 类型 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|
| code | string | 否 | 返回码 |
请求示例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orderImportRequest version="0.1" login="username" password="password">
<orders>
<order sequence="1">
<clientCode>TestClient</clientCode>
<clientReferenceNumber>45989283488</clientReferenceNumber>
<shipFrom>
<companyName>TestCompanyFrom</companyName>
<postcode>204574</postcode>
<address>Hongkong SuperAdres</address>
<loading>false</loading>
<contact>
<name>Jimmis</name>
<phone>3321506</phone>
<phoneAreaCode>22</phoneAreaCode>
<mobile>78456985478</mobile>
<email>test001@testmail.com</email>
</contact>
<locationRemarks>adgrewer</locationRemarks>
</shipFrom>
<shipTo>
<companyName>TestCompanyTo</companyName>
<postcode>320178</postcode>
<address>Bedryko SuperAdres</address>
<loading>true</loading>
<contact/>
<locationRemarks>benrets</locationRemarks>
</shipTo>
<timeSchedule>
<pickupDate>2012-12-23</pickupDate>
<deliveryDate>2012-12-26</deliveryDate>
</timeSchedule>
<orderLines>
<orderLine>
<cargoDescription>
<productCode>CODE</productCode>
<productName>trousers</productName>
<unitType>4</unitType>
<unitLength>1</unitLength>
<unitWidth>2</unitWidth>
<unitHeight>1</unitHeight>
<unitWeight>10</unitWeight>
</cargoDescription>
<quantity>211</quantity>
</orderLine>
<orderLine>
<externalId>SKIRTS</externalId>
<quantity>55</quantity>
<customFields>
<customText1>test brand</customText1>
<customNum1>42.0978</customNum1>
<customEnum2>LARGE_CARTON</customEnum2>
</customFields>
</orderLine>
</orderLines>
<cargoDetails>
<totalQuantity>266</totalQuantity>
<totalWeight>9000</totalWeight>
<totalVolume>23</totalVolume>
<cargoType>1</cargoType>
<packageType>A</packageType>
</cargoDetails>
<transportMode>
<transportType>FTL</transportType>
<truckType>2</truckType>
<transportRemarks>these are remarks</transportRemarks>
<truckLength>4.2</truckLength>
</transportMode>
</order>
<order sequence="2">
<clientCode>TestClient</clientCode>
<clientReferenceNumber>45989283489</clientReferenceNumber>
<erpNumber>989384892089883984</erpNumber>
<shipFrom>
<companyName>TestCompanyFrom</companyName>
<postcode>204574</postcode>
<address>Hongkong SuperAdres</address>
<loading>false</loading>
<contact>
<name>Jimmis</name>
<phone>3321506</phone>
<phoneAreaCode>22</phoneAreaCode>
<mobile>78456985478</mobile>
<email>test001@testmail.com</email>
</contact>
<locationRemarks>adgrewer</locationRemarks>
</shipFrom>
<shipTo>
<companyName>Shanghai Corp</companyName>
<town>上海市</town>
<address>Nankin Road 782</address>
<loading>true</loading>
<contact>
<name>Jimmis</name>
<phone>3321506</phone>
<phoneAreaCode>22</phoneAreaCode>
<mobile>78456985478</mobile>
<email>test002@testmail.com</email>
</contact>
<locationRemarks>benrets</locationRemarks>
</shipTo>
<timeSchedule>
<pickupDate>2012-12-24</pickupDate>
<deliveryDate>2013-01-02</deliveryDate>
</timeSchedule>
<cargoDetails>
<totalWeight>9000</totalWeight>
<totalVolume>24.1</totalVolume>
<cargoType>2</cargoType>
<packageType>C</packageType>
</cargoDetails>
<transportMode>
<transportType>LTL</transportType>
<truckType>1</truckType>
</transportMode>
</order>
<order sequence="3">
<clientCode>TestClient</clientCode>
<clientReferenceNumber>4598928355</clientReferenceNumber>
<shipFromExternalId>TestShipFromExternalId</shipFromExternalId>
<shipToExternalId>TestShipToExternalId</shipToExternalId>
<timeSchedule>
<pickupDate>2012-12-23</pickupDate>
<deliveryDate>2012-12-26</deliveryDate>
</timeSchedule>
<orderLines>
<orderLine>
<cargoDescription>
<productCode>CODE</productCode>
<productName>trousers</productName>
<unitType>4</unitType>
<unitLength>1</unitLength>
<unitWidth>2</unitWidth>
<unitHeight>1</unitHeight>
<unitWeight>10</unitWeight>
</cargoDescription>
<quantity>211</quantity>
</orderLine>
<orderLine>
<externalId>SKIRTS</externalId>
<quantity>55</quantity>
<customFields>
<customText1>test brand</customText1>
<customNum1>42.0978</customNum1>
<customEnum2>LARGE_CARTON</customEnum2>
</customFields>
</orderLine>
</orderLines>
<cargoDetails>
<totalQuantity>266</totalQuantity>
<totalWeight>9000</totalWeight>
<totalVolume>23</totalVolume>
<cargoType>1</cargoType>
<packageType>A</packageType>
</cargoDetails>
<transportMode>
<transportType>FTL</transportType>
<truckType>2</truckType>
<transportRemarks>these are remarks</transportRemarks>
<truckLength>4.2</truckLength>
</transportMode>
</order>
<order sequence="4">
<clientCode>TestClient</clientCode>
<clientReferenceNumber>45989283688</clientReferenceNumber>
<shipFrom>
<companyName>TestCompany</companyName>
<postcode>204574</postcode>
<address>Hongkong SuperAdres</address>
<loading>false</loading>
<contact>
<name>Jimmis</name>
<phone>3321506</phone>
<phoneAreaCode>22</phoneAreaCode>
<mobile>78456985478</mobile>
<email>test001@testmail.com</email>
</contact>
<locationRemarks>adgrewer</locationRemarks>
</shipFrom>
<shipTo>
<companyName>TestCompany</companyName>
<postcode>204574</postcode>
<address>Hongkong SuperAdres</address>
<loading>true</loading>
<contact/>
<locationRemarks>benrets</locationRemarks>
</shipTo>
<timeSchedule>
<pickupDate>2012-12-23</pickupDate>
<deliveryDate>2012-12-26</deliveryDate>
</timeSchedule>
<orderLines>
<orderLine>
<cargoDescription>
<productCode>CODE</productCode>
<productName>trousers</productName>
<unitType>4</unitType>
<unitLength>1</unitLength>
<unitWidth>2</unitWidth>
<unitHeight>1</unitHeight>
<unitWeight>10</unitWeight>
</cargoDescription>
<quantity>211</quantity>
</orderLine>
<orderLine>
<externalId>SKIRTS</externalId>
<quantity>55</quantity>
<customFields>
<customText1>test brand</customText1>
<customNum1>42.0978</customNum1>
<customEnum2>LARGE_CARTON</customEnum2>
</customFields>
</orderLine>
</orderLines>
<cargoDetails>
<totalQuantity>266</totalQuantity>
<totalWeight>9000</totalWeight>
<totalVolume>23</totalVolume>
<cargoType>1</cargoType>
<packageType>A</packageType>
</cargoDetails>
<transportMode>
<transportType>FTL</transportType>
<truckType>2</truckType>
<transportRemarks>these are remarks</transportRemarks>
<truckLength>4.2</truckLength>
</transportMode>
</order>
</orders>
</orderImportRequest>
响应示例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orderImportResponse version="0.1">
<responseCode/>
<processedOrders>2</processedOrders>
<orders>
<order sequence="1">
<clientReferenceNumber>45989283488</clientReferenceNumber>
<importStatus>DRAFT</importStatus>
<responseCodes>
<responseCode>
<code>1018</code>
</responseCode>
<responseCode>
<code>1007</code>
</responseCode>
<responseCode>
<code>1005</code>
</responseCode>
<responseCode>
<code>1014</code>
</responseCode>
</responseCodes>
<orderNumber>001000071</orderNumber>
</order>
<order sequence="2">
<clientReferenceNumber>45989283489</clientReferenceNumber>
<importStatus>NOT IMPORTED</importStatus>
<responseCodes>
<responseCode>
<code>1022</code>
</responseCode>
</responseCodes>
<orderNumber/>
</order>
<order sequence="3">
<clientReferenceNumber>4598928355</clientReferenceNumber>
<importStatus>INBOX</importStatus>
<responseCodes></responseCodes>
<orderNumber/>
</order>
<order sequence="4">
<clientReferenceNumber>45989283688</clientReferenceNumber>
<importStatus>NOT IMPORTED</importStatus>
<responseCodes>
<responseCode>
<code>1120</code>
</responseCode>
</responseCodes>
<orderNumber/>
</order>
</orders>
</orderImportResponse>
全局反馈代码
| 反馈代码 | 说明 |
| 0 | 客户验证失败 |
| 1 | 不支持的请求版本 |
| 2 | 请求中的导入订单过多 |
单个请求反馈代码
| 反馈代码 | 说明 |
| 1000 | 客户代码未找到。 |
| 1001 | 无效的数据类型。 |
| 1002 | 备用。 |
| 1003 | shipFromExternalId发货方外部代码未找到。 |
| 1004 | shipToExternalId收货方外部代码未找到。 |
| 1005 | singleLine/externalId产品明细/货物(产品)外部代码未找到。 |
| 1006 | 缺少transportType运输方式。 |
| 1007 | truckType车辆类型匹配结果不唯一。 |
| 1008 | truckType车辆类型不匹配。 |
| 1009 | 发货方外部代码重复。 |
| 1010 | 收货方外部代码重复。 |
| 1011 | 货物(产品)外部代码重复。 |
| 1012 | 订单未设置价格(仅针对承运商)。 |
| 1013 | 发货方oTMS邮政编码匹配到乡镇。 |
| 1014 | 发货方oTMS邮政编码只与6位邮政编码匹配。 |
| 1015 | 发货方oTMS邮政编码不匹配。 |
| 1016 | 发货方oTMS邮政编码与6位和乡镇的都匹配。 |
| 1017 | 收货方oTMS邮政编码只与乡镇匹配。 |
| 1018 | 收货方邮政编码只与6位邮政编码匹配。 |
| 1019 | 收货方oTMS邮政编码不匹配。 |
| 1020 | 收货方oTMS邮政编码与6位和乡镇匹配。 |
| 1021 | 缺少货物/产品信息。订单明细中至少需提供externalId或cargoDescription之一。 |
| 1022 | ERP单号重复。订单不能导入。 |
| 1023 | 试图更新的订单不是由导入接口导入。更新被拒绝。 |
| 1024 | 试图更新的订单不在收件箱或草稿箱中。更新被拒绝。 |
| 1025 | 没有匹配的价格文件。 |
| 1026 | 匹配了多个价格文件。 |
| 1027 | 订单信息不全无法自动分配。 |
| 1028 | 未提供司机和卡车的信息。 |
| 1029 | 匹配到的卡车不唯一。 |
| 1030 | 自定义字段不能识别——可能公司已经取消了自定义字段。订单不能导入。 |
| 1031 | 未启用自定义字段,将忽略导入订单中的自定义字段。 |
| 1032 | 订单缺少必填的自定义字段。订单不能导入。 |
| 1033 | 未定义的自定义字段枚举值。订单不能导入。 |
| 1034 | 订单明细缺少必填的自定义字段。订单不能导入。 |
| 1035 | 用户地区和试图更新的订单地区不匹配。更新被拒绝。 |
| 1036 | 货物/产品明细列表中有货物/产品的产品类别无效。订单不能导入。 |
| 1037 | 试图更新的订单的货物/产品明细列表中有货物/产品的产品类别不可更新。更新被拒绝。 |
| 1038 | 订单的运输时间和价格文件的运输时间不匹配。 |
| 1040 | 地区不存在。 |
| 1041 | 未提供发货方。 |
| 1042 | 未提供收货方。 |
| 1043 | 分公司未识别,或用户权限不匹配。 |
| 1044 | 拒绝草稿状态订单。rejectDraft为true时,不完整订单将被拒绝而非进入草稿箱。 |
| 1049 | 订单信息不完整,订单信息或货物/产品明细信息无效。 |
| 1052 | 发货方oTMS邮政编码只与乡镇匹配。 |
| 1053 | 收货方oTMS邮政编码只与乡镇匹配。 |
| 1070 | 承运商的状态异常。 |
| 1072 | 试图更新的订单已有货差。更新被拒绝。 |
| 1073 | 试图更新的订单已在账单中。更新被拒绝。 |
| 1080 | 无法匹配到卡车。 |
| 1081 | 匹配到的卡车与订单不匹配。 |
| 1082 | 无法匹配到司机。 |
| 1083 | 匹配到的司机不唯一。 |
| 1084 | 匹配到的卡车已在途,且绑定的司机不匹配。 |
| 1085 | 匹配到的司机已在途,且绑定的卡车不匹配。 |
| 1086 | 试图更新的订单被锁定。更新被拒绝。 |
| 1090 | 试图更新的订单只能被订单所属公司更新。更新被拒绝。 |
| 1091 | 试图更新的订单货物信息有无效信息。更新被拒绝。 |
| 1092 | 承运商代码未找到 |
| 1093 | 运输成本数据无效 |
| 1094 | 货物类型和温度报警阀值不匹配。 |
| 1095 | 温度报警阀值无效。 |
| 1096 | 温控箱编号无效。 |
| 1097 | 包装类型和温控箱编号不匹配。 |
| 1098 | 订单已被按量拆分,无法更新数量、重量、体积和保费 |
| 1100 | 其他错误。 |
| 1116 | 订单导入时,订单总重或总体积不在配置的总重或总体积的正常范围内。 |
| 1117 | 订单更新时,被更新订单的总重或总体积不在配置的总重或总体积的正常范围内。 |
| 1118 | 发货方如果email里需要追踪信息的连接, Email 或者手机号是必填。订单不能导入。 |
| 1119 | 收货方如果email里需要追踪信息的连接, Email 或者手机号是必填。订单不能导入。 |
| 1120 | 收货点和发货点不能重复。 |
| 1141 | 订单行总重量超过订单总重量。 |
| 1142 | 订单行总体积超过订单总体积。 |
| 1143 | 订单行总数量超过订单总数量。 |
| 1146 | 订单行总保费超过订单总保费。 |
| 1150 | 缺少packageType包装类型。 |
| 1151 | 缺少cargoType货物类型。 |
| 1152 | 时间窗信息不完整,请检查提送货时间。 |
| 1160 | 发货方信息不完整。 |
| 1170 | 收货方信息不完整。 |
| 1181 | 缺少truckType车辆类型。 |
| 1182 | 缺少truckLength正确车长。 |
| 1183 | 缺少productName产品名称。 |
| 1200 | 地区branch长度超长。 |
| 1201 | ErpNumber长度超长。 |
| 1202 | 地区名称companyName超长。 |
| 1203 | 邮政编码postcode不规范。 |
| 1204 | 地址address超长。 |
| 1205 | 联系方式不规范。 |
| 1206 | 自定义文本超长。 |
| 1207 | 自定义数字超出范围。 |
| 1208 | 自定义枚举超长。 |
| 1209 | 预计提货日期与当前时间相差超过365天。 |
| 1210 | 预计送达日期与当前时间相差超过365天。 |
| 1211 | 货物/产品的代码productCode超长。 |
| 2000 | 订单正在被更新。 |
