# 批量码作废
#### **接口用途**
- 多码批量作废时,调用此接口
#### **接口说明**
- 一次可以多码作废,一次最多20个码。
#### **action**
- `BatchCodeUpdate`
**请求参数,CHANNEL===>[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
requestId | String | 是 | 请求流水号 | 32个字符,用于标识唯一一笔交易 |
codeArray | List | 是 | 码号数组 | |
saleChannelId | Long | 否 | 取码方id | |
saleChannelOrderId | String | 否 | 取码方制码订单号 | 当codeArray无值时取该订单号下所有串码进行作废。当订单号有值时取码方id必填 |
callBackUrl | String | 是 | 激活成功后的回调地址 | |
updateShopNo | String(10) | 否 | 激活门店号 | |
updateOrg | String(10) | 否 | 激活机构 | |
optTag | String(2) | 是 | 操作分类 | B1:批量作废 |
**请求报文举例**
```
{
"requestId":"20181019112535100000000000000001",
"codeArray": ["10215523190570712621"],
"callBackUrl": "http://test.com/api/codeVoid",
"optTag": "B1",
}
```
**同步返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateData](https://book.e-buy.com/books/e-buy-40/page/598b3 "statusUpdateData")> | 是 | 批量码作废初步校验返回 |
**同步返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "操作成功",
"data": {
"requestId": "10000000000000000000002",
"tradeNo": "10000000000000000000002",
"codeNum": 1
}
}
```
**回调返回参数,[WHALE](https://book.e-buy.com/books/e-buy-40/page/7f100 "易百电子凭证4.0系统的别称")===>CHANNEL**
字段 | 类型 | 是否必填 | 字段意义 | 备注 |
---|
returnCode | String | 是 | 请求返回码 | |
returnMsg | String | 是 | 请求返回信息 | |
data | Object<[statusUpdateCallbackData](https://book.e-buy.com/books/e-buy-40/page/15438 "statusUpdateCallbackData")> | 否 | 码状态更新返回数据 |
**回调返回报文举例**
```
{
"returnCode": "00",
"returnMsg": "SUCCESS",
"data": {
"tradeNo": "9e22d9a9e532435db77bccdfd8a74ee5",
"requestId": "20181019112535100000000000000008",
"totalCodeNum": 1,
"successCodeNum": 1,
"codeArray": [{
"codeId": "1212431432",
"searchCode": "100***1234",
"codeSecret": "100213321414112234",
...
}],
}
}
```