# 基本概念介绍

# 术语介绍

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

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

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

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

1)允许调用IP列

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

2)授权API列

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

3)openapi地址

将接口定义文档中的请求地址中的https://openapi.waiqin365.com替换成openapi地址就是客户请求接口的实际路径

avatar

avatar

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

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

pushsecret:签名密钥

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

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

3、外勤ID和第三方ID

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

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

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