新增/更新
- 接口: /supplier/save
- Method:POST
- 数据格式:JSON
请求参数
参数 | 类型 | 必须 | 主键 | 默认值 | 描述 |
---|---|---|---|---|---|
businessCode | string | Y | Y | 供应商编码, 系统内唯一 | |
name | string | Y | N | 供应商名称 | |
supplierCategoryName | string | N | N | 供应商分类名称 | |
supplierType | string | N | N | CORP | 供应商类型: CORP (公司), SELF_EMPLOYED(个体经营商) |
accounts | SupplierAccount数组 | N | N | 供应商帐号 | |
taxpayerID | string | N | 纳税人识别号 | ||
contactName | string | N | 联系人姓名 | ||
contactPhone | string | N | 联系人电话 | ||
contactEmail | string | N | 联系邮箱 | ||
contactAddress | string | N | 联系地址 | ||
subsidiaries | List<String> | N | 适用的业务实体编码 | ||
userGroupScopes | List<String> | N | 适用的用户组编码 | ||
employeeScopes | List<String> | N | 适用的人员工号 |
SupplierAccount 参数
参数 | 类型 | 必须 | 主键 | 默认值 | 描述 |
---|---|---|---|---|---|
name | string | Y | 帐号名称 | ||
businessCode | string | Y | Y | 帐号业务编码 | |
bankCountry | string | N | N | 中国 | 国家与地区(需要匹配每刻系统中的国家和地区) |
swiftCode | string | N | N | SWIFT CODE(若只有swiftCode,必须要传入bankName和bankCityName) | |
iban | string | N | N | iban需要传递参数bankCountry,只对欧洲国家生效 | |
bankPlaceInfo | string | N | N | 银行开户地址 | |
account | string | Y | 帐号 | ||
bankName | string | N | 银行名称, 如:中国银行;(中国银行;当customBranchFlag为true时,必须) or (若只有swiftCode,没有bankBranchNo,必须 ) | ||
bankCode | string | N | 银行简码, 如:BOC | ||
bankBranchNo | string | Y | 分支行编码;(当customBranchFlag为true时,非必须) or (当有swiftCode值,非必须) | ||
bankBranchName | string | N | 分支行名称;当customBranchFlag为true时,必须 | ||
bankBranchLocation | address | N | 分支行地址 | ||
paymentType | string | Y | 支付类型, 包括BANK(银行), CASH(现金), THIRD_PARTY(第三方), OTHER(其他) | ||
thirdPayType | string | N | 第三方支付类型 | ||
active | boolean | N | false | 启用 | |
customBranchFlag | boolean | N | false | 是否自定义分支行 | |
bankCityName | string | N | 开户省市,如:浙江/杭州市;(当customBranchFlag为true时,必须) or (若只有swiftCode,没有bankBranchNo,必须) | ||
subsidiaries | List<String> | N | 适用的业务实体编码 | ||
accountUserGroupScopes | List<String> | N | 适用的用户组编码 | ||
accountEmployeeScopes | List<String> | N | 适用的人员工号 |
返回数据
字段 | 类型 | 描述 |
---|---|---|
businessCode | string | 供应商编码 |
error | List<String> | 错误信息 |
warning | List<String> | 警告信息 |
说明
控制中心需开启'编辑中国的银行账户时允许手动录入分支行'开关
当customBranchFlag为false时,bankBranchNo、bankName、bankBranchName三个参数提供两种模式,模式一:只传入bankBranchNo,该联行号必须在每刻银行库存在;模式二: 三个参数同时传入,接口保存时以接口传入的银行名称和分支行名称为准;
当customBranchFlag为true时,bankName、bankCityName必填并且符合定义的格式,bankBranchNo、bankBranchName按传入的数据为准;
subsidiaries 用于限定该帐号可用于的业务实体, 为业务实体编码;如果不提供, 默认全公司可使用;
bankBranchLocation 如果提供该字段,该字段需要和每刻系统内地址匹配;否则会被忽略
“taxpayerID(纳税人识别号)”一列,“是否必填”的说明:"由控制中心'维护供应商时,必须填写纳税人识别号'的开关状态决定"
返回参数
该接口采用单条失败的处理方式,即整批数据中,如果只有其中的几条因为各种原因失败,那么只有那几条数据不会被保存;其它的数据仍然会被正常处理;错误数据的主键(supplier的business code)会被放在data里面;
data为结构体, 包含出错记录主键(business code), 以及与之对应的出错信息error; error为一个字符串表(因为一个供应商有可能需要更新多个银行账户),error中的每个字符串展示信息类似 {"businessCode": "错误信息"}; 具体参见失败实例;
示例:
请求数据
{
"timestamp": 1467894006000,
"data": [
{
"businessCode": "0001",
"name": "测试",
"accounts": [
{
"name": "测试账号",
"businessCode": "10000001",
"account": "1234567890123",
"bankBranchNo": "103331004514",
"bankBranchName": "铜山县农村信用社合作联社铜电信用分社",
"paymentType": "BANK"
},
{
"name":"测试账号7",
"businessCode":"100Q1",
"account":"1234567890123",
"bankBranchNo":"102361000015",
"bankBranchName":"333",
"paymentType":"BANK",
"customBranchFlag":true,
"bankCityName":"山西/运城市",
"bankName":"工商银行"
}
],
"taxpayerID": "0001",
"contactName": "姓名",
"contactPhone": "15212341234",
"contactEmail": "support@maycur.com",
"contactAddress": "杭州市西湖区",
"subsidiaries": ["subsidiary-123", "subsidiary-124"],
"userGroupScopes": ["user-group-123", "user-group-124"],
"employeeScopes": ["employee-123", "employee-124"]
}
]
}
返回数据(成功)
{
"code": "ACK",
"message": "",
}
返回数据(失败)
{
"code": "ACK",
"message": "message.success",
"data": [
{
"businessCode": "",
"error": [
"未提供业务编码"
],
"warning": null
}
]
}