Appearance
批量创建采购商
接口说明
批量注册企业(采购商)并加入指定项目
接口地址
POST /api/member/create/batch
请求参数 (data 解密后)
json
{
"transactionId": "TXN20250111001",
"batchRequests": [
{
"memberType": 1,
"certificateType": 1,
"certificateNo": "91110000XXXXXXXXXX",
"certificateName": "某某科技有限公司",
"certificateFront": 123456789,
"bankCode": "102100099996",
"bankName": "中国工商银行北京分行",
"bankCardName": "某某科技有限公司",
"bankCardNo": "6222021234567890123",
"contactName": "张三",
"contactPhone": "13812345678",
"contactAddress": "北京市朝阳区某某街道某某大厦",
"contactPostCode": "100000",
"contactEmail": "contact@example.com",
"authorizerName": "张三",
"authorizerPhone": "13912345678",
"authorizerIdType": 2,
"authorizerIdNo": "110101199001011234",
"authorizerIdStartDate": "2020-01-01",
"authorizerIdEndDate": "2030-12-31",
"authorizerIdFront": 123456790,
"authorizerIdBack": 123456791,
"operators": [
{
"operatorType": 1,
"operatorName": "张三",
"operatorPhone": "13912345678",
"operatorIdCard": "110101199001011234"
}
],
"projectId": 1,
"risExtend": "{}",
"outerBusinessId": "BIZ20250111001"
}
]
}字段说明
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| transactionId | String | 是 | 幂等ID,用于防止重复提交 |
| batchRequests | Array | 是 | 采购商信息列表 |
| batchRequests[].memberType | Integer | 是 | 成员类型:1-企业,2-个体工商户 |
| batchRequests[].certificateType | Integer | 是 | 证件类型:1-营业执照 |
| batchRequests[].certificateNo | String(32) | 是 | 证件号码(社会信用代码/营业执照号) |
| batchRequests[].certificateName | String(100) | 否 | 企业名称 |
| batchRequests[].certificateFront | Long | 是 | 证件附件资源ID(通过文件上传接口获取) |
| batchRequests[].bankCode | String(50) | 否 | 开户行联行号(企业必填,个体工商户可选) |
| batchRequests[].bankName | String(100) | 否 | 开户银行名称(企业必填,个体工商户可选) |
| batchRequests[].bankCardName | String(150) | 否 | 银行开户名(企业必填,个体工商户可选) |
| batchRequests[].bankCardNo | String(32) | 否 | 银行卡号(企业必填,个体工商户可选) |
| batchRequests[].contactName | String(32) | 是 | 收件人 |
| batchRequests[].contactPhone | String(20) | 是 | 收件人联系电话(11位数字) |
| batchRequests[].contactAddress | String(200) | 是 | 地址(长度应在5-200之间) |
| batchRequests[].contactPostCode | String(10) | 否 | 邮编 |
| batchRequests[].contactEmail | String(32) | 否 | 邮箱 |
| batchRequests[].authorizerName | String(50) | 否 | 法人姓名 |
| batchRequests[].authorizerPhone | String(20) | 是 | 法定代表人手机号(11位数字) |
| batchRequests[].authorizerIdType | Integer | 是 | 法人证件类型:2-身份证 |
| batchRequests[].authorizerIdNo | String(20) | 是 | 法定代表人证件号码 |
| batchRequests[].authorizerIdStartDate | String | 是 | 法人证件开始日期(格式:yyyy-MM-dd) |
| batchRequests[].authorizerIdEndDate | String | 是 | 法人证件结束日期(格式:yyyy-MM-dd) |
| batchRequests[].authorizerIdFront | Long | 是 | 法人身份证正面资源ID(通过文件上传接口获取) |
| batchRequests[].authorizerIdBack | Long | 是 | 法人身份证反面资源ID(通过文件上传接口获取) |
| batchRequests[].operators | Array | 是 | 操作员列表(注册时固定传法定代表人信息) |
| batchRequests[].operators[].operatorType | Integer | 是 | 操作员类型:1-法人,2-经办员,3-复核员,4-授权员 |
| batchRequests[].operators[].operatorName | String(50) | 是 | 操作员姓名 |
| batchRequests[].operators[].operatorPhone | String(20) | 是 | 操作员手机号(11位数字) |
| batchRequests[].operators[].operatorIdCard | String(20) | 否 | 操作员身份证号 |
| batchRequests[].projectId | Long | 否 | 项目ID(壹药网项目必传) |
| batchRequests[].risExtend | String | 否 | 风控扩展信息(JSON字符串,可以参考授信项的KEY,以及其他约定信息) |
| batchRequests[].outerBusinessId | String(64) | 是 | 业务流水ID(用于幂等控制,每笔业务唯一) |
枚举值说明
成员类型 (memberType)
| 代码 | 说明 |
|---|---|
| 1 | 企业 |
| 2 | 个体工商户 |
企业证件类型 (certificateType)
| 代码 | 说明 |
|---|---|
| 1 | 营业执照 |
说明:企业/个体工商户的证件类型,目前只支持营业执照
法人证件类型 (authorizerIdType)
| 代码 | 说明 |
|---|---|
| 2 | 身份证 |
| 3 | 护照(预留) |
| 4 | 军官证(预留) |
说明:法定代表人的证件类型,目前只支持身份证
操作员类型 (operatorType)
| 代码 | 说明 |
|---|---|
| 1 | 法人 |
| 2 | 经办员 |
| 3 | 复核员 |
| 4 | 授权员 |
注意:注册时操作员列表固定传法定代表人信息,即 operatorType = 1
响应参数 (data 解密后)
json
{
"batchResponses": [
{
"code": 0,
"message": "创建成功",
"memberId": 1000001,
"certificateNo": "91110000XXXXXXXXXX",
"outerBusinessId": "BIZ20250111001"
}
]
}响应字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| batchResponses | Array | 批量创建响应列表 |
| batchResponses[].code | Integer | 响应码:0-成功,非0-失败 |
| batchResponses[].message | String | 结果信息 |
| batchResponses[].memberId | Long | 采购商成员ID |
| batchResponses[].certificateNo | String | 证件号码 |
| batchResponses[].outerBusinessId | String | 业务流水ID |
业务规则
- certificateNo 和 outerBusinessId 不能重复
- 同一批次内不能有重复的 certificateNo 或 outerBusinessId
- 个体工商户(memberType=2)的银行账户信息可选
- transactionId 用于防止重复提交,outerBusinessId 用于业务唯一标识
- 操作员身份证号(operatorIdCard)为可选字段
测试数据
注意:以下数据仅可用于测试环境测试企业实名认证流程,实名过程中的法定代表人信息填写测试人员本人的信息即可。
可用测试企业列表
| 企业名称 | 统一社会信用代码 |
|---|---|
| aqtest南京一粒沙科技有限公司FO | TC532419MABMXDE1X3 |
| aqtest南京一粒沙科技有限公司GF | TC203472MABMXDE1XN |
| aqtest南京一粒沙科技有限公司SC | TC644422MABMXDE1X1 |
| aqtest南京一粒沙科技有限公司HH | TC162037MABMXDE1X2 |
| aqtest南京一粒沙科技有限公司RH | TC619553MABMXDE1XL |
| aqtest南京一粒沙科技有限公司TY | TC484800MABMXDE1XW |
| aqtest南京一粒沙科技有限公司VH | TC860982MABMXDE1XU |
| aqtest南京一粒沙科技有限公司RJ | TC192070MABMXDE1X7 |
使用方式
- 选择测试企业:从上表中选择任意一家测试企业
- 填写企业信息:
certificateName: 使用表中的企业名称(如:aqtest南京一粒沙科技有限公司FO)certificateNo: 使用对应的统一社会信用代码(如:TC532419MABMXDE1X3)
- 填写法人信息:
authorizerName: 填写测试人员本人的真实姓名authorizerPhone: 填写测试人员本人的手机号authorizerIdNo: 填写测试人员本人的身份证号
- 其他信息:其他字段可按实际情况填写或使用模拟数据
测试示例
json
{
"transactionId": "TEST20250111001",
"batchRequests": [
{
"memberType": 1,
"certificateType": 1,
"certificateNo": "TC532419MABMXDE1X3",
"certificateName": "aqtest南京一粒沙科技有限公司FO",
"certificateFront": 123456789,
"bankCode": "102100099996",
"bankName": "中国工商银行北京分行",
"bankCardName": "aqtest南京一粒沙科技有限公司FO",
"bankCardNo": "6222021234567890123",
"contactName": "张三",
"contactPhone": "13812345678",
"contactAddress": "北京市朝阳区某某街道某某大厦",
"contactPostCode": "100000",
"contactEmail": "test@example.com",
"authorizerName": "张三",
"authorizerPhone": "13812345678",
"authorizerIdType": 2,
"authorizerIdNo": "110101199001011234",
"authorizerIdStartDate": "2020-01-01",
"authorizerIdEndDate": "2030-12-31",
"authorizerIdFront": 123456790,
"authorizerIdBack": 123456791,
"operators": [
{
"operatorType": 1,
"operatorName": "张三",
"operatorPhone": "13812345678",
"operatorIdCard": "110101199001011234"
}
],
"projectId": 1,
"risExtend": "{}",
"outerBusinessId": "TEST_BIZ20250111001"
}
]
}重要提示:
- ⚠️ 测试数据仅限测试环境使用,请勿在生产环境使用
- ⚠️ 每个测试企业的统一社会信用代码是唯一的,创建成功后不可重复创建
- ⚠️ 法人信息(姓名、身份证、手机号)必须使用测试人员本人的真实信息