# 2001 购物（实体物流）服务动态

## content_json 定义

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| cur_status | 是 | int32 | 当前状态id |  |
| wxa_path_query | 是 | string | 卡片点击跳转路径与query |  |
| product_count | 参考状态要求 | uint32 | 商品数量 |  |
| product_list | 参考状态要求 | object | 商品信息 |  |
| send_time | 参考状态要求 | uint32 | 预计全部发货时间 | 秒级时间戳，展示为MM/DD格式 |

**product_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| info_list | 是 | array<object> | 商品信息 |  |

**info_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| product_img | 是 | string | 商品图片 |  |
| product_name | 是 | string | 商品名称 |  |
| product_path_query | 是 | string | 商品路径与query |  |
| count | 否 | uint32 | 单品数量，默认为1 |  |
| single_price | 否 | uint32 | 商品单价 | 单位为分 |

## cur_status 传入状态 id 的含义，与不同状态 id 下的字段要求

| id | 激活时是否可为此状态 | 可变更自上一状态* | 状态描述 | 此状态下必填字段 | 此状态下选填字段 | content_json示例 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 1 | 是 | 7 | 用户已支付 | product_count
product_list
wxa_path_query |  | `"{\"cur_status\":1,\"product_count\": 1,\"product_list\":{\"info_list\":[{\"product_img\":\"https://res.wx.qq.com/op_res/DiSd8fVjXuHr5K9U73oRr74fMqnT5r9_GmI3mbfLOn2RpC_aENIPjYPPhPN_YnNKnUhyuAy8yLqNRAlh_JCsWQ\",\"product_name\":\"阿白\",\"product_path_query\":\"pages/index/index\"}]},\"wxa_path_query\":\"pages/index/index\"}"` |
| 2 | 是 | 1, 7 | 待发货 | product_count
product_list
wxa_path_query | send_time | `"{\"cur_status\":2,\"product_count\": 1,\"product_list\":{\"info_list\":[{\"product_img\":\"https://res.wx.qq.com/op_res/DiSd8fVjXuHr5K9U73oRr74fMqnT5r9_GmI3mbfLOn2RpC_aENIPjYPPhPN_YnNKnUhyuAy8yLqNRAlh_JCsWQ\",\"product_name\":\"阿白\",\"product_path_query\":\"pages/index/index\"}]},\"send_time\": 1696157643,\"wxa_path_query\":\"pages/index/index\"}"` |
| 3 | 否 | 1, 2, 3, 7 | 部分发货 | wxa_path_query | send_time | `"{\"cur_status\":3,\"send_time\": 1696157643,\"wxa_path_query\":\"pages/index/index\"}"` |
| 4 | 否 | 1, 2, 3, 7 | 已发货 | wxa_path_query |  | `"{\"cur_status\":4,\"wxa_path_query\":\"pages/index/index\"}"` |
| 5 | 否 | 3, 4, 7 | 已重新发货 | wxa_path_query |  | `"{\"cur_status\":5,\"wxa_path_query\":\"pages/index/index\"}"` |
| 6 | 否 | 4, 5, 7 | 已签收 | wxa_path_query |  | `"{\"cur_status\":6,\"wxa_path_query\":\"pages/index/index\"}"` |
| 7 | 否 | 1, 2, 3, 4, 5, 6 | 售后中 | wxa_path_query |  | `"{\"cur_status\":7,\"wxa_path_query\":\"pages/index/index\"}"` |
| 8 | 否 | 1, 2, 3, 4, 5, 6, 7 | 交易成功 | wxa_path_query |  | `"{\"cur_status\":8,\"wxa_path_query\":\"pages/index/index\"}"` |
| 9 | 否 | 7 | 售后已结束 | wxa_path_query |  | `"{\"cur_status\":9,\"wxa_path_query\":\"pages/index/index\"}"` |
| 10 | 否 | 1, 2, 7 | 订单已取消 | wxa_path_query |  | `"{\"cur_status\":10,\"wxa_path_query\":\"pages/index/index\"}"` |
| 11 | 否 | 7 | 售后单已关闭 | wxa_path_query |  | `"{\"cur_status\":11,\"wxa_path_query\":\"pages/index/index\"}"` |

**「可变更自上一状态」说明**

1. 此列中的数字表示当前状态只能由这些状态变更（激活时无此要求）
2. 需要注意的是当前状态变更为当前状态，也要求状态id在此列中：如当前为状态为1，只有当1也在此列中，才允许下一次更新时状态传入1
3. 在此列中不存在的状态id，意为结束态，后续不再可更新服务状态

## ext_json 定义

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| shipping_list | 是 | array<object> | 物流信息 |  |
| store_info | 否 | object | 门店信息 |  |
| product_additional_list | 是 | object | 商品附加信息，与product_list排序一一对应 | |

**shipping_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| tracking_no | 是 | string | 物流单号 | 字符字节限制: [1, 128] |
| express_company | 是 | string | 快递公司ID，参见[获取快递公司列表](/miniprogram/dev/server/API/express/express-by-business/api_getalldelivery.md)  | 字符字节限制: [1, 128] |
| item_list | 否 | array<uint32> | 物流包含商品编号列表 | 商品编号为product_list中的商品顺序，从0开始，示例值：[0, 1, 4] |
| contact | 否 | object | 联系方式 | **当发货的物流公司为顺丰时，联系方式为必填，收件人或寄件人联系方式二选一** |

**contact 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| consignor_contact | 否 | string | 寄件人联系方式，寄件人联系方式 | 采用掩码传输，最后4位数字不能打掩码，示例值: 189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008 |
| receiver_contact | 否 | string | 收件人联系方式，收件人联系方式 | 采用掩码传输，最后4位数字不能打掩码，示例值: 189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008 |

**store_info 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| store_name | 是 | string | 门店名称 |  |
| province | 是 | string | 所在省份/地区 |  |
| city | 是 | string | 所在城市 |  |
| county | 是 | string | 所在区/县 |  |
| store_address | 否 | string | 详细地址 |  |
| store_id | 否 | uint64 | 门店快送id |  如果已接入「[门店快送](https://docs.qq.com/doc/DSFpKY0drdEF3Q3BK)」，以上门店相关信息字段无需传入，可直接传“门店id（store_id）”，如果所有字段都传入，我们优先用门店快送的门店信息。 |

**product_additional_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| info_list | 是 | array<object> | 商品附加信息 |  |

**info_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| unit_price | 是 | uint32 | 商品单价 | 单位为分 |
| number | 是 | uint32 | 商品数量 |  |
