当前位置:   article > 正文

企业微信实现消息通知功能_企业微信消息通知

企业微信消息通知

一:获取消息通知所需参数:appid,secret,agentid

登录企业微信:https://work.weixin.qq.com/

企业微信消息通知文档:https://work.weixin.qq.com/api/doc/90000/90135/90236

获取appid,secret,agentid方式可以参考:企业微信实现扫码登录

二:实现消息通知

1:获取access_token

获取access_token接口地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=APPID&corpsecret=SECRET

根据上面的接口可以获取到access_token

2:根据获取的access_token实现消息通知

消息通知接口地址:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN(POST请求方式)

请求参数:

touser:非必填项,指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送

toparty:非必填项,指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数

totag:非必填项,指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数

msgtype:必填项,消息类型,此时固定为:text

agentid:必填项,企业应用的id,整型。企业内部开发,可在应用的设置页面查看

text:必填项,content 消息内容,最长不超过2048个字节,超过将截断

safe:非必填项,表示是否是保密消息,0表示否,1表示是,默认0

enable_id_trans:非必填项,表示是否开启id转译,0表示否,1表示是,默认0

enable_duplicate_check:非必填项,表示是否开启重复消息检查,0表示否,1表示是,默认0

duplicate_check_interval:非必填项,表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时

三:消息通知实现实例:

  1. $corpid = XXX;
  2. $secret = XXX;
  3. //获取access_token
  4. $url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='.$corpid.'&corpsecret='.$secret;
  5. $token = $this->https_request($url);
  6. $access_token = $token['access_token'];
  7. //消息通知
  8. //配置消息通知参数
  9. $data = [
  10.     'touser' => 'XXX',
  11.     'msgtype' => 'text',
  12.     'agentid' => XXX,
  13.     'text' => [
  14.         'content' => '测试消息通知'
  15.     ],
  16. ];
  17. $messageUrl = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' . $access_token;
  18. $message = $this->https_request($messageUrl, 'post', $data);

上面的代码使用了https_request方法,方法如下:

  1. /**
  2.  * curl
  3.  */
  4. public function https_request($url, $format = 'get', $data = null){
  5.     $headerArray =array("Content-type:application/json;","Accept:application/json");
  6.     $curl=curl_init();
  7.     curl_setopt($curl, CURLOPT_URL, $url);
  8.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  9.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
  10.     if ($format == 'post') {
  11.         curl_setopt($curl, CURLOPT_POST, 1);
  12.         if ($data) {
  13.             $data  = json_encode($data);
  14.             curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  15.         }
  16.     }
  17.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  18.     curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
  19.     $data=json_decode(curl_exec($curl), true);
  20.     // $data=curl_exec($curl);
  21.     curl_close($curl);
  22.     return $data;
  23. }

如上就可以实现消息通知功能,上面介绍的是文本类型的消息通知,其他类型的消息通知可以参考企业微信文档实现

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/232567
推荐阅读
相关标签
  

闽ICP备14008679号