Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam

Cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam

WBOY
WBOYasal
2023-09-19 12:33:472427semak imbas

Cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam

Cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam

Dalam beberapa tahun kebelakangan ini, dengan pertumbuhan pesat dalam bilangan pengguna akaun awam WeChat, semakin banyak syarikat dan individu telah mula memberi perhatian kepada pembangunan akaun awam WeChat. Antaranya, mesej templat merupakan salah satu fungsi yang biasa digunakan dalam pembangunan akaun awam Mesej templat boleh digunakan untuk menghantar mesej berformat tetap kepada pengguna dan menyediakan pelbagai perkhidmatan dan maklumat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam, dan menyediakan contoh kod khusus.

Pertama sekali, untuk melaksanakan fungsi penghantaran mesej templat akaun awam, kami perlu memenuhi syarat berikut:

  1. Mempunyai akaun awam WeChat yang disahkan (termasuk akaun langganan, akaun perkhidmatan dan akaun perusahaan
  2. );
  3. dapatkan AppID dan AppSecret akaun rasmi
  4. Mohon pada platform awam WeChat dan dapatkan ID templat mesej templat.

1. Dapatkan Token Akses

Sebelum menghantar mesej templat, kita perlu mendapatkan Token Akses sebagai bukti kelayakan untuk mengakses antara muka API WeChat. Token Akses mempunyai tempoh sah tertentu dan perlu diperoleh semula selepas tamat tempoh.

Kita boleh mendapatkan Token Akses melalui kod berikut:

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. Hantar mesej templat

Selepas mendapatkan Token Akses, kita boleh menggunakan Token untuk menghantar mesej templat. Berikut ialah contoh kod untuk menghantar mesej templat kepada pengguna:

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'];
}

Dalam kod di atas, kami mula-mula mentakrifkan fungsi sendTemplateMessage untuk menghantar mesej templat. Fungsi ini perlu lulus dalam Token Akses, OpenID pengguna, ID templat dan data mesej templat. sendTemplateMessage函数用于发送模板消息。该函数需要传入Access Token、用户OpenID、模板ID和模板消息的数据。

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

最后,我们通过调用sendTemplateMessage

Data mesej templat ialah tatasusunan bersekutu, di mana nama medan sepadan dengan nama pembolehubah dalam templat satu sama satu.

Akhir sekali, kami menghantar mesej templat dengan memanggil fungsi sendTemplateMessage dan memproses hasil penghantaran.

Ringkasan: 🎜🎜Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun rasmi WeChat. Pertama, kita perlu mendapatkan Token Akses dan kemudian gunakan Token untuk menghantar mesej templat. Melalui contoh kod di atas, kami berharap dapat membantu pembangun berjaya melaksanakan fungsi penghantaran mesej templat akaun rasmi. 🎜

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej templat akaun awam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn