例子 黄超彬 4月20日 更新wiki+视频
1.流程图:
2.启用
系统设置-服务器设置-是否开启数据推送 打开即可
...
(2)匹配规则/适用范围 → 决定哪些用户的消息能够被“数据推送”功能推送出去。
4.自定义需要发送的字段
如下:
字段 | 说明 | 字段 | 说明 |
---|---|---|---|
标题 | 可以用来标记同步的OA | 所属部门 | 分类管理, 支持适用左组织树筛选 |
消息类别 | 通知,待办,全部(message 的分类), 其他(非消息类) | 是否启动 | . |
请求方式 | http请求方式(webService可以忽略,默认值就好) | 消息事件 | 新增, 编辑, 删除, 全部, 适配不同消息的动作而发送消息到不同的url |
配置字段发送格式 | 配置字段发送格式 | 请求头 | {"Content-Type": "application/json"} |
url地址 | 对接链接 | 部门适用范围 | 消息接收人部门过滤 |
岗位适用范围 | 消息接收手岗位过滤 | 人员适用范围 | 消息接收人过滤 |
关联对象 | 相当于入口条件,消息类别是其他的时候使用 | 请求数据json | 请求的json属性数据 |
请求数据data | 请求的data属性数据 | 请求数据params | 请求的params参数(自动追加到url上) |
请求数据默认值 | 会自动追加数据到data中 | 认证配置 | 发送请求认证配置(相当于获取是否可以调用和调用的令牌,更安全) |
请求结果处理 | 请求发送完毕后,可以回调API,设置缓存,判断是否调用成功 | 重试机制 | 失败后重新发送,支持配置失败后提醒,重试几次(最大10次,默认两次),每次失败执行间隔 |
请求url_params | 会在请求时,自动替换链接上的参数,和params参数同一属性 |
配置字段发送格式说明,
最外层 关键字 (新版参数如json_v2在下文“实际配置案例”中给出。)
字段key | 示例 | 作用 |
---|---|---|
json(旧版参数,请减少使用,新版为json_v2) | {"json": "common": { "type": 1, "appName": "014", "modelId": "014001", "modelName": "组织人事" } } | 作为requests, json字段参数 |
data(旧版参数,请减少使用,新版为data_v2) | {"data": "common": { "type": 1, "appName": "014", "modelId": "014001", "modelName": "组织人事" } } | 作为requests, data字段参数 |
params(旧版参数,请减少使用,新版为params_v2) | {"params": "common": { "type": 1, "appName": "014", "modelId": "014001", "modelName": "组织人事" } } | 作为requests, params字段参数 |
url_params(旧版参数,请减少使用,新版为url_params_v2) | {"url_params": "common": { "type": 1, "appName": "014", "modelId": "014001", "modelName": "组织人事" } } | 作为url参数 |
auth_info | { "url": "https://qyapi.weixin.qq.com/cgi-bin/gettoken", "method": "GET", "params": { "corpid": "ww5de3ed5917bds62a", "corpsecret": "rBZrTHJsdTlhoPsDAOohj2k4JgXVKshJjdAZnM(已脱敏)" }, "headers": {}, "auth_key": "access_token", "location": "params", "expire_time": 1500, "get_token_field": ["access_token"] } | 请求认证信息 url:请求接口 method:请求类别 POST,GET等 params:接口参数 headers:请求头 auth_key:用于字段映射的key location:返回值是添加到请求的params参数上还是请求头上(params,header,两个值) expire_time:设置缓存 get_token_field:从请求返回数据的 ["access_token"] 中获取数据,赋值给auth_key,用于正式请求的准备数据 |
proxy_number | hcm_proxy_xxxxx | 请求 代理配置,一般可以不配置,钉钉建议配置 |
success_response_define | 1.返回结果校验:{"success_response_define": "=response_check([\"result\", \"success\"], \"true\")"} 2."response_cache_config": { | 1.请求之后,对返回结果判断是否成功,例子中,response_check是公式,[\"result\", \"success\"]是返回结果中的resilt下面的success 是true认为是成功,其他的都是失败; 2.请求成功之后,后续还需要调接口做其他事。callback_api:后续操作所需要调用的接口;callback_param:接口参数; success_response_key:接口返回结果 success_response_value:结果中的字段判断是成功的标识 |
third_type | "third_type": "ding" | 指明第三方类型,只有标准第三方集成才配置(钉钉,企业微信,云加,飞书) |
unique_third_key | "unique_third_key": ["user_info", "unionid"] | 获取第三方app发送消息需要的字段,一般是获取系统绑定信息的 |
rtype | "rtype": "content" | 默认请求的返回值是json(), 可以指定 text, content 等,用于解析请求返回的返回值,在请求体的哪个属性。 |
resend_params | "resend_params": { | 如果第一次发送失败再次发送需要换做校验,search_url:校验请求的地址;old_url_params:是否原来的url参数,false的话需要重新在此处配置url_params;success_response_define:请求完成之后判断是否成功; old_json:如果是true,默认还是使用原来的json,否则就需要在这里重新配置json参数 (暂时只支持了json的处理,后续加上data的) |
resend_rule | "resend_rule": [{ | 第一次发送失败之后,默认会重新在推送一次,如果配置有这个重新推送规则,重推失败之后,会给这个手机号发送通知,手机号是固定值,配置了多少次就会重新推送多少次 |
sub_map_id | "sub_map_id": 19 | 新增的推送配置ID,在编辑时候使用 |
request_type | hcminnerapi | 调用外部接口时无需配置,调用内部接口需要配置 |
send_check (测试中,预计发版时间12.16) | { "content": "=is_value_contains(content, \"导出|导入|计算|下载\", False)", ... ... "check_type": "and"// 上面列的多个条件是且判断(and)还是或判断(填写"or"), 默认且判断
| 根据里面的条件判断是否要发送。key随便写,关键是后面的判断公式。 左例中两个判断条件,一个是IF(is_task_done==2,True,False),表示消息的is_task_done属性(待办状态)为2(已办)时返回True;另一个是is_value_contains(\"导出|导入|计算|下载\", content, False),表示消息内容中包含“导出|导入|计算|下载”时,报错,即返回False。 check_type为and时,上述条件同时为True,才会发送,否则不进行数据推送。check_type为or时,上述条件只要有一个返回True,就可以推送消息。 |
5.实际配置案例(系统的数据都可以推送到第三方,不限于消息):
...
单点云函数案例:个性化登录(查看 2.非标准单点模式)
3.认证信息配置详情(看情况配置)
auth_info | url | 请求token的url |
method | 请求方法 | |
headers | 请求头 | |
params | 请求参数 如企业微信为{"corpid": "****", "corpsecret": "****"} | |
data | 一般不用填 | |
json | 一般不用填 | |
get_token_field | 解析请求响应体得到token, 类型为列表 , 如 ["token"] | |
expire_time | token缓存时间, 例如token有效期为30分钟 此处可以写 1500 | |
auth_key | token在认证时的key 如 "token" | |
proxy_number | 指定请求代理 | |
location | data, json, params, headers, 需要将信息添加到这些字段里面去 | |
rtype | 默认请求的返回值是json(), 可以指定 text, content 等 |
案例:
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "url": "https://qyapi.weixin.qq.com/cgi-bin/gettoken", "method": "GET", "params": { "corpid": "ww5dse3asebcab462a", "corpsecret": "rBZrTHww5debc5sd917bAvD2dP_Qa5k4JgsnM(脱敏处理)" }, "headers": {}, "auth_key": "access_token", "location": "params", "expire_time": 1500, "get_token_field": ["access_token"] } |
...