【Eolinker使用】通过Webhook推送API变更通知到企业微信

当需要通过 Eolinker Webhook 对接其他程序时,一般的流程是:

  1. 获取工作空间ID,和已知的工作空间ID对比,判断是否是来自 Eolinker 官方的请求,如果不是则忽略本次请求;
  2. 根据回调数据的 hook_product 字段,判断触发的产品;
  3. 根据回调数据的 hook_event 字段,判断触发的事件;
  4. 根据回调数据的 hook_operation 字段,判断触发的具体操作;
  5. 根据产品、事件、操作来获取content字段内的内容,进行后续处理;
  6. 返回字符串 ok 给 Eolinker Webhook,结束程序。

对接企业微信机器人群消息通知的主要步骤:
(1)在企业微信移动端,【获取 企业微信机器人-WebHook地址】
(2)在Eolinker管理后台【设置 Eolinker-WebHook地址】与【创建此脚本】
(3)在第二步的【Eolinker-WebHook脚本】中编写调用第一步中的【企业微信-WebHook服务】的脚本规则

详细教程:
一、获取企业微信机器人Webhook 服务地址
(1)打开企业微信群聊,点击右上角群设置-群机器人-添加机器人,编辑机器人名称



(4)复制保存“企业微信机器人-webhook“。【用作“二(3)”步骤中脚本填写的企业微信机器人调用地址】

二、接下来进入Eolinker服务器后台(Linux)与系统管理员后台(Web)中【创建Eolinker-Webhook脚本】与【设置Eolinker-Webhook地址】
(1)连接服务器后台,进入eolinker_epc容器中的 eolinker_ams 目录中(安装目录)

docker exec -it eolinker_epc bash
cd /eolinker_ams

(2)创建文件如脚本文件(以php脚本为例):eo_wxwork_webhook.php,即文件位置与update.php同级

vi eo_wxwork_webhook.php

(3)编辑eo_wxwork _webhook.php脚本,(以调用API研发管理-监测切换 API 状态为例)

详细代码示例如下:
(红框为需要修改的地方)

'text', 'text' => [ 'content' => $text, ] ]; //判断如果产品为API研发管理 且 事件为API文档 且 操作为切换api状态 则 请求【第(一、4)步中拿到的企业微信机器人webhook地址】进行调用,填写到【 CURLOPT_URL 】中 if($eo_hook['hook_product'] == 'api_management' && $eo_hook['hook_event'] == 'api_document' && $eo_hook['hook_operation'] == 'switch_api_status'){ //调用 $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_HTTPHEADER => array( "Content-Type:application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } } (4)编写完脚本后 输入 :wq 保存内容 (5)进入eolinker管理后台-Webhook-点击新建服务调用 ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940573-1454726246.png) (6)填写 回调地址。通知URL填写内容:私有云访问地址、服务器ip 加上 脚本名(eo_wxwork_webhook.php) ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940751-1726112372.png) 点击确定后,如弹出地址错误,则需要检查以下原因:  填写的通知地址是否成功创建了此脚本文件  访问地址、文件名填写是否有误  服务器文件权限、链接重定位问题 (7)最后改变api的状态,测试效果: ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940964-1833295711.png) ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180941319-840802320.png) 详细参考 (1)企业微信自定义机器人: https://work.weixin.qq.com/help?person_id=1&doc_id=13376#如何使用群机器人/如何使用群机器人 (2)Eolinker_使用: [https://www.eolinker.com/](https://datayi.cn/w/4PKKyLxP)

posted on 2021-03-05 18:10  隔壁王书  阅读(1276)  评论(0编辑  收藏  举报

导航