批量修改包裹重量
通过此接口,可以跟据处理号或者客单号,批量修改包裹的重量。
此接口虽为批量操作接口,但并不具有原子性。仍需要解析返回结果中每票的操作结果。
请求规格说明
请求方式
PATCH /api/parcels.customerWeights
此接口采用HTTP PATCH请求,HTTP 请求头中仍需要设置 Content-Type
的值为 application/json
。
请求数据格式
名称 | 类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
Operation | string | 必须 | 固定值:Replace | Replace |
Payload | Payload | 必须 | 请求数据 |
名称 | 类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
IdType | string | 必须 | 单号类型 ParcelId: 处理号 ReferenceId: 客单号 |
|
Items | ChangeWeightItem[] | 必须 | 明细集合 |
名称 | 类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
Id | string | 必须 | 单号 | |
Value | ChangeWeightItemValue | 必须 | 包裹重量数据 |
名称 | 类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
WeightInKg | decimal | 必须 | 预报重量(单位:KG) | |
AutoConfirm | bool | 是否在修改完预报重量后自动确认交运,默认为 false 此值设置为true,则无须再次调用确认交运包裹接口 |
示例请求
{
"Operation": "Replace",
"Payload": {
"IdType": "ReferenceId",
"Items": [{
"Id": "REF1606010003",
"Value": {
"WeightInKg": 1.23,
"AutoConfirm": true
}
}, {
"Id": "REF1606010002",
"Value": {
"WeightInKg": 1.02,
"AutoConfirm": true
}
}, {
"Id": "REF1606010001",
"Value": {
"WeightInKg": 1.02,
"AutoConfirm": true
}
}]
}
}
返回数据格式说明
返回数据格式
名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
AllSucceeded | bool | 是否所有包裹的操作均成功 | |
Items | ChangeWeightItemResponse[] | 包裹操作结果明细集合 注意: 此集合不一定按照请求中的顺序返回 |
名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
Request | string | 请求中用的单号 | |
Result | 包裹操作结果 请参考 修改包裹预报重量 中返回数据格式部分解析此值 |
返回数据示例
{
"Data": {
"AllSucceeded": false,
"Items": [
{
"Request": "REF1606010001",
"Result": {
"Data": null,
"Succeeded": false,
"Error": {
"Code": "0x9FF004",
"Message": "单号 'REF1606010001' 不存在"
}
}
},
{
"Request": "REF1606010003",
"Result": {
"Data": {
"Type": "Accepted"
},
"Succeeded": true,
"Error": null
}
},
{
"Request": "REF1606010002",
"Result": {
"Data": {
"Type": "Accepted"
},
"Succeeded": true,
"Error": null
}
}
]
},
"Succeeded": true,
"Error": null
}
其它说明
此接口为虽为批量操作接口,但实际上仍需要逐票处理。我司系统在收到请求后会启用多线程进行处理。
请按照您请求数据量的大小,酌情设置HTTP请求超时时间。