Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter la fonction d'envoi de messages modèles des comptes publics

Comment utiliser PHP pour implémenter la fonction d'envoi de messages modèles des comptes publics

WBOY
WBOYoriginal
2023-09-19 12:33:472497parcourir

Comment utiliser PHP pour implémenter la fonction denvoi de messages modèles des comptes publics

Comment utiliser PHP pour implémenter la fonction d'envoi de modèles de messages des comptes publics

Ces dernières années, avec la croissance rapide du nombre d'utilisateurs des comptes publics WeChat, de plus en plus d'entreprises et de particuliers ont commencé à y prêter attention le développement des comptes publics WeChat. Parmi eux, les modèles de messages sont l'une des fonctions couramment utilisées dans le développement de comptes publics. Les messages modèles peuvent être utilisés pour envoyer des messages au format fixe aux utilisateurs et fournir divers services et informations. Cet article explique comment utiliser PHP pour implémenter la fonction d'envoi de messages modèles des comptes publics et fournit des exemples de code spécifiques.

Tout d'abord, afin de mettre en œuvre la fonction d'envoi de messages modèles du compte public, nous devons remplir les conditions suivantes :

  1. Avoir un compte public WeChat certifié (y compris un compte d'abonnement, un compte de service et un compte d'entreprise) ;
  2. obtenez l'AppID et l'AppSecret du compte officiel
  3. Postulez sur la plateforme publique WeChat et obtenez l'ID du modèle de message.
1. Obtenir le jeton d'accès

Avant d'envoyer le modèle de message, nous devons obtenir le jeton d'accès comme identifiant pour accéder à l'interface de l'API WeChat. Le jeton d'accès a une certaine période de validité et doit être obtenu à nouveau après expiration.

Nous pouvons obtenir le jeton d'accès via le code suivant :

function getAccessToken($appId, $appSecret) {
    $apiUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appId . "&secret=" . $appSecret;
    $response = file_get_contents($apiUrl);
    $result = json_decode($response, true);
    
    // Check if access token is valid
    if(isset($result['access_token'])) {
        return $result['access_token'];
    } else {
        // Handle error
        return false;
    }
}

$accessToken = getAccessToken($appId, $appSecret);

2. Envoyer un modèle de message

Après avoir obtenu le jeton d'accès, nous pouvons utiliser le jeton pour envoyer le modèle de message. Voici un exemple de code pour envoyer des modèles de messages aux utilisateurs :

function sendTemplateMessage($accessToken, $openId, $templateId, $data) {
    $apiUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $accessToken;

    $postData = array(
        'touser' => $openId,
        'template_id' => $templateId,
        'data' => $data
    );

    $jsonData = json_encode($postData);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    $response = curl_exec($ch);
    curl_close($ch);

    // Handle response
    return $response;
}

// 要发送的模板消息的数据
$templateData = array(
    'first' => array('value' => '您好', 'color' => '#173177'),
    'keyword1' => array('value' => '模板消息', 'color' => '#173177'),
    'keyword2' => array('value' => '2020-01-01', 'color' => '#173177'),
    'remark' => array('value' => '感谢您的使用', 'color' => '#173177')
);

$response = sendTemplateMessage($accessToken, $openId, $templateId, $templateData);

// 处理发送结果
$result = json_decode($response, true);
if($result['errcode'] == 0) {
    echo "模板消息发送成功!";
} else {
    echo "模板消息发送失败,请稍后重试。错误信息:" . $result['errmsg'];
}

Dans le code ci-dessus, nous définissons d'abord une fonction sendTemplateMessage pour envoyer des modèles de messages. Cette fonction doit transmettre le jeton d'accès, l'OpenID de l'utilisateur, l'ID du modèle et les données du message du modèle.

sendTemplateMessage函数用于发送模板消息。该函数需要传入Access Token、用户OpenID、模板ID和模板消息的数据。

模板消息的数据是一个关联数组,其中的字段名和模板中的变量名一一对应。

最后,我们通过调用sendTemplateMessageLes données du modèle de message sont un tableau associatif, dans lequel les noms de champs correspondent aux noms de variables du modèle un à un.

Enfin, nous envoyons le modèle de message en appelant la fonction sendTemplateMessage et traitons le résultat de l'envoi.

Résumé :

🎜Cet article présente comment utiliser PHP pour implémenter la fonction d'envoi de messages modèles des comptes publics WeChat. Tout d’abord, nous devons obtenir le jeton d’accès, puis utiliser le jeton pour envoyer le modèle de message. Grâce aux exemples de code ci-dessus, nous espérons aider les développeurs à mettre en œuvre avec succès la fonction d'envoi de messages modèles des comptes officiels. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn