获取企业凭证
发送应用消息首先需要获取调用凭证access_token,此处的凭证为企业凭证,可通过企业授权安装时返回的授权信息中获取access_token;之后可通过获取企业凭证进行刷新。
请求方式
POST
请求地址
https://qyapi.weixin.qq.com/cgi–bin/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN
请求包体
{
"auth_corpid": "auth_corpid_value",
"permanent_code": "code_value"
}
方法示例
需要授权企业id和企业永久授权码及三方企业凭证,先写好方法下方发送应用消息时使用。
/**
* 获取授权企业access_token
* @param $corpid
* @param $permanent_code
* @return array|mixed
*/
public function getCompanyToken($corpid, $permanent_code)
{
$access_token = '三方企业凭证';
$url = 'https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=' . $access_token;
$params = json([
'auth_corpid' => $corpid,
'permanent_code' => $permanent_code
]);
$info = $this->linkCurl($url, 'POST', $params);
$res = djson($info);
if (isset($res['errcode']) && $res['errcode'] != 0) {
return toFail($res['errmsg']);
}
return toSuccess('success', ['token' => $res['access_token']]);
}
参数说明
是否必须 |
||
是 |
||
是 |
||
是 |
返回结果
{
"errcode":0 ,
"errmsg":"ok" ,
"access_token": "xxxxxx",
"expires_in": 7200
}
参数说明
应用消息
请求方式
POST
请求地址
https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
参数说明
是否必须 |
||
access_token |
是 |
发送文本消息
其他消息类型需要上传临时素材后,才可调用暂无用到其他类型功能,因此本篇暂时只实现文本消息。
请求示例
通过上方封装好的凭证方法获取企业凭证,之后编辑好文本消息包体内容。
/**
* 发送企业微信-文本消息
* @return array|bool|mixed|string
*/
public function sendAppTextMsg()
{
$get_token = $this->getCompanyToken('授权企业id', '企业永久授权码');
if ($get_token['status'] != 1) {
return $get_token;
}
$access_token = $get_token['data']['token'] ?? '';
$url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?debug=1&access_token=' . $access_token;
// 参数设置
$params = json([
"touser" => "YuanLaiShiNi",
"msgtype" => "text",
"agentid" => '授权企业安装时获取的agentid',
"text" => [
"content" => "今天已经是周三,请尽快完成计划完成事件。n详情可点击<a href='http://www.baidu.com'>计划清单</a>查看,n按照轻重缓急完成。"
],
"safe" => 0,
"enable_id_trans" => 0,
"enable_duplicate_check" => 0,
"duplicate_check_interval" => 1800,
]);
return $this->linkCurl($url, 'POST', $params);
}
特殊说明
其中text参数的content字段可以支持换行、以及A标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的n)
文本消息显示
返回内容
{"errcode":0,"errmsg":"ok","msgid":"WpLDpQFMGSE843kRbNhgXV0ggM0ngtU7e4rl2FNJGnSHw6BCjVyX8G_4bz8CpnrVjV1rbMI_h_xzkPismuXuQg"}
返回参数说明
errcode |
返回码 |
不合法的标签id |
|
msgid |
|
response_code |
仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,72小时内有效,且只能使用一次 |
注意
支持重复消息检查,当指定 “enable_duplicate_check“: 1开启: 表示在一定时间间隔内,同样内容(请求json)的消息,不会重复收到;时间间隔可通过duplicate_check_interval指定,默认1800秒。
调用建议:大部分企业应用在每小时的0分或30分触发推送消息,容易造成资源挤占,从而投递不够及时,建议尽量避开这两个时间点进行调用。
频率限制:每应用不可超过账号上限数*200人次/天(注:若调用api一次发给1000人,算1000人次;若企业账号上限是500人,则每个应用每天可发送100000人次的消息)。每应用对同一个成员不可超过30次/分钟,1000次/小时,超过部分会被丢弃不下发。
总结
感觉企业微信中的文本消息类似于手机中的短信,还可以加跳转网站的链接,操作比较简单。
原文地址:https://blog.csdn.net/json_ligege/article/details/134691204
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39968.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!