企業微信是一款面向企業組織的溝通工具,支持豐富的API 接口,適合內部消息、業務提醒和系統通知的快速傳達。通過集成企業微信的消息訂閱功能,可以實現對員工或部門的定向消息推送。
首先需在企業微信後台創建一個自建應用,記錄並保管好以下關鍵信息:
為了簡化HTTP 請求及Token 生成過程,推薦通過Composer 安裝以下庫:
企業微信的消息發送接口需遵循特定的數據結構。以下是一個標準的請求體示例:
{
"touser": "UserID1|UserID2",
"agentid": 1,
"msgtype": "text",
"text": {
"content": "消息內容"
},
"safe": 0
}
字段說明:
以下是一個使用PHP 構建並調用企業微信接口發送消息的完整示例:
require 'path/to/vendor/autoload.php';
use GuzzleHttp\Client;
use Firebase\JWT\JWT;
// 企業微信配置
$corpId = '企業ID';
$agentId = '應用ID';
$secret = '應用密钥';
function sendMsg($touser, $content) {
global $corpId, $agentId, $secret;
$data = [
'touser' => $touser,
'agentid' => $agentId,
'msgtype' => 'text',
'text' => [ 'content' => $content ],
'safe' => 0
];
// 生成 JWT Token
$time = time();
$payload = [
'iat' => $time,
'exp' => $time + 3600,
'iss' => $corpId
];
$token = JWT::encode($payload, $secret);
// 發送 HTTP 請求
$client = new Client(['base_uri' => 'https://qyapi.weixin.qq.com']);
$response = $client->request('POST', '/cgi-bin/message/send', [
'query' => ['access_token' => $token],
'json' => $data
]);
$result = json_decode($response->getBody(), true);
return $result['errcode'] === 0;
}
在實際業務邏輯中,可以按需調用該接口:
// 示例:發送消息
$touser = 'UserID1';
$content = '您有新的消息,請及時查看。';
$result = sendMsg($touser, $content);
if ($result) {
echo '消息發送成功';
} else {
echo '消息發送失败';
}
本文介紹瞭如何通過PHP 實現企業微信的消息訂閱功能。開發者可根據實際需求進一步優化:
通過這一方案,企業可以構建起高效、可靠的內部消息通知系統,有效提升信息傳達效率。