How to use the PHP interface to implement the enterprise WeChat message subscription function?
Business WeChat is an application designed specifically for internal corporate communications. It provides a wealth of interfaces and functions to facilitate corporate management and employee communication. Among them, the message subscription function is an important part of corporate WeChat. It can realize the instant push of internal corporate messages, making it convenient for employees to understand and grasp corporate dynamics in a timely manner. This article will introduce how to use the PHP interface to implement the enterprise WeChat message subscription function.
First, we need to create an application in the enterprise WeChat backend and obtain the relevant information of the application, including enterprise ID, application ID, application key, etc. This information will be used in subsequent development.
Next, we need to install the relevant dependency libraries and plug-ins of PHP to facilitate the interface with Enterprise WeChat. Commonly used dependent libraries include guzzlehttp/guzzle, firebase/php-jwt, etc., which can be installed through Composer.
Before we start writing code, we need to understand the interface requirements for enterprise WeChat message subscription. Enterprise WeChat provides an enterprise version of the access protocol, and we need to construct the corresponding request body and parameters according to the protocol requirements. The following is an example request body for reference:
{ "touser": "UserID1|UserID2", "agentid": 1, "msgtype": "text", "text": { "content": "消息内容" }, "safe": 0 }
Among them, the "touser" field specifies the list of users who receive the message, and multiple users are separated by vertical bars (|); the "agentid" field specifies the source of the message. Application ID; the "msgtype" field specifies the message type, which can be text, graphics, etc.; the "text" field contains the specific message content; the "safe" field specifies the security of the message, 0 indicates a normal message, and 1 indicates a confidential message.
Next, we can start writing the code for the PHP interface. First, we need to introduce relevant dependency libraries and set the relevant configuration information of Enterprise WeChat:
require 'path/to/vendor/autoload.php'; use GuzzleHttpClient; use FirebaseJWTJWT; // 配置企业微信相关信息 $corpId = '企业ID'; $agentId = '应用ID'; $secret = '应用密钥';
Then, we can write a function to send messages, which is used to call the interface of Enterprise WeChat to send messages:
function sendMsg($touser, $content) { // 构建请求体 $data = [ 'touser' => $touser, 'agentid' => $agentId, 'msgtype' => 'text', 'text' => [ 'content' => $content, ], 'safe' => 0, ]; // 生成 token $time = time(); $payload = [ 'iat' => $time, 'exp' => $time + 3600, 'iss' => $corpId, ]; $token = JWT::encode($payload, $secret); // 发送请求 $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); if ($result['errcode'] === 0) { return true; } else { return false; } }
Finally, we can call this function in specific business logic to implement message subscription and push:
// 示例:给某个用户发送消息 $touser = 'UserID1'; $content = '您有新的消息,请及时查看。'; $result = sendMsg($touser, $content); if ($result) { echo '消息发送成功'; } else { echo '消息发送失败'; }
Through the above code, we can use the PHP interface to implement the enterprise WeChat message subscription function. Of course, the specific implementation still needs to be adjusted and optimized according to actual needs, such as adding exception handling, using message templates, etc. Hope this article is helpful to you.
The above is the detailed content of How to use PHP interface to implement enterprise WeChat message subscription function?. For more information, please follow other related articles on the PHP Chinese website!