# 订单API
# 1. 预占订单
# 1.1 接口说明:
- 接口由宜信提供,合作方调用。
- 合作方在订单提交时,调订单预占接口,我方校验库存、商品上下架状态、协议价信息等,都无问题后,在商城测创建订单成功,给出反馈
# 1.2 接口地址:
/order/third/submitOrder
# 请求参数:
参数名称 | 类型 | 是否必须 | 说明 | 描述 |
---|---|---|---|---|
uid | String | 是 | 用户UID | 合作方事先在商城注册一个账号 |
channelId | String[50] | 是 | 营销渠道码 | 双方约定好的渠道标识 |
orgOrderId | String[50] | 是 | 外部订单号 | 如该外部订单之前已成功预占过,按照幂等的方式处理 |
orderType | String | 是 | 订单类型 | 0:普通订单 5:虚拟充值订单 |
actualAmount | String | 是 | 实际支付金额 | 单位:元,小数点后两位 |
productInfoList | List | 是 | 商品信息列表 | 类型见productInfo |
addProvinceCode | String[20] | 是 | 商城对应省编码 | 商城地址编码文档由商城侧提供 |
addCityCode | String[20] | 是 | 商城对应市编码 | 商城地址编码文档由商城侧提供 |
addCountyCode | String[20] | 是 | 商城对应县编码 | 商城地址编码文档由商城侧提供 |
addTownCode | String[20] | 否 | 商城对应镇编码 | 商城地址编码文档由商城侧提供 |
receiverName | String[20] | 否 | 收件人姓名 | |
receiverPhone | String[20] | 是 | 收件人手机号 | |
receiverAddress | String[100] | 是 | 收件人详细地址 | |
invoiceType | String | 否 | 发票类型(1普通发票,2电子发票) | |
invoiceTitleType | String | 否 | 发票抬头类型(1个人 2公司) | |
companyName | String[50] | 否 | 发票单位名称 | |
taxpayerNumber | String[50] | 否 | 纳税人识别号 | |
invoiceEmail | String[50] | 否 | 接受电子发票邮箱 | |
notifyUrl | String[255] | 是 | 商城侧通知合作方订单状态变化接口地址 | 合作方接收商城侧订单状态变化通知接口,详细见3'订单状态变化通知接口' |
== productInfo ==
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
sku | String[50] | 是 | 商品sku | |
quantity | String[11] | 是 | 购买sku数量 | |
agreementPrice | String | 是 | 协议单价 |
# 1.3 响应参数:
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
status | String | 是 | 返回状态码 | 1代表成功,其余均为失败,具体参考枚举 |
msg | String | 否 | 提示信息 | |
data | String | 否 | 成功返回商城购物车订单信息,失败返回null | JSON格式,类型见cartOrderInfo |
timestamp | String | 是 | 时间戳 |
== 类型见cartOrderInfo ==
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
cartId | String[24] | 是 | 商城购物车ID | |
orderList | List | 是 | 成功返回商城子订单信息 | 类型见orderDetailInfo |
== 类型见orderDetailInfo ==
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
orderId | String[21] | 是 | 子订单号 | |
sku | String[50] | 是 | sku | |
quantity | String[11] | 是 | 购买sku数量 | 默认是1 |
# 参数和返回值示例
# 成功返回
{
"status": "1",
"msg": "成功状态",
"data": {
"cartId": "C220714173438901238",
"orderList": [
{
"orderId": "2207141734398796311",
"sku": "22022216505863868158c05",
"quantity": "1"
},
{
"orderId": "2207141734398864918",
"sku": "22022216505863868158c05",
"quantity": "1"
},
{
"orderId": "2207141734398870858",
"sku": "220309103457468f19260b8",
"quantity": "1"
}
]
},
"timestamp": 1657791280109
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 失败返回
{
"msg": "参数异常",
"status": "1002",
"data": null,
"timestamp": 1657260977651
}
1
2
3
4
5
6
2
3
4
5
6
# 2. 确认订单
# 2.1 接口说明:
- 接口由宜信提供,合作方调用。
- 合作方在订单提交时,调订单预占接口,我方校验库存、商品上下架状态、协议价信息等,都无问题后,在商城测创建订单成功,给出反馈
# 2.2 接口地址:
/order/third/orderCartPay
# 请求参数:
参数名称 | 类型 | 是否必须 | 说明 | 描述 |
---|---|---|---|---|
uid | String[64] | 是 | 用户UID | 合作方事先在商城注册一个账号 |
cartId | String[24] | 是 | 商城购物车ID | 预占订单返回的购物车ID |
orgOrderId | String[50] | 是 | 外部订单号 | 预占订单请求外部订单号 |
# 1.3 响应参数:
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
status | String | 是 | 返回状态码 | 1代表成功,其余均为失败 |
msg | String | 否 | 提示信息 | |
data | String | 否 | 数据域 | |
timestamp | String | 是 | 时间戳 |
# 3. 订单状态变化通知接口
# 3.1 接口说明:
- 接口由合作方提供,宜信方调用。
- 商城侧监测到有订单状态发生变化时,调订单状态变化通知接口,我方通知合作方订单状态变化,合作方需明确返回通知成功,商城侧才停止通知,否则将会一直调用该接口通知
# 3.2 接口地址:
合作方调用预占订单接口传入通知地址,字段名notifyUrl
# 请求参数:
参数名称 | 类型 | 是否必须 | 说明 | 描述 |
---|---|---|---|---|
cartId | String | 是 | 商城购物车ID | |
orderId | String | 是 | 商城子订单ID | |
orderStatus | String | 是 | 最新订单状态 | |
orderStatusDesc | String[50] | 是 | 订单状态描述 |
# 3.3 响应参数:
http返回body中,用"succ"标识成功,其余为失败
# 请求参数示例
{
"cartId": "C345678",
"orderId": "123456",
"orderStatus": "7",
"orderStatusDesc": "超时取消未支付"
}
1
2
3
4
5
6
2
3
4
5
6
# 4. 取消订单
# 4.1 接口说明:
- 接口由宜信提供,合作方调用。
- 合作方在订单取消时,调此接口给出反馈
# 4.2 接口地址:
/order/third/cancelOrder
# 请求参数:
参数名称 | 类型 | 是否必须 | 说明 | 描述 |
---|---|---|---|---|
uid | String[64] | 是 | 用户UID | 合作方事先在商城注册一个账号 |
cartId | String[24] | 是 | 商城购物车ID | 预占订单返回的购物车ID |
orgOrderId | String[50] | 是 | 外部订单号 | 预占订单请求外部订单号 |
# 4.3 响应参数:
参数名称 | 类型 | 是否必须 | 说明 | 备注 |
---|---|---|---|---|
status | String | 是 | 返回状态码 | 1代表成功,其余均为失败 |
msg | String | 否 | 提示信息 | |
data | String | 否 | 数据域 | |
timestamp | String | 是 | 时间戳 |
# 请求参数示例
{
"cartId": "C345678",
"uid": 123456,
"orgOrderId": "312213"
}
1
2
3
4
5
2
3
4
5