员工管理

更新时间:2019-3-29

1. 获取员工列表

请求地址
GET /employee?Ids=xxxx,xxxx
参数说明
参数 是否必须 说明
Ids 可指定要获取的员工Id,支持以逗号分隔的多员工Id
员工查询接口支持丰富的条件过滤参数,请参见支持的查询参数附录
返回结果
{
    "offset": 0,
    "total": 0,
    "results": [
        {
            "id": "1182468b-248b-4622-9be3-18ba04b84b9e",
            "enterpriseId": 1,
            "employeeNo": "001",
            "employeeName": "张三",
            "companyId": 1,
            "companyCode": "01",
            "companyName": "北京易点易动科技有限公司",
            "departmentId": 1,
            "departmentCode": "0101",
            "departmentName": "研发部",
            "phoneNumber": "138****8888",
            "email": "t**t@test.com",
            "status": 1,
            "createdDate": "1539049334",
            "nameJianPin": "zs",
            "nameQuanPin": "zhangsan",
            "boundToWeChat": 0,
            "culture": "zh-CN"
        }
    ],
    "meta": {}
}
参数 说明
offset 当前结果对于首条结果的偏移量,指定分页查询时不为0
total 所有符合查询条件的查询结果数量,指定需要结果记录数量时不为0
results 符合查询条件的员工详情集合
meta 其他信息

2. 创建员工

【注意】该接口创建的员工均为在职状态 ,因为通常情况下创建离职状态员工是无意义的操作。

请求地址
POST /employee
请求示例
{
    "employeeNo": "001",
    "employeeName": "张三",
    "companyCode": 1,
    "departmentCode": 1,
    "phoneNumber": "138****8888",
    "email": "t**t@test.com",
    "status": "onjob",
    "culture": "zh-CN"
}
参数说明
参数 是否必须 说明
employeeNo 自定义员工编码
employeeName 员工姓名
companyCode 员工所属公司编码
departmentCode 员工所属部门编码
phoneNumber 员工电话号码
email 员工电子邮件地址
status 员工在职状态,"onjob"和"dimission"分别表示在职和离职
culture 员工语言文化设置信息
返回结果
{
    "Id": "1182468b-248b-4622-9be3-18ba04b84b9e",
    "EmployeeNo": "001"
}
结果说明
参数 说明
Id 员工Id
employeeNo 自定义员工编码

3. 更新员工

请求地址
PUT /employee
POST /employee/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "EmployeeNo": "001",
    "EmployeeName": "张三",
    "Culture": "zh-CN"
}
参数说明
参数 是否必须 说明
employeeNo 自定义员工编码
employeeName 员工姓名
culture 员工语言文化设置信息
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

4. 更新员工编码

请求地址
PUT /employee/no
POST /employee/no/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "CurrentEmployeeNo": "001",
    "NewEmployeeNo": "002"
}
参数说明
参数 是否必须 说明
CurrentEmployeeNo 当前使用的自定义员工编码
NewEmployeeNo 预更新的自定义员工编码
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

5. 变更员工所属公司部门

请求地址
PUT /employee/{EmployeeNo}/organization
POST /employee/{EmployeeNo}/organization/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "NewCompanyCode": "02",
    "NewDepartmentCode": "0202"
}
参数说明
参数 是否必须 说明
EmployeeNo 自定义员工编码
NewCompanyCode 预更新的公司编码
NewDepartmentCode 预更新的部门编码
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

6. 更新员工电话号码

请求地址
PUT /employee/{EmployeeNo}/phone
POST /employee/{EmployeeNo}/phone/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "Phone": "13888888888"
}
参数说明
参数 是否必须 说明
EmployeeNo 自定义员工编码
Phone 员工电话号码
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

7. 更新员工Email地址

请求地址
PUT /employee/{EmployeeNo}/email
POST /employee/{EmployeeNo}/email/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "Email": "test@example.com"
}
参数说明
参数 是否必须 说明
EmployeeNo 自定义员工编码
Email 员工Email地址
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

8. 删除员工

请求地址
DELETE /employee
POST /employee/delete

对于不支持DELETE请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "EmployeeNo":["001","002"]
}
参数说明
参数 是否必须 说明
EmployeeNo 员工编码,支持以逗号分隔的多员工编码
返回结果
{}

对于成功删除的请求,该接口仅返回HTTP 200 OK

附加信息

下列条件之一成立时,无法对指定的员工进行删除操作

  1. 该员工存在资产信息

9. 设置员工的在职状态

请求地址
PUT /employee/{EmployeeNo}/status
POST /employee/{EmployeeNo}/status/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "Status":"onjob"
}
参数说明
参数 是否必须 说明
EmployeeNo 自定义员工编码
Status 员工的在职状态,"onjob"和"dimission"分别表示在职和离职
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

10. 设置员工的微信绑定状态

请求地址
PUT /employee/{EmployeeNo}/bindtowechat
POST /employee/{EmployeeNo}/bindtowechat/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例
{
    "Status":1
}
参数说明
参数 是否必须 说明
EmployeeNo 自定义员工编码
Status 微信绑定状态,0和1分别表示未绑定和绑定
返回结果
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

附录

1. 支持的查询参数

如无特别说明,下列操作对于查询实体对象中的任意属性均适用。使用时只需将其追加至请求的querystring中即可。对实体对象中不存在的属性进行操作将会得到不可预期的结果。

  • 分页
    • skip={数字} 跳过指定条数的记录数
    • take={数字} 取出指定条数的记录数
    • include=total 需要返回记录总数
  • 排序
    • orderBy=[-]{属性名称},[-]{属性名称} 返回结果按指定属性排序,在名称前加”-“表示按倒序排序。多个属性的排序可使用逗号分隔。如:orderBy=-Id,Name,-Age
  • 条件过滤
    • 不等于
      • {属性名称}!={值} 如:Id!=1
    • 大于等于
      • >{属性名称}={值} 如:>Id=1
    • 大于
      • {属性名称}>={值} 如:Id>=1
    • 小于
      • <{属性名称}={值} 如:<Id=1
    • 小于等于
      • {属性名称}<={值} 如:Id<=1
    • In
      • {属性名称}In={值,值,值} 属性的值需包含在指定的集合中,如:IdIn=1,2,3
    • Between
      • {属性名称}Between={值,值} 属性的值需处于指定的区间之间,仅支持数字,如: IdBetween=1,3
    • 字符串包含指定字符
      • {属性名称}Contains={值} 如:nameContains=abc
    • 字符串以指定字符开头
      • {属性名称}StartsWith={值} 如:nameStartsWith=abc
    • 字符串以指定字符结尾
      • {属性名称}EndsWith={值} 如:nameEndsWith=abc
  • 自定义返回结果
    • 使用Fields参数来指定返回结果中需要的属性或字段名称 如:对于员工查询接口使用Fields=Id,employeeName,返回的员工集合结果中将仅包含此2个属性。

2. 数据实体格式

1. 员工数据对象格式
属性名称 说明
id 员工Id
enterpriseId 员工所属企业Id
employeeNo 自定义员工编码
employeeName 员工姓名
companyId 员工所属公司Id
companyCode 员工所属公司编码
companyName 员工所属公司名称
departmentId 员工所属部门Id
departmentCode 员工所属部门编码
departmentName 员工所属部门名称
phoneNumber 员工电话号码
email 员工电子邮件地址
status 员工状态,0和1分别表示离职和在职状态
createdDate 员工创建时间戳
nameJianPin 员工姓名简拼
nameQuanPin 员工姓名全拼
boundToWeChat 员工是否已绑定微信
culture 员工语言文化设置信息