员工信息批量同步

  • 接口(建议后缀): /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 行政区划编码(仅国内城市有)

响应结构

参数 类型 必须 描述
success bool Y 同步员工是否成功
errorMessage String N 失败信息(当 success 返回为 false, 该字段必填)
data List<EmployeeSyncResult> Y 同步成功员工列表
errorData List<EmployeeSyncResult Y 同步失败员工列表

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"
    }
  ]
}

results matching ""

    No results matching ""