批量导入员工收款账号
说明
用户可以通过该接口批量维护员工的收款账号信息。
新增与修改字段说明
- 员工若不存在银行账户的账号,会新增;已存在则更新。
- 员工若不存在支付宝账户的账号,会新增;已存在则更新。
- 员工若不存在现金账户的账户名,会新增;已存在则更新。
- bankBranchName(分支行名称)、bankBranchNo(联行号)提供了几种模式:
a. 模式一:只传bankBranchNo(联行号),该联行号必须在每刻存在,系统会自动匹配bankName(开户行)、bankLocation(开户省市)、bankBranchName(分支行),如果传入的bankBranchNo(联行号)不匹配会导入失败(报错提示);
c. 模式二:bankBranchNo(联行号)、bankBranchName(分支行名称)同时传入,系统会自动匹配bankName(开户行)、bankLocation(开户省市)。 - (不推荐使用)仅上传accountNumber(账户)时,接口会自动识别并填充开户行等信息。(由于识别接口限制,部分账户可以同步成功但仅能识别部分信息,部分账户无法识别会导致无法同步至每刻,暂时不支持国外银行识别)
- 海外银行账户导入时,会校验对应国家模板字段的必填值,若有缺失,会导入失败,并返回相应的错误信息
- 支持部分失败,即一条数据失败不影响其他正确数据导入。
接口限制
1. 10次/秒;
2. 一次最多支持100个。
接口地址
/api/openapi/personal/account/detail
请求类型
POST
请求参数
参数说明
字段名 | 字段类型 | 是否必填 | 字段字段说明 |
---|---|---|---|
empId | String | 是 | 员工工号 |
accountList | List<accountList> | 是 | 账号列表 |
accountList
字段名 | 字段类型 | 是否必填 | 字段字段说明 |
---|---|---|---|
paymentType | String | 是 | 支付方式(BANK ,ALIPAY,CASH,OTHER) |
accountName | String | 是 | 账户名 |
accountNumber | String | 部分是,账号类型为“银行账号”、“支付宝”时是) | 账号 |
bankName | String | 否 | 开户银行,如果paymentType为BANK,并且该值为空,那么系统会根据accountNumber匹配. |
bankLocation | String | 否 | 开户省市,市和省使用/分隔,如“石家庄市/河北省” |
bankBranchName | String | 否 | 分支行 |
bankBranchNo | String | 否 | 联行号,分支行不为空情况下,可填写任意字符, 不做校验.分支行为空情况下, 必须是正确的联行号, 系统会根据联行号设置分支行. |
certificateTypeName | String | 否 | 证件类型名称,如居民身份证,见certificateTypeName |
identification | String | 否 | 证件号 |
defaultAccount | boolean | 否 | 是否默认账号 |
remark | String | 否 | 备注 |
海外银行相关字段(字段必填性需依据海外银行员工账户对应国家/地区模板接口) | |||
country | String | 否 | 国家名称,默认“中国” |
swiftCode | String | 视具体模板定 | |
abroadPayeeAddress | String | 否 | 海外收款人地址 |
abroadBankAddress | String | 否 | 海外开户银行地址 |
acceptCcy | String | 否 | 收款币种(不传默认CNY,传NOLIMIT表示不限制,传多个中间用中文逗号分隔) |
IBAN | String | 视具体模板定 | |
bankIdentificationNumber | String | 视具体模板定 | 银行识别号 |
abroadBankBranchNo | String | 视具体模板定 | 分支行编码 |
abroadPayeeAccountType | String | 视具体模板定 | 收款人账户类型 只能选择以下几类 Checking account Savings account Investment account |
payeeDutyParagraph | String | 视具体模板定 | 收款人税号 |
CCI | String | 视具体模板定 | |
routingNumber | String | 视具体模板定 | |
payeePhoneNo | String | 视具体模板定 | 收款人电话 |
bankID | String | 视具体模板定 | |
branchTransitNumber | String | 视具体模板定 | |
CUITNo | String | 视具体模板定 | |
CBUNo | String | 视具体模板定 | |
DNI_PASSPORT | String | 视具体模板定 | |
IFSC | String | 视具体模板定 | |
dutyParagraph | String | 视具体模板定 | 税号 |
BSBNumber | String | 视具体模板定 | |
abroadBankBizCode | String | 视具体模板定 | 海外银行编号 |
abroadPayeeType | String | 视具体模板定 | 海外收款人类型,只能选择以下几类: Corporate, Individual, Government |
abroadBankNumber | String | 视具体模板定 | |
paymentTypeBizCode | String | 视具体模板定 | 付款类型编码 |
abroadBankCode | String | 视具体模板定 | 银行代码 |
paymentPurposeCode | String | 视具体模板定 | 付款用途代码 |
businessStructureOfBeneficiaryCompany | String | 视具体模板定 | 收款人企业性质 |
RNN | String | 视具体模板定 | |
abroadBankBranchCode | String | 视具体模板定 | 分行代码 |
EDRPOU | String | 视具体模板定 |
证件类型名称certificateTypeName
参数名称 |
---|
居民身份证 |
临时身份证 |
护照 |
户口簿 |
军人身份证 |
武装警察身份证 |
外交人员身份证 |
外国人居留许可证 |
边民出入境通行证 |
港澳居民来往内地通行证(香港) |
港澳居民来往内地通行证(澳门) |
台湾居民来往大陆通行证 |
参数样例
[
{
"empId": "190013",
"accountList": [
{
"paymentType": "BANK",
"accountName": "银行户名",
"accountNumber": "6225807142412381",
"bankName": "工商银行",
"bankLocation": "石家庄市/河北",
"bankBranchName": "中国工商银行石家庄东风支行",
"bankBranchNo": "102121000037",
"certificateTypeName": "居民身份证",
"identification": "33031820191111321X",
"defaultAccount": false
},
{
"paymentType": "ALIPAY",
"accountName": "支付宝账户名",
"accountNumber": "12345679876",
"defaultAccount": true
},
{
"paymentType": "CASH",
"accountName": "现金户名",
"defaultAccount": false
},
{
"paymentType": "BANK",
"country": "美国",
"accountName": "海外银行导入账户",
"accountNumber": "62217717120201218001",
"bankName": "Amalgamated Bank",
"swiftCode": "012345",
"abroadPayeeAddress": "海外银行的收款人地址",
"payeeAccountType": "PERSONAL",
"routingNumber": "1234567"
}
]
}
]
响应参数
参数说明
字段名 | 字段类型 | 字段说明 |
---|---|---|
hasErrorMsg | boolean | true : 有错误信息;false 没有错误信息 |
errorMsgDetail | List<PersonalAccountResult> | 具体的错误信息 |
PersonalAccountResult 说明
字段名 | 字段类型 | 字段说明 |
---|---|---|
empId | String | 员工ID |
errorMsg | List<String> | 错误信息的数组,同一个账号的错误信息会被拼接成一个字符串。 |
员工账号错误信息
错误信息 | 原因 |
---|---|
不支持账户类型 | 参数accountType不正确,需要检查参数 |
账户名不能为空 | 参数accountName为空 |
账号不能为空 | 参数accountName为空 |
开户行不能为空 | 参数bankName为空 |
开户省市格式错误 | 参数bankLocation格式不正确,需要检查参数是否符合格式 |
开户行不存在 | 参数bankName在每刻系统中不存在 |
开户省市不存在 | 参数bankLocation在每刻系统中不存在 |
分支行联行号错误 | 参数bankBranchNo在每刻系统中不存在 |
分支行和开户行不匹配 | 每刻系统根据bankBranchNo查询到对应的分支行和传入的开户行不匹配 |
分支行和开户省市不匹配 | 每刻系统根据bankBranchNo查询到对应的分支行和传入的开户省市不匹配 |
海外银行模板必填字段为空 | 具体某个字段为空 |
参数样例
{
"code": "ACK",
"message": "保存成功",
"data": {
"hasErrorMsg": true,
"errorMsgDetail": [
{
"empId": "190013",
"errorMsg": [
"银行账户_每刻_证件类型不能为空;银行账户_每刻_分支行和开户行不匹配",
"支付宝_null_账户名不能为空"
]
}
]
},
"success": true
}
修改记录
2022-12-15 收款币种支持多币种