员工信息批量同步
- 接口(建议后缀): /employee/save
- Method-Type:POST
- 数据格式:Json
- 调用方:每刻
- 接口说明:每刻将通过供应商提供的此接口批量推送企业用户信息,每次传输 50 个员工。
请求参数
参数 |
类型 |
必须 |
描述 |
externalCorpCode |
String |
Y |
企业唯一标识 |
employeeList |
List<Employee> |
Y |
该企业下同步员工列表 |
Employee
参数 |
类型 |
必须 |
描述 |
openId |
String |
Y |
员工在每刻唯一标识 |
employeeId |
String |
Y |
员工在企业的工号 |
employeeName |
String |
N |
员工在企业的昵称(不一定是员工真实姓名) |
cnName |
String |
[1] |
中文名 |
firstName |
String |
[1] |
名(英文名) |
middleName |
String |
[1] |
中间名(英文名) |
lastName |
String |
[1] |
姓(英文名) |
mobile |
String |
N |
手机号 [2] |
email |
String |
N |
邮箱 [2] |
gender |
String |
N |
性别(F/M) |
birthday |
String |
N |
出生日期(yyyy-MM-dd) |
nationality |
String |
N |
国籍(国家标准三字码) |
identityNo |
String |
N |
身份证号 [3] |
passportNo |
String |
N |
护照号 [3] |
militaryOfficerNo |
String |
N |
军官证 [3] |
hkMacaoPassNo |
String |
N |
港澳通行证 [3] |
role |
String |
N |
角色 [4] |
rank |
String |
N |
职级 |
position |
String |
N |
职位 |
subsidiaryList |
List<Subsidiary> |
N |
员工汇报树 |
costCenterList |
List<CostCenter> |
N |
员工成本中心 |
approver |
List<Approver> |
N |
员工审批人 |
residenceCity |
City |
N |
常驻地城市 |
status |
bool |
N |
员工状态(在职离职) |
sendNotification |
bool |
N |
是否发送短信或邮件通知 |
regulationIdList |
List<String> |
N |
员工规则列表(如员工用车差标准、制度列表) |
[info] 说明:
[1] 员工中文名于英文名之间必须会填一个,不会两个为空。
[2] 员工在每刻中可能没有手机号和邮箱。
[3] 企业出于隐私考虑,可能不会提供给每刻员工的这些信息,TMC若需要,自行在预订时获取。
[4] 角色的值,由第三方给出定义,企业只要在每刻配置匹配规则(按部门等等),同步员工的时候会带上这个角色。一般用来标记某些员工无需申请单即可预定。
Subsidiary
参数 |
类型 |
必须 |
描述 |
subsidiaryCode |
String |
Y |
子公司唯一标识 |
subsidiaryName |
String |
N |
子公司名称 |
isDefault |
bool |
Y |
是否默认(如果员工属于多个子公司,isDefault = true 只会有一家) |
departmentList |
List<Department> |
N |
员工所属部门 |
invoiceTitleList |
List<InvoiceTitle> |
N |
开票抬头 |
Department
参数 |
类型 |
必须 |
描述 |
departmentCode |
String |
Y |
部门唯一标识 |
departmentName |
String |
N |
部门名称 |
departmentHeirCode |
String |
N |
部门继承链(编码)[以 . 分隔] |
departmentHeirName |
String |
N |
部门继承链(名称)[以 / 分隔] |
departmentBizCode |
String |
N |
部门业务编码(部门在客户系统或者上游系统中的编码) |
isDefault |
bool |
Y |
是否默认部门(如果员工属于多个部门,同一个子公司下 只有一个 isDefault = true 的部门) |
InvoiceTitle
参数 |
类型 |
必须 |
描述 |
invoiceTitleCode |
String |
Y |
开票抬头唯一标识 |
invoiceTitleName |
String |
N |
开票抬头名称 |
taxNo |
String |
N |
税号 |
isDefault |
bool |
Y |
是否默认 |
CostCenter
参数 |
类型 |
必须 |
描述 |
costCenterCode |
String |
N |
成本中心唯一标识 |
costCenterName |
String |
N |
成本中心名称 |
[info] 说明:
第三方如果需要对接员工成本中心,需要提前跟每刻沟通,才会放开让企业管理员进行配置,如不提前沟通,上线时将不具备传成本中心的能力
Approver
参数 |
类型 |
必须 |
描述 |
externalEmployeeCode |
String |
Y |
审批人在第三方中唯一标识 |
businessScope |
BusinessScope |
Y |
审批人管控的业务类型 |
approverType |
OrderType |
Y |
审批人管控的预定类型 |
BusinessScope
code |
定义 |
FLIGHT |
机票 |
HOTEL |
酒店 |
TRAIN |
火车票 |
OrderType
code |
定义 |
ORDER |
预订 |
CHANGE |
改签 (酒店没有改签) |
REFUND |
退票 (退订) |
City
字段 |
类型 |
必填 |
描述 |
code |
String |
Y |
每刻城市编码 |
name |
String |
Y |
每刻城市名称 |
heirCode |
String |
Y |
每刻城市继承链编码 |
heirName |
String |
Y |
每刻城市继承链名称 |
adminDivCode |
String |
N |
行政区划编码(仅国内城市有) |
响应结构
EmployeeSyncResult
参数 |
类型 |
必须 |
描述 |
openId |
String |
Y |
员工在每刻中唯一标识 |
employeeName |
String |
Y |
员工姓名 |
externalEmployeeCode |
String |
Y |
员工在第三方中的账号 |
errorMessage |
String |
N |
同步失败原因(当 openId 员工位于同步失败员工列表时,此字段必填) |
[info] 说明:
接下来所有涉及区分员工的接口,都使用第三方提供的 externalEmployeeCode 标识。
示例
[warning] 重要:
示例维护并非和文档字段维护一样频繁,如果遇到示例和文档不一致,请以文档为准
请求头:
{
"tokenId": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJtYXljdXJfand0X2Rldl9pZCIsInN1YiI6IlBGMjAwNjIwMTI1NU5GTk8iLCJpYXQiOjE2MDQ2MzA5NjYsImF1ZCI6IlBMQVRGT1JNIiwiZXhwIjoxNjA0NjM0NTY2LCJwcm9kdWN0TGluZSI6IkRBVEFfSFVCIn0.AyNIwPtGUXxFMuHO8Bx-4XeXNyWYRcot40MfsL1swr4"
}
请求示例:
{
"externalCorpCode": "0123456",
"employeeList": [
{
"openId": "EMP2208171IIXXXXX",
"employeeId": "0000001",
"cnName": "张三",
"mobile": "139xxxxxxxx",
"email": "xxxxxx@qq.com",
"role": "无需审批员工",
"rank": "P10",
"subsidiaryList": [
{
"subsidiaryCode": "SIxxxxxxxxxxxxxxx",
"subsidiaryName": "天津歌剧营销有限公司",
"departmentList": [
{
"departmentCode": "DHDI42803480284",
"departmentName": "芭蕾编舞推广事业组",
"departmentHeirCode": "DHDI12341433214.DHDI123132154234152.DHDI12342143245432.DHDI7890452797592.DHDI42803480284",
"departmentHeirName": "天津歌剧有限公司/天津歌剧营销有限公司/芭蕾舞部/芭蕾编舞事业部/芭蕾编舞推广事业组",
"isDefault": false
}
],
"invoiceTitleList": [
{
"invoiceTitleCode": "SIyyyyyyyyyyyyyyyy",
"invoiceTitleName": "天津歌剧营销有限公司",
"taxNo": "913112334234236867687686674423N",
"isDefault": true
}
],
"isDefault": false
},
{
"subsidiaryCode": "SIzzzzzzzzzzzzzzzzzzzzzzzz",
"subsidiaryName": "天津戏剧营销有限公司",
"departmentList": [
{
"departmentCode": "DHDI679873489",
"departmentName": "戏剧编舞推广事业组",
"departmentHeirCode": "DHDI123809182309805.DHDI123480328.DHDI280403280.DHDI4237985794.DHDI679873489",
"departmentHeirName": "天津歌剧有限公司/天津戏剧营销有限公司/戏剧部/戏剧编舞事业部/戏剧编舞推广事业组",
"isDefault": false
}
],
"isDefault": true
}
],
"approver": [
{
"externalEmployeeCode": "2187dcc57843987",
"businessScope": "FLIGHT",
"approverType": "CHANGE"
},
{
"externalEmployeeCode": "2187dcc57843987",
"businessScope": "FLIGHT",
"approverType": "REFUND"
},
{
"externalEmployeeCode": "57398792500",
"businessScope": "HOTEL",
"approverType": "REFUND"
}
],
"status": true,
"sendNotification": false
}
]
}
响应示例:
{
"success": true,
"errorMessage": null,
"data": [
{
"openId": "EMP2208171IIXXXXX",
"employeeName": "张三",
"externalEmployeeCode": "员工在第三方的唯一标识",
"errorMessage": null
}
],
"errorData": [
{
"openId": "18758233074",
"employeeName": "这里是同步失败员工示例,请求的 Json 和成功员工一致,但第三方返回失败",
"errorMessage": "xxxxxxxxxxxxx"
}
]
}