智能薪酬¶
月薪台账¶
获取薪酬计算明细列表¶
使用场景: 获取薪酬计算明细列表
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/accounting/month_detail_list/?access_token=ACCESS_TOKEN
请求结构体示例:
{
"year": 2024,
"month": 6,
"emp_ids": [
"员工ID"
],
"p": 1,
"limit": 10
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| year | Number | 是 | 年份 | |
| month | Number | 是 | 月份 | |
| emp_ids | List[String] | 否 | 员工ID列表 | |
| p | Number | 否 | 当前页数 | 默认:1 |
| limit | Number | 否 | 每页条数 | 默认:10,最大:200 |
返回结果示例:
{
"data": {
"totalpage": 1,
"total_count": 1,
"p": 1,
"objects": [
{
"emp_id": "员工ID",
"item_data_list": [
{
"one_code": "薪酬项目编码",
"value_from": 3,
"value_type": 3,
"value_data": 0,
"title": "基本工资"
}
]
}
],
"limit": 10,
"offset": 0
},
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| totalpage | Number | 总页数 | |
| total_count | Number | 总条数 | |
| p | Number | 当前页码 | |
| limit | Number | 每页条数 | |
| offset | Number | 偏移量 | |
| objects | List | 数据列表 | |
| └emp_id | String | 员工ID | |
| └item_data_list | List | 员工薪酬明细结果列表 | |
| └└one_code | String | 薪酬项目编码 | |
| └└title | String | 薪酬项目名称 | |
| └└value_from | Number | 数据来源 | 1:系统字段、2:自定义公式、3:手动导入、4:在线编辑 |
| └└value_type | Number | 数据类型 | 2:文本、3:数值、4:日期 |
| └└value_data | Interface | 薪酬结果 | 结果可能是纯文本、数值、日期文本 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 年份不合法 |
| 21002 | 月份不合法 |
| 21002 | limit不能超过200 |
| 21002 | 员工ID错误 |
获取月薪汇总列表¶
使用场景: 获取月薪汇总列表
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/accounting/month_total_list/?access_token=ACCESS_TOKEN
接口说明:
-
调用前,请先配置月薪汇总设置
-
接口根据月薪汇总设置,将薪酬计算明细列表按员工维度进行汇总,并返回汇总结果列表
请求结构体示例:
{
"year": 2024,
"month": 6,
"emp_ids": [
"员工ID"
],
"p": 1,
"limit": 10
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| year | Number | 是 | 年份 | |
| month | Number | 是 | 月份 | |
| emp_ids | List[String] | 否 | 员工ID列表 | |
| p | Number | 否 | 当前页数 | 默认:1 |
| limit | Number | 否 | 每页条数 | 默认:10,最大:200 |
返回结果示例:
{
"data": {
"totalpage": 1,
"total_count": 1,
"p": 1,
"objects": [
{
"emp_id": "员工ID",
"item_data_list": [
{
"one_code": "薪酬项目编码",
"value_from": 2,
"value_type": 3,
"value_data": 0,
"title": "应发工资"
}
]
}
],
"limit": 200,
"offset": 0
},
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| totalpage | Number | 总页数 | |
| total_count | Number | 总条数 | |
| p | Number | 当前页码 | |
| limit | Number | 每页条数 | |
| offset | Number | 偏移量 | |
| objects | List | 数据列表 | |
| └emp_id | String | 员工ID | |
| └item_data_list | List | 员工薪酬明细结果列表 | |
| └└one_code | String | 薪酬项目编码 | |
| └└title | String | 薪酬项目名称 | |
| └└value_from | Number | 数据来源 | 1:系统字段、2:自定义公式、3:手动导入、4:在线编辑 |
| └└value_type | Number | 数据类型 | 2:文本、3:数值、4:日期 |
| └└value_data | Interface | 薪酬结果 | 结果可能是纯文本、数值、日期文本 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 年份不合法 |
| 21002 | 月份不合法 |
| 21002 | limit不能超过200 |
| 21002 | 员工ID错误 |
| 21003 | 汇总结果展示已关闭,无法获取汇总结果列表 |
业务提报¶
获取提报方案列表¶
使用场景: 获取业务提报方案列表
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/biz_sub/plan_list/?access_token=ACCESS_TOKEN
请求结构体示例:
{
"sub_type_list": [
1
],
"keyword": "方案名称",
"is_used": true,
"p": 1,
"limit": 10
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| sub_type_list | List[Number] | 否 | 提报类型 | 1:汇总数据提报、2:明细数据提报、3:基础数据提报 |
| keyword | String | 否 | 方案名称 | 按名称进行模糊匹配 |
| is_used | Boolean | 否 | 方案状态 | 不传:全部、true:启用、false:停用 |
| p | Number | 否 | 当前页数 | 默认:1 |
| limit | Number | 否 | 每页条数 | 默认:10,最大:50 |
返回结果示例:
{
"data": {
"totalpage": 1,
"total_count": 1,
"p": 1,
"objects": [
{
"is_used": true,
"desc": "方案描述",
"sub_name": "方案名称",
"id": "方案ID",
"sub_type": 1
}
],
"limit": 10,
"offset": 0
},
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| totalpage | Number | 总页数 | |
| total_count | Number | 总条数 | |
| p | Number | 当前页码 | |
| limit | Number | 每页条数 | |
| offset | Number | 偏移量 | |
| objects | List | 数据列表 | |
| └id | String | 方案ID | |
| └sub_name | String | 方案名称 | |
| └desc | String | 方案描述 | |
| └sub_type | Number | 提报类型 | 1:汇总数据提报、2:明细数据提报、3:基础数据提报 |
| └is_used | Boolean | 方案状态 | true:启用、false:停用 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 提报方案类型错误(1汇总 2明细 3基础) |
| 21002 | limit不能超过50 |
获取提报项目列表¶
使用场景: 获取业务提报项目列表
请求方式: GET(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/biz_sub/item_list/?access_token=ACCESS_TOKEN
请求结构体示例:
https://openapi.2haohr.com/api/smart_salary/biz_sub/item_list/?access_token=ACCESS_TOKEN&sub_plan_id=xxx
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| sub_plan_id | String | 是 | 方案ID |
返回结果示例:
{
"data": [
{
"reserve_decimal_digit": 0,
"data_type": 2,
"source_type": 1,
"item_name": "333",
"date_type": 0,
"round_off": 0,
"sum_formula_name": "#人事信息.部门#",
"item_type": 2,
"formula_desc": "",
"is_require": false,
"sum_formula": "#SYS8948009#",
"field_key": "sub_665fcf7b358b85c3aee97714",
"id": "665fcf7b358b85c3aee97714",
"is_simple_formula": true
}
],
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| data | List | 数据列表 | |
| └id | String | 项目ID | |
| └field_key | String | 项目编码 | |
| └item_name | String | 项目名称 | |
| └item_type | Number | 项目类型 | 1:汇总方案-汇总提报项目、2:明细方案-明细提报项目、3:明细方案-汇总提报项目、4:基础方案-基础提报项目 |
| └is_require | Boolean | 是否必填 | true:必填、false:不必填 |
| └data_type | Number | 数据类型 | 2:文本、3:数值、4:日期 |
| └date_type | Number | 日期格式 | 1:YYYY-MM、2:YYYY-MM-DD、3:YYYY-MM-DD HH:MM |
| └source_type | Number | 取值方式 | 1:系统字段、2:自定义公式、3:手动导入 |
| └round_off | Number | 舍入规则 | 1:四舍五入、2:向上舍入、3:向下舍入 |
| └reserve_decimal_digit | Number | 舍入小数位 | 支持0~9位 |
| └sum_formula | String | 汇总公式 | 自定义公式的公式值(未翻译) |
| └sum_formula_name | String | 汇总公式(翻译) | 自定义公式的公式值(字段编码已翻译成名称) |
| └formula_desc | String | 公式说明 | |
| └is_simple_formula | Boolean | 函数模式 | true:简单模式、false:复杂模式 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 提报方案ID不能为空 |
| 21004 | 提报方案不存在 |
导入提报数据¶
使用场景: 导入业务提报数据
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/biz_sub/import_data/?access_token=ACCESS_TOKEN
接口说明:
-
导入基础业务提报方案数据,emp_id可以为空
-
导入明细业务提报方案数据,cus_data可以为空
-
导入汇总业务提报方案数据,emp_id不能重复
请求结构体示例:
{
"sub_plan_id": "提报方案ID",
"sub_date": "2025-05",
"data_list": [
{
"emp_id": "员工ID",
"cus_data": {
"field_key": "xxx"
}
}
]
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| sub_plan_id | String | 是 | 提报方案ID | |
| sub_date | String | 是 | 提报月份 | 提交格式:YYYY-MM |
| data_list | List | 是 | 数据列表 | 每次最多提报100条 |
| └emp_id | String | 否 | 员工ID | |
| └cus_data | Object | 否 | 提报数据 | {key:val} key为提报项目field_key,val为提报数据 |
返回结果示例:
{
"data": [],
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| data | List | 错误描述列表 | {index: errmsg} index为提交数据列表的索引,errmsg为错误数据的描述 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 提报方案ID不能为空 |
| 21002 | 员工ID不能为空 |
| 21002 | 员工ID错误 |
| 21002 | 提报月份不能为空 |
| 21002 | 提报月份格式错误 请严格使用YYYY-MM格式 |
| 21002 | 提报数据不能为空 |
| 21002 | 提报数据一次最多100条 |
| 21004 | 提报方案不存在 |
| 21005 | 提报方案已停用 |
| 21006 | 汇总提报方案不允许重复提报同一员工 |
| 21007 | 当前月份数据已锁定 |
| 21008 | 员工信息不存在 |
| 21008 | 员工已删除 |
| 21008 | 存在审批中的提报数据 |
| 21008 | 提报项目key不存在 |
| 21008 | 不能提报已删除提报项目 |
| 21008 | 不能导入明细方案的汇总提报项目 |
| 21008 | 不能导入非导入来源的提报项目 |
| 21008 | 必填提报项目不能为空 |
| 21008 | 提报的值和提报项目的数据类型不匹配 |
员工考勤¶
获取日/月考勤字段列表¶
使用场景: 获取智能薪酬-日/月考勤字段列表
请求方式: GET(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/attendance_stat/attendance_fields/?access_token=ACCESS_TOKEN
请求结构体示例:
https://openapi.2haohr.com/api/smart_salary/attendance_stat/attendance_fields/?access_token=ACCESS_TOKEN&attend_code=xxx
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| attend_code | Number | 是 | 考勤类型 | 1:日考勤、2:月考勤 |
返回结果示例:
{
"data": [
{
"field_key": "字段编码",
"field_name": "字段名称",
"field_type": 3,
"status": 1
}
],
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| data | List | 数据列表 | |
| └field_key | String | 字段编码 | |
| └field_name | String | 字段名称 | |
| └field_type | Number | 数据类型 | 2:文本、3:数值、4:日期 |
| └status | Number | 字段状态 | -1:禁用、1:启用 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 考勤类型错误(1日考勤 2月考勤) |
导入每日考勤数据¶
使用场景: 导入智能薪酬-每日考勤数据
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/attendance_stat/day_attendance/import_data/?access_token=ACCESS_TOKEN
接口说明:
- 不能导入相同员工同一天的日考勤数据
请求结构体示例:
{
"data_list": [
{
"emp_id": "员工ID",
"work_date": "2025-04-01",
"data": {
"field_key": "xxx"
}
}
]
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| data_list | List | 是 | 数据列表 | 每次最多导入100条 |
| └emp_id | String | 是 | 员工ID | |
| └work_date | List | 是 | 考勤日期 | 提交格式:YYYY-MM-DD |
| └data | List | 是 | 考勤数据 | {key:val} key为日考勤字段field_key,val为提报数据 |
返回结果示例:
{
"data": [],
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| data | List | 错误描述列表 | {index: errmsg} index为提交数据列表的索引,errmsg为错误数据的描述 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 导入数据不能为空 |
| 21002 | 导入数据一次最多100条 |
| 21002 | 员工ID不能为空 |
| 21002 | 员工ID错误 |
| 21002 | 考勤日期不能为空 |
| 21002 | 考勤日期格式错误,请严格使用YYYY-MM-DD格式 |
| 21009 | 不能导入相同员工同一天的日考勤数据 |
| 21008 | 日期为xxx之前的数据已锁定 |
| 21008 | 员工信息不存在 |
| 21008 | 员工已删除 |
| 21008 | 日考勤字段key不存在 |
| 21008 | 日考勤字段已停用 |
| 21008 | 导入的值和日考勤字段的数据类型不匹配 |
导入月度考勤数据¶
使用场景: 导入智能薪酬-月度考勤数据
请求方式: POST(HTTPS)
请求地址: https://openapi.2haohr.com/api/smart_salary/attendance_stat/month_attendance/import_data/?access_token=ACCESS_TOKEN
接口说明:
-
未开启分开计薪:相同emp_id不能重复,系统默认获取考勤月份最后一天的dep_id
-
开启分开计薪:相同emp_id同一dep_id不能重复,跨部门员工未提交dep_id时,默认取异动后的dep_id,非跨部门员工,取考勤月份最后一天的dep_id
请求结构体示例:
{
"work_month": "2025-04",
"data_list": [
{
"emp_id": "员工ID",
"dep_id": "部门ID",
"data": {
"field_key": "xxx"
}
}
]
}
请求参数说明:
| 参数 | 类型 | 是否必须 | 说明 | 参数说明 |
|---|---|---|---|---|
| access_token | String | 是 | 调用接口凭证 | |
| work_month | String | 是 | 考勤月份 | 提交格式:YYYY-MM |
| data_list | List | 是 | 数据列表 | 每次最多导入100条 |
| └emp_id | String | 是 | 员工ID | |
| └dep_id | String | 否 | 部门ID | |
| └data | List | 是 | 考勤数据 | {key:val} key为月考勤字段field_key,val为提报数据 |
返回结果示例:
{
"data": [],
"errcode": 0,
"errmsg": ""
}
返回参数说明:
| 参数 | 类型 | 说明 | 参数说明 |
|---|---|---|---|
| errcode | Number | 返回码 | |
| errmsg | String | 对错误返回码的文本描述内容 | |
| data | List | 错误描述列表 | {index: errmsg} index为提交数据列表的索引,errmsg为错误数据的描述 |
错误说明:
| 错误码 | 说明 |
|---|---|
| 21001 | 未开通智能薪酬 |
| 21002 | 导入数据不能为空 |
| 21002 | 导入数据一次最多100条 |
| 21002 | 考勤月份不能为空 |
| 21002 | 考勤月份格式错误,请严格使用YYYY-MM格式 |
| 21002 | 员工ID不能为空 |
| 21002 | 员工ID错误 |
| 21002 | 部门ID错误 |
| 21008 | 员工信息不存在 |
| 21008 | 员工已删除 |
| 21008 | 部门匹配失败,非员工当月所属部门 |
| 21008 | 月考勤字段key不存在 |
| 21008 | 月考勤字段已停用 |
| 21008 | 导入的值和月考勤字段的数据类型不匹配 |
| 21010 | 不能导入相同员工同一月份的月考勤数据(未开启分开计薪) |
| 21011 | 不能导入相同员工同一月份同一部门的月考勤数据(开启分开计薪) |
| 21012 | 月度考勤已锁定 |