當前位置: 首頁> 最新文章列表> PHP實現微信公眾號模板消息發送功能教程

PHP實現微信公眾號模板消息發送功能教程

M66 2025-07-09

PHP實現微信公眾號模板消息發送功能教程

隨著微信公眾號日益普及,越來越多的企業和開發者開始關注微信平台的應用開發。其中,模板消息是一種高效的通知方式,廣泛應用於訂單提醒、狀態更新、系統通知等場景。本文將介紹如何通過PHP實現微信公眾號模板消息的發送功能,並提供完整的代碼示例,方便開發者快速上手。

實現模板消息發送的前提條件

在開發過程中,要實現模板消息發送,需要滿足以下條件:

  • 擁有一個已認證的微信公眾號(訂閱號、服務號或企業號均可);
  • 獲取公眾號的AppIDAppSecret
  • 在微信公眾平台申請模板消息,並獲得對應的模板ID。

獲取Access Token

Access Token 是調用微信API的憑證,具有有效期。開發者需要通過API獲取Token,過期後重新獲取。

 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);

    // 檢查Access Token是否有效
    if (isset($result['access_token'])) {
        return $result['access_token'];
    } else {
        // 處理錯誤
        return false;
    }
}

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

發送模板消息

成功獲取Access Token 後,開發者即可通過微信接口發送模板消息。以下是具體實現:

 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);

    // 返回接口響應
    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'];
}

上述代碼中, sendTemplateMessage函數接受四個參數:Access Token、用戶OpenID、模板ID和模板內容。其中, $data是模板中變量對應的值構成的數組,結構要符合微信模板定義的格式。

總結

通過本文提供的方法,開發者可以使用PHP快速集成微信公眾號模板消息發送功能。模板消息不僅提升了用戶體驗,還能幫助企業高效完成服務通知、信息推送等任務。

希望本文的介紹和示例代碼能對你在實際開發中有所幫助。