电子合同

获取企业签署额度


使用场景:该接口用于查询企业剩余额度

请求方式:GET(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/sign_balance/?access_token=ACCESS_TOKEN

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
        "single_signature_balance": 0,
        "account_type": 2,
        "total_balance": 49,
        "double_signature_balance": 0
    }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
single_signature_balance E签宝单方签署额度
double_signature_balance E签宝双方签署额度
total_balance 法大大签署额度
account_type 账户类型 1 E签宝;2 法大大

获取企业合同分类信息


使用场景:该接口用于获取企业所有合同分类信息

请求方式:GET(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/contract_category/list/?access_token=ACCESS_TOKEN

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "company_seal_id": "23544*****s123*******123214",
      "company_seal_name": "测试合同印章",
      "employee_sign_method": 2,
      "has_template": true,
      "id": "787b*******41758a******bce733",
      "name": "合同分类名称",
      "remark": "备注信息",
      "seal_point_type": 1,
      "sign_target_type": 3
    }
  ]
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
company_seal_id 合同分类关联的印章id
company_seal_name 合同分类关联的印章名称
employee_sign_method 员工签署的方式 1 默认印章; 2 手写签名
has_template 合同分类是否存在合同模版
id 合同分类id
name 合同分类名称
remark 合同分类备注
seal_point_type 印章定位方式 1 固定位置定位;2 关键词定位
sign_target_type 签署对象 1 企业单方签署;2 企业员工双方签署;3 员工单方签署

获取企业的合同包列表


使用场景:该接口用于获取企业设置的所有电子合同签署包列表

请求方式:GET(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/package/list/?access_token=ACCESS_TOKEN

参数说明:

参数 类型 是否必须 说明
access_token String 调用接口凭证

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": "d22ba6*****f44c7a89ae*****19c7f5",
      "name": "自招派遣合同包",
      "expire_days": 14
    },
    {
      "id": "b87939*****74563a6214*****1fbe27",
      "name": "北京招聘合同包",
      "expire_days": 7
    }
  ]
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
id 合同包id
name 合同包名称
expire_days 合同未签署过期时间

获取企业的合同包详情


使用场景:该接口用于获取企业指定合同包的详细信息,包含合同包内的合同模版信息基础信息,合同模版变量信息等。

请求方式:GET(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/package/info/?access_token=ACCESS_TOKEN&id=package_id

参数说明:

参数 类型 是否必须 说明
access_token String 调用接口凭证
id String 合同包id

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "template_list": [
      {
        "id": "9a272d*****a48ea89240*****3111de",
        "name": "派遣劳动合同",
        "field_list": [
          {
            "field_key": "field_xxx",
            "field_name": "用人单位全称"
          },
          {
            "field_key": "field_xxx",
            "field_name": "用人单位地址"
          },
          {
            "field_key": "emp_name",
            "field_name": "员工姓名"
          }
        ],
        "can_initiated": true,
        "err_msg": ""
      },
      {
        "id": "8e84f3*****9401a9ae6b*****ea2b2b",
        "name": "员工派遣单",
        "field_list": [
          {
            "field_key": "emp_name",
            "field_name": "员工姓名"
          },
          {
            "field_key": "hire_dt",
            "field_name": "入职时间"
          }
        ],
        "can_initiated": false,
        "err_msg": "存在未设置印章位置参数模版"
      }
    ]
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
template_list 合同包内的模版列表
id 合同模版id
name 合同模版名称
can_initiated 合同模版能否发起标识
err_msg 合同模版无法发起具体错误信息
field_list 合同模版包含的变量列表
field_key 合同变量key
field_name 合同变量名称

获取企业的合同列表信息


使用场景:该接口用于获取企业指定发起时间段、合同状态、合同分类下的合同列表信息,分页返回。

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/contract/search_list/?access_token=ACCESS_TOKEN

请求示例:

{
  "p": 1,
  "limit": 20,
  "contract_cate_ids": ["12381******jff128d******sd912"],
  "contract_status": [2, 3, 4],
  "contract_start_dt": "2023-01-01",
  "contract_end_dt": "2023-10-01"
}

参数说明:

参数 类型 是否必须 说明
access_token String 调用接口凭证
p Number 页数 默认 1
limit Number 每页条数 默认 20 最大200
contract_cate_ids Array 合同分类ID列表
contract_status Array 合同状态列表 1 签署中;2 拒绝签署;3 撤回签署;4 签署完成;
contract_start_dt String 发起时间搜索条件,大于等于参数,格式"YYYY-MM-DD"
contract_end_dt String 发起时间搜索条件,小于等于参数,格式"YYYY-MM-DD"

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "p": 1,
    "limit": 20,
    "offset": 0,
    "total_count": 1,
    "totalpage": 1,
    "objects": [
      {
        "add_by_id": "d246*******483f8cd*******84ffc",
        "add_by_name": "添加人HR",
        "add_dt": "2023-04-04 11:46:10", 
        "contract_category_id": "6693d******72a8710*****f38894", 
        "contract_category_name": "收入证明",
        "contract_name": "测试员工的收入证明", 
        "contract_no": "SZ00230", 
        "contract_seal_name": "产品测试印章", 
        "contract_url": "https://prv-cdn.2haohr.com/712308*****fcc1765a234b48?attname=*****name.pdf&e=1699330455&token=kHQ*****snnMoU=", 
        "id": "12dbc*****ebe413b7*****11ce", 
        "newest_sign_dt": "2023-04-04 11:46:26", 
        "sign_person_id": "483f8cd*******84ffc*****21312", 
        "sign_person_name": "测试员工", 
        "sign_person_type": 2, 
        "status": 4
      }
    ]
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
p 页数
limit 每页条数
offset 偏移量
total_count 符合条件所有合同总数
totalpage 总页数
objects 具体合同列表
add_by_id 添加人id
add_by_name 添加人姓名
add_dt 合同发起时间
contract_category_id 合同分类id
contract_category_name 合同分类名称
contract_name 合同名称
contract_no 合同编号
contract_seal_name 合同企业印章名称
contract_url 合同文件url 链接有效期1小时
id 合同id
newest_sign_dt 合同签署时间
sign_person_id 签署员工id
sign_person_name 签署员工姓名
sign_person_type 签署员工类型 2 员工;3 待入职员工
status 合同状态 1 签署中;2 拒绝签署;3 撤回签署;4 签署完成;

预创建入职人员的合同包的合同信息


使用场景:该接口用于创建保存合同包的合同信息,生成相关的待发起状态的合同。异构系统在使用前需要预先配置好合同包,并约定好相关的的合同模版中的自定义变量字段。

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/prepare/?access_token=ACCESS_TOKEN

请求示例:

{
  "entry_id": "40fefa*****5459492b5a*****9d6f8c",
  "econtract_package_id": "xxxxxx",
  // 合同包id
  "template_list": [
    {
      "id": "40e22f*****84a46908c8*****81576e",
      "field_xxx": "自定义字段值",
      "emp_name": "张三",
      "mobile": "155****2222",
      "credentials_no": "1c2f99*****ea32c37de9c5b9*****e23f68"
    }
  ]
}

参数说明: 根据不同模版中的变量返回对应的key和key对应填写好的值

参数 类型 是否必须 说明
entry_id String 流程ID
econtract_package_id String 合同包id
expire_days Number 过期时间
template_list Object 模版信息列表
id String 模版id
field_xxx String 自定义字段值(示例)
emp_name String 员工姓名(示例)

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

直接创建入职人员的合同包的合同信息


使用场景:该接口用于创建保存合同包的合同信息,生成相关的待发起状态的合同。异构系统在使用前需要预先配置好合同包,并约定好相关的的合同模版中的自定义变量字段。

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/create/?access_token=ACCESS_TOKEN

请求示例:

{
  "entry_id": "40fefa*****5459492b5a*****9d6f8c",
  "econtract_package_id": "xxxxxx",
  // 合同包id
  "template_list": [
    {
      "id": "40e22f*****84a46908c8*****81576e",
      "field_xxx": "自定义字段值",
      "emp_name": "张三",
      "mobile": "155****2222",
      "credentials_no": "1c2f99*****ea32c37de9c5b9*****e23f68",
      "emp_contract_info": {
        "contract_start_dt": "2022-05-20",
        "contract_end_dt": "2023-05-19"
      }
    }
  ]
}

参数说明: 根据不同模版中的变量返回对应的key和key对应填写好的值

参数 类型 是否必须 说明
entry_id String 流程ID
econtract_package_id String 合同包id
expire_days Number 过期时间
template_list Object 模版信息列表
id String 模版id
emp_contract_info Object 同步人事合同管理参数
contract_start_dt String 合同开始时间
contract_end_dt String 合同结束时间
field_xxx String 自定义字段值(示例)
emp_name String 员工姓名(示例)

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

发起入职人员的合同包的签署任务


使用场景:该接口用于发起待签署人员的合同包签署任务,并通过短信方式通知待签署。待签署人员可以通过短信内容中的链接内容跳转至2号人事部电子合同小程序端入口查看阅读需要他签署的合同包合同内容。

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/send/?access_token=ACCESS_TOKEN

请求示例:

{
  "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

获取入职人员的合同包的签署任务结果信息


使用场景:该接口用于获取指定的入职人员的合同包签署任务完成后的合同信息

请求方式:GET(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/result/?access_token=ACCESS_TOKEN&entry_id=ENTRY_ID

参数说明:

参数 类型 是否必须 说明
access_token String 调用接口凭证
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "contract_id": "40fefa*****5459492b5a*****9d6f8c",
      "contract_name": "派遣劳动合同",
      "contract_url": "https://xxx.com/xxx"
    }
  ]
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
contract_id 合同id
contract_name 合同名称
contract_url 签署合同pdf文件url

企业驳回入职人员的合同包的签署任务结果(拒绝签署状态)


使用场景:该接口用于企业的合同审核管理人员对员工签署的合同进行审核不通过,拒绝执行签署合同

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/refuse/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "9ac3b82f****4dfa****860a9f44bc00",
    "contract_list": [
        {
            "contract_id": "",
            "refuse_reason": "签署字迹潦草无法识别"
        }
    ]
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID
contract_list Array 合同列表
contract_id String 合同id
refuse_reason String 拒绝原因

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

HR批量自动签署


使用场景:hr批量自动签署

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/auto_sign/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

撤销入职人员的合同包签署任务


使用场景:该接口用于撤销指定的入职人员的合同包签署任务(撤销合同)

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/cancel/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

作废入职人员的合同包签署任务


使用场景:该接口用于作废指定的入职人员的合同包签署任务(作废合同)

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/delete/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "is_success": true
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
is_success 操作是否成功:true or false

获取合同预览文件url


使用场景:该接口用于预览合同模版填充模版变量后生成的pdf文件内容

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/preview_contract/?access_token=ACCESS_TOKEN

请求示例:

{
    "id": "40fefa*****5459492b5a*****9d6f8c", 
    "field_xxx": "自定义字段值",
    "emp_name": "张三",  
    "mobile": "155****2222"
}

参数说明:

参数 类型 是否必须 说明
id String 合同模版ID
emp_name String 根据模版内变量传递对应key_value
field_xxx String 根据模版内变量传递对应key_value
mobile String 根据模版内变量传递对应key_value

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "url": "https://https://prv-cdn.2haohr.com/preview_contract/xx?attname=xx"
  }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
url 预览合同文件pdf_url

获取员工签署通知短信内容


使用场景:该接口用于获取通知员工签署时发送的短信内容文本

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/get_notify_content/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
        "msg": "获取成功",
        "is_success": true,
        "sms_content": "测试企业的HR-张三给您发送待签署合同《测试入职合同包》。微信小程序搜索「2号电子合同」完成签署:http://2haohr.cn/xxxxx"
    }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
msg 执行情况信息
is_success 执行状态
sms_content 通知短信内容文本

重新发送员工签署通知


使用场景:该接口用于重新发送员工签署通知

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/task/resend_notify/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id": "40fefa*****5459492b5a*****9d6f8c"
}

参数说明:

参数 类型 是否必须 说明
entry_id String 流程ID

权限说明

返回结果:

{
  "errcode": 0,
  "errmsg": "",
  "data": {
        "msg": "推送成功",
        "is_success": true
    }
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
msg 执行情况信息
is_success 执行状态

获取合同的签署状态详情


使用场景:该接口用于通过批量entry_id获取合同的签署状态详情

请求方式:POST(HTTPS)

请求地址:https://openapi.2haohr.com/api/econtract/contract/sign_status/?access_token=ACCESS_TOKEN

请求示例:

{
    "entry_id_list": [
        "9e72f****d4648****9a79e****2a2a5",
        "41503****7cb47****a465d****afb69"
    ]
}

参数说明:

参数 类型 是否必须 说明
entry_id_list List 流程ID列表(单次:200)

权限说明

返回结果:

{
    "data": [
        {
            "entry_id": "9e72f****d4648****9a79e****2a2a5",
            "data": [
                {
                    "status": 1,
                    "contract_name": "XXX的入职合同",
                    "company_sign_detail": {
                        "sign_status": 0,
                        "id": "46991****8a5468****78cd****e81cf",
                        "name": "HR1",
                        "newest_sign_dt": "2023-08-07 15:06:53"
                    },
                    "sign_target_type": 2,
                    "contract_category_id": "8466f19****40b9bb54c****3db9cd",
                    "id": "94f9ab****148e0a2961700a****6cd",
                    "add_dt": "2023-08-07 15:06:53",
                    "package_task_id": "472a9769*****92154fb958****0959a",
                    "add_by_id": "f740****0bc54a1****caa9fd93db107",
                    "newest_sign_dt": "2023-08-07 15:06:53",
                    "contract_category_name": "入职合同",
                    "employee_sign_detail": {
                        "sign_status": 0,
                        "id": "b8a24d****845c1b01c****b52b4a23",
                        "name": "员工1",
                        "newest_sign_dt": "2023-08-07 15:06:53"
                    },
                    "add_by_name": "HR1",
                    "contract_no": ""
                },
                {
                    "status": 1,
                    "contract_name": "XXX的劳动合同",
                    "company_sign_detail": {
                    },
                    "sign_target_type": 3,
                    "contract_category_id": "683e52f9****3faac34b827a****ebaa",
                    "id": "93a1fd8a****6e4b5cce3a2****399",
                    "add_dt": "2023-08-07 15:06:57",
                    "package_task_id": "472a9****244764914fb958****959a",
                    "add_by_id": "f7408df70****a19935caa9f****b107",
                    "newest_sign_dt": "2023-08-07 15:06:57",
                    "contract_category_name": "劳动合同",
                    "employee_sign_detail": {
                        "sign_status": 0,
                        "id": "b8a2****a28845c1b01c****b52b4a23",
                        "name": "员工",
                        "newest_sign_dt": "2023-08-07 15:06:57"
                    },
                    "add_by_name": "HR1",
                    "contract_no": ""
                }
            ]
        },
        {
            "entry_id": "41503****7cb47****a465d****afb69",
            "data": []
        }
    ],
    "errcode": 0,
    "errmsg": ""
}

参数说明:

参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
data 返回数据
status 合同状态(0: 待发起签署, 1: 签署中, 2: 拒绝签署, 3: 撤回签署, 4: 签署完成, 5: 作废合同)
contract_name 合同状态
newest_sign_dt 合同最新签署时间
contract_category_id 合同分类Id
contract_category_name 合同分类名称
id 合同Id
add_dt 合同发起时间
package_task_id 合同包Id
add_by_id 合同添加人Id
sign_target_type 合同签署对象类型(1: 企业,2: 企业和员工,3: 员工)
company_sign_detail 企业签署详情(sign_status: 企业签署状态, id: 签署人Id, name: 签署人名称, newest_sign_dt: 最新签署时间)
employee_sign_detail 员工签署详情(sign_status: 企业签署状态, id: 签署人Id, name: 签署人名称, newest_sign_dt: 最新签署时间)
add_by_name 合同添加人
contract_no 合同编号
sign_status 签署详情状态(0: 未签署, 1: 签署中, 2: 签署完成)
msg 执行情况信息
is_success 执行状态