2. 创建订单
2.1 请求参数
请求 URL
参数列表
参数名 | 类型 | 是否必填 | 说明 | 示例 |
---|---|---|---|---|
appid | String | 是 | 合作伙伴 AppId | 对接时,由 EM 生成并提供 |
timestamp | String | 是 | 当前时间戳 | |
sign | String | 是 | 接口签名 | 如何计算生成见示例代码 |
request_data | Object | 是 | 接口请求 json 数据 | 订单及明细相关信息 |
-request_data 参数列表 | 说明 | 示例 | ||
warehouseid | int | 是 | 出货仓库 ID,从接口[仓库列表]中获取 | 22 |
transportway | int | 否 | 运输方式, 1 绿羽配送 2 专用物流 3 用户自提 4 使用快递 5 其它 (默认为 5) | 5 |
logisticscompanyid | int | 条件 | transportway 为 2 或 4 时,为必传值,其它情况下传不传值 (transportway=2 时: 6=德邦物流,7=天天物流,9=同润物流,10=安能物流,11=货拉拉 transportway=4 时: 5=圆通快递,8=申通快递) |
0 |
receivername | String | 是 | 收货人 | hanson |
mobile | String | 是 | 收货人手机 | 18817834074 |
provincename | String | 是 | 收货地址-省名字 | 上海,北京,江苏省 |
cityname | String | 是 | 收货地址-城市名称 | 上海市,北京市,苏州市 |
distrctname | String | 是 | 收货地址-区名字 | 浦东新区, |
address | String | 是 | 收货地址-详细地址,比如 XX 路 XX 号等 | 商城路 738 号 |
deliverydate | String | 是 | 送货日期 | 2024-09-23 |
remark | String | 否 | 物流备注 | |
traderemark | String | 否 | 订单备注 | |
logisticscontact | String | 否 | 物流联系人 | |
logisticscarnumber | String | 否 | 车牌号 | |
logisticsmobile | String | 否 | 物流联系人手机号 | |
items | jsonArray | 是 | 订单明细 json 数组 | [{“outerpcode”:”ERP_1113004”,”mainmeasunitqty”:”10”,”remark”:”接口导入订单”}] |
– outerpcode | String | 是 | ERP 编码,用于与 EM 系统中的产品匹配 | |
– mainmeasunitqty | int | 是 | 数量 | |
–remark | String | 否 | 订单明细备注 |
request_data 请求数据示例:
{
"warehouseid": "5",
"provincename": "上海",
"cityname": "上海市",
"distrctname": "嘉定区",
"address": "商城路123123",
"receivername": "hanson",
"mobile": "18817834074",
"transportway": "2",
"logisticscompanyid": "10",
"deliverydate": "2024-09-28",
"traderemark": "订单备注",
"logisticscontact": "hanson-w",
"logisticsmobile": "18817834074",
"logisticscarnumber": "沪A888888",
"remark": "物流备注123",
"items": [
{
"outerpcode": "ERP_1113005",
"mainmeasunitqty": "1",
"remark": "订单明细备注"
}
]
}
2.2 请求示例代码(Java)
@Test
public void createOrder() throws Exception {
//业务参数
Map<String, String> data = new HashMap<String, String>();
data.put("appid", SystemConfig.testAppKey);
Long timestamp = System.currentTimeMillis() / 1000;
data.put("request_data", requestData); //json格式
data.put("timestamp", timestamp.toString());
data.put("sign", CheeliUtils.Sign(data, SystemConfig.testAppSecret));
// 调用服务API
String response = CheeliUtils.doHttpRequest(SystemConfig.createOrderUrl, data);
System.out.println(response);
}
2.3 返回结果如下:
2.3.1 请求成功
{"statusCode":0,"message":"操作成功","data":"DD202409230002"}
2.3.2 请求失败
{"statusCode":1,"message":"参数logisticscompanyid非法","data":null}
{"statusCode":1002,"message":"地区[浦东新区1]不存在","data":null}
{"statusCode":-10,"message":"产品[ERP_1113005]库存不足","data":null}
说明: statusCode 为 0 表示成功,非 0 为失败,message 会包含失败原因,data 为导入成功的订单号
文档更新时间: 2024-10-14 11:36 作者:hanson