# 基本概念介绍

# 术语介绍

1、openid和appkey(企业主动调用勤策接口时使用)

openid:企业接入唯一授权标识

appkey:企业授权数据签名密钥,是企业调用接口时用于保障数据安全的“钥匙”,为了保证数据的安全,appkey务必不能泄漏。

每个企业可以配置多个openid和appkey对应不同的接口调用权限。电脑侧登录勤策网站,在管理后台->“系统”->“OpenApi”->“API授权”, 企业管理员使用勤策app扫码验证,即可看到配置页面。

1)允许调用IP列

通过openid及appkey调用接口时,可以设置访问来源IP为白名单。IP白名单是指一组IP列表,只有该列表中的IP地址的程序可以调用接口。IP为空表明未对访问来源IP做限制

2)授权API列

通过openid及appkey调用接口时,可以选择允许授权访问的接口,默认是全选

3)openapi请求地址域名选项

请将接口定义文档中的请求地址由"https://openapi.waiqin365.com"替换成下图【OpenAPI地址】列中的值

背景:由于勤策由单云升级为多云的模式,所以地址可能是多云中的其中一个,具体地址可以通过勤策平台【系统管理->OpenAPI->API授权->OpenAPI地址】查询,如下图的【OpenAPI地址】列

avatar

avatar

2、pushid、pushsecret、callbackid(企业接收勤策接口推送数据时使用)

pushid:推送id,企业接收推送数据的唯一授权标识

pushsecret:签名密钥

用于计算签名。第三方系统提供的URL是公开可访问的,这就意味着拿到这个URL,就可以往该链接推送消息。那么URL服务需要解决两个问题:
1)如何分辨出是否为勤策来源
2)如何分辨出推送消息的内容是否被篡改
通过数字签名就可以解决上述的问题。具体为:约定pushsecret作为密钥,仅第三方系统和勤策知道,在传输中不可见,用于参与签名计算。勤策在推送消息时,将消息内容与约定pushsecret作为密钥计算出签名。第三方系统接收到推送消息时,也按相同算法计算出签名。如果为同一签名,则可信任来源为勤策,并且内容是完整的。
如果非勤策来源,由于攻击者没有正确的pushsecret,无法算出正确的签名
如果消息内容被篡改,由于第三方系统会将接收的消息内容与pushsecret重算一次签名,该值与参数的签名不一致,则会拒绝该请求。

callbackid:通道ID,每个推送通道对应一个通道ID。

3、勤策ID和第三方ID

勤策ID:是勤策系统的唯一标识符,值为Long型的UUID,如7053012386494123505

第三方ID:来源于第三方系统的唯一标识,通过API新增接口产生的业务数据中此字段必填。 通过WEB页面新增产生的业务数据中无此字段。后续通过接口调用模式只能操作通过API新增的数据。

注:勤策ID和第三方ID不能同时为空,如果同时存在优先取勤策ID