# 员工信息接入FAQ
# 1 中文数据乱码
问:人员/部门同步至美团企业版,在企业后台查看中文乱码?
答:美团企业版编码格式为UTF-8,调用方可从以下几个方面入手排查是否指定编码格式为UTF-8
1、发送HTTP或HTTPS请求,调用美团企业版接口,是否添加编码格式参数
{"Content-type":"application/x-www-form-urlencoded; charset=utf-8"}
2、项目打包编码格式是否指定为UTF-8
3、服务启动时是否配置编码格式为UTF-8
4、查看服务部署容器配置,默认的编码格式是否为UTF-8
# 2 token不合法
问:调用美团企业版人员/部门相关接口,返回提示token不合法是什么问题?
答:token是请求美团企业版接口的验证钥匙,由美团企业版生成提供给客户,若出现token不合法的提示,请进行以下确认
1、是否已经有美团工作人员提供接口调用相关的token和secretKey,若美团工作人员未提供token,请联系美团企业版对接人员,索要token
2、联系美团工作人员,确认提供的token是否正确,token与接口调用环境是否一致
3、若仍不能定位问题,联系美团相关开发人员协助处理
# 3 加解密异常
问:调用美团企业版人员/部门相关接口,通过美团企业版提供的secretKey进行数据加密后,调用接口,提示"content不合法"
答:1、联系美团企业版工作人员,确认加密密钥(secretKey)是否正确,secretKey与接口调用环境是否一致
2、确认加解密方式是否正确,参考以下代码
/**
* 数据加密
*/
public void testEncrypt() throws Exception {
//加密前的json
String json = "{\"key\":value}";
//使用美团企业版提供的AES工具
AesCypher cypher = new AesCypher("美团企业版提供的secret key");
//执行数据加密
String encrypt = cypher.encrypt(json);
System.out.println(encrypt);
}
/**
* 数据解密
*/
public void testDecrypt() throws Exception {
//加密后的json
String json = "XXX";
//使用美团企业版提供的AES工具
AesCypher cypher = new AesCypher("美团企业版提供的secret key");
//执行数据解密
String decrypt = cypher.decrypt(json);
System.out.println(decrypt);
}
# 4 手机号、邮箱或工号重复问题
问:为什么同步人员数据的时候,会有数据重复的提示?
答:1、美团企业版要求,在同一个企业内不同员工的手机号和邮箱不可重复(手机号和邮箱若没有设置为唯一标识、且没有设置为必填,同步数据时可传空值)
2、若设置工号为唯一标识,工号不允许重复且必填
# 5 无接口访问权限
问:调用美团企业版接口同步数据,提示"鉴权失败,无接口访问权限"。
答:该提示表明您调用的接口方法,没有开通使用权限,请联系美团企业版工作人员,提供企业id和您需要调用的接口,由美团企业版工作人员为您开通权限后,方可正常使用
# 6 怎样判断请求美团企业版接口是否成功
问:调用美团企业版接口,不知道是不是调用成功,怎么判断?
答:美团企业版所有对外接口有统一的返回格式,status:0,代表请求成功,不为"0"代表请求失败,失败时"msg"会提示失败原因。
如下json为请求失败时的返回数据:
{"status":11010, "msg":"ts缺失或ts时间已过期: ts缺失或ts时间已过期", "data":}
如下json为请求成功时的返回数据:
{"status":0, "msg":"", "data":{data数据格式请查看所调用接口文档内说明的返回数据格式}}
# 7 调用接口新增、修改、删除部门或者员工数据,超时异常
问:调用美团企业版接口,新增、修改、删除部门、员工或者角色相关数据,超时时间怎么设置,超时异常会影响同步结果吗?
答:部门、人员和角色相关接口,服务端设置的超时时间在接口说明文档中有写明,调用端可根据需求设置,建议不要小于接口说明中给出的超时时间
如果出现超时异常,不会影响同步结果,只是调用端不能获取到本次请求的处理结果。此时可以通过查询接口获取最新同步数据。