當須要經過 Eolinker Webhook 對接其餘程序時,通常的流程是:php
- 獲取工做空間ID,和已知的工做空間ID對比,判斷是不是來自 Eolinker 官方的請求,若是不是則忽略本次請求;
- 根據回調數據的 hook_product 字段,判斷觸發的產品;
- 根據回調數據的 hook_event 字段,判斷觸發的事件;
- 根據回調數據的 hook_operation 字段,判斷觸發的具體操做;
- 根據產品、事件、操做來獲取content字段內的內容,進行後續處理;
- 返回字符串 ok 給 Eolinker Webhook,結束程序。
對接企業微信機器人羣消息通知的主要步驟:
(1)在企業微信移動端,【獲取 企業微信機器人-WebHook地址】
(2)在Eolinker管理後臺【設置 Eolinker-WebHook地址】與【建立此腳本】
(3)在第二步的【Eolinker-WebHook腳本】中編寫調用第一步中的【企業微信-WebHook服務】的腳本規則web
詳細教程:
1、獲取企業微信機器人Webhook 服務地址
(1)打開企業微信羣聊,點擊右上角羣設置-羣機器人-添加機器人,編輯機器人名稱
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
docker
(4)複製保存「企業微信機器人-webhook「。【用做「二(3)」步驟中腳本填寫的企業微信機器人調用地址】
json
2、接下來進入Eolinker服務器後臺(Linux)與系統管理員後臺(Web)中【建立Eolinker-Webhook腳本】與【設置Eolinker-Webhook地址】
(1)鏈接服務器後臺,進入eolinker_epc容器中的 eolinker_ams 目錄中(安裝目錄)api
docker exec -it eolinker_epc bash
cd /eolinker_amsbash
(2)建立文件如腳本文件(以php腳本爲例):eo_wxwork_webhook.php,即文件位置與update.php同級服務器
vi eo_wxwork_webhook.php微信
(3)編輯eo_wxwork _webhook.php腳本,(以調用API研發管理-監測切換 API 狀態爲例)app
詳細代碼示例以下:
(紅框爲須要修改的地方)
curl
'text', 'text' => [ 'content' => $text, ] ]; //判斷若是產品爲API研發管理 且 事件爲API文檔 且 操做爲切換api狀態 則 請求【第(1、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)