2.4 用户同步(客户推送)
# 2.4 用户同步(客户推送)
百福得提供接口,企业实时/定时同步员工数据到百福得,企业可以全量或增量调用接口,account不存在创建,存在则更新,该接口返回的状态仅仅是数据格式的基本校验,并不代表实际处理结果,实际处理结果请参考2.5接口。
# 接口URL
{开放平台域名地址}/openApi/open/user/v1/push
# HTTP请求方式
POST
# 公共参数
| 字段 | 类型 | 是否必填 | 中文意描述 |
|---|---|---|---|
| appId | String | 是 | 由百福得向客户方发放 |
| timestamp | String | 是 | 毫秒级时间戳 防止重复攻击 |
| sign | String | 是 | 签名 |
| version | String | 否 | 业务接口版本号,如1.0.0 |
| batchNo | String | 否 | 自定义批次号,每次推送保证全局唯一,用于查询同步结果 |
# body参数
| 字段 | 类型 | 最大长度 | 是否必填 | 中文意描述 |
|---|---|---|---|---|
| account | String | 100 | 是 | 账号 |
| initiationStatus | String | 1 | 是 | 入会状态1入会 2退会 |
| username | String | 100 | 是 | 姓名 |
| externalNo | String | 50 | 是 | 企业内部用户唯一标识 (若无唯一标识可赋值account一致,出参根据externalNo返回用户信息校验结果) |
| platformId | String | 64 | 否 | 企微账号、飞书用户ID、钉钉UserID |
| platformType | Integer | 32 | 否 | 账号平台类型,企业微信传递21、钉钉31、飞书41 |
| enname | String | 100 | 否 | 英文名 |
| mobile | String | 50 | 否 | 手机(建议保持准确,后续消息通知等会使用) |
| String | 50 | 否 | 邮箱 | |
| sex | String | 1 | 否 | 性别 1:男 2:女 |
| birthday | String | 10 | 否 | 生日 格式 yyyy-MM-dd |
| initiationAt | String | 10 | 否 | 入会时间 格式 yyyy-MM-dd |
| promotionAt | String | 10 | 否 | 转正日期 格式 yyyy-MM-dd |
| quitAt | String | 10 | 否 | 离职日期 格式 yyyy-MM-dd,若需置空该属性,传固定值:_UNDEFINED_ |
| entryAt | String | 10 | 否 | 入职时间 格式 yyyy-MM-dd |
| isForeigner | String | 1 | 否 | 是否外籍员工 0:非外籍员工 1:外籍员工(缺省时为0) |
| department | String | 32 | 否 | 部门code,详见部门同步接口 |
| position | String | 32 | 否 | 员工岗位名称 |
| jobNumber | String | 32 | 否 | 工号 |
| idType | String | 1 | 否 | 证件类型 1-身份证、2-警官证、3-军官证、4-港澳台证、5-护照、6-其他、7-港澳居民来往大陆通行证、8-台湾居民来往大陆通行证 |
| idCard | String | 45 | 否 | 证件号 |
| extAttributeJson | String | 否 | 扩展字段JSON,必须key:value结构,例如:{"name":"zhangsan","age":18} |
# 请求示例
POST /openApi/open/user/v1/push?appId=abc×tamp=1597300776947&sign=fa66cb4d8604413b8fb30afd32e3e73e&batchNo=100251221116155036001 HTTP/1.1 Content-Type: application/json Cache-Control: no-cache [ { "account": "zhangsan", "initiationStatus": "1", "externalNo": "7ad23229753615609dcf0639c2f56fd2885acc15", "platformId": "zhangsan", "platformType": 21, "username": "张三", "enname": "zhangsan", "mobile": "13587659870", "email": "zhangsan@qq.com", "sex": "1", "birthday": "1992-05-17", "initiationAt": "2019-09-18", "entryAt": "2019-09-18", "promotionAt": "2019-09-19", "quitAt": "2019-09-20", "isForeigner": "0", "department": "001", "position": "总经理", "jobNumber": "T001", "idType": "1", "idCard": "310634199205171756", "extAttributeJson":"{\"name\":\"zhangsan\",\"age\":18}" }, { "account": "lisi", "initiationStatus": "1", "externalNo": "7ad23229a53615609dcf0639c2f56fd2885acc85", "platformId": "lisi", "platformType": 21, "username": "李四", "enname": "lisi", "mobile": "13587659872", "email": "lisi@qq.com", "sex": "2", "birthday": "1992-06-17", "initiationAt": "2018-09-18", "entryAt": "2018-09-18", "promotionAt": "2019-09-19", "quitAt": "2019-09-20", "isForeigner": "0", "department": "001", "position": "总经理", "jobNumber": "T002", "idType": "1", "idCard": "310634199206171767", "extAttributeJson":"{\"name\":\"lisi\",\"age\":20}" } ]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 返回参数说明
| 字段 | 类型 | 是否必填 | 中文意描述 |
|---|---|---|---|
| code | String | 返回码 | |
| data | ResponseData | 否 | 相应报文 |
| msg | String | 否 | 如果错误,返回错误信息 |
ResponseData:
| 字段 | 类型 | 是否必填 | 中文意描述 |
|---|---|---|---|
| externalNo | String | 否 | 企业内部用户唯一标识 |
| state | String | 是 | 处理状态(SUCC-成功 ERROR-失败) |
| message | String | 是 | 错误说明 |
# 返回示例
success:
{
"code": "0",
"data": [
{
"externalNo": "3648293849203942",
"state": "SUCC",
"message": "成功"
},
{
"externalNo": "3648293849203943",
"state": "SUCC",
"message": "成功"
}
],
"msg": "success"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fail:
{
"code": "10016",
"data": null,
"msg": "签名错误"
}
1
2
3
4
5
2
3
4
5