基于员工获取sessionId接口

  • 接口:由第三方提供,我们配置到系统中。
  • Method:POST
  • 数据格式:JSON
  • 接口说明:此接口用于生成调用第三方商旅接口所需的身份令牌(sessionId)。云简的单点登录、人员同步、部门同步、申请单同步、账单同步等流程,均通过本接口获取 sessionId。
    • 单点登录场景传入真实员工的 userId;人员、部门、申请单、账单等同步场景传入该渠道配置的管理员账号 userId(由云简侧自动确定,第三方按渠道账户校验即可)。
    • 云简会缓存 sessionId 直至 timeLimit 过期,缓存有效期内不会重复请求本接口;业务接口返回 9998(身份验证失效)时,云简会删除缓存并重新调用本接口一次。
    • 当前所有渠道均使用本接口获取 sessionId,基于租户生成 sessionId 的接入方式暂未启用。
  • 文末有版本说明

请求参数

字段 类型 释义 必填
account String 账户
secret String 账户密码
timestamp String 13位毫秒时间戳的请求时间,如果此时间与当前时间相差较大,则判定请求失效。
platform String 渠道标识,与云简后台配置的渠道一致
userId Integer 云简的员工编号;人员、部门、申请单、账单等同步场景下为该渠道配置的管理员账号编号
sign String 基于双方线下约定的signKey生成的加密串,signKey是不参与接口传递的,基于MD5算法加密后,双方可以基于MD5不可被逆向解密的特性,确认对方有正确的signKey且传递的参数没有被篡改。生成逻辑和示例代码

参与签名(sign)的参数为 account、secret、timestamp、platform、userId 加上 signKey,按键名升序以 & 连接后取小写 MD5,与生成sign的说明一致。

说明:userNosource 为后续演进预留的字段,当前版本不传递

返回参数

字段 类型 释义 必填
resCode String 代码
resMsg String 错误描述,正确用success
sessionId String 身份令牌,代码不为“10000”时,这个可以为空
timeLimit long 有效期至,13位时间戳,代码不为“10000”时,这个可以为空

说明:只有 resCode 为 10000 时云简才会取用 sessionId,其余返回值云简按获取失败处理(业务侧记录“生成身份验证失败”);timeLimit 用于计算云简侧 sessionId 缓存的过期时间。

请求参数示例

{
  "account": "exampleAccount",
  "secret": "examplePassword",
  "timestamp": "1618708800000",
  "platform": "examplePlatform",
  "userId": 12345,
  "sign": "exampleSign"
}

返回参数示例

{
  "resCode": "10000",
  "resMsg": "success",
  "sessionId": "exampleSessionId",
  "timeLimit": 1622505600000
}

版本说明

版本号 编写日期 更改内容
V1.0 2020.02.01 初稿
V1.1 2023.06.01 减少一个userId,增加一个userNo(该调整未启用,当前仍传递userId)
V1.2 2024.07.25 优化代码描述,优化请求示例和返回示例,增加soure字段,为未来去platform做准备(该调整未启用,当前仍传递platform)
V1.3 2026.09.11 按当前实现修正:明确实际传递 platform、userId;userNo、source 暂未启用;补充 sessionId 缓存、9998 失效重试与 resCode 判定说明

results matching ""

    No results matching ""