Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan dorongan mesej templat applet WeChat

PHP melaksanakan dorongan mesej templat applet WeChat

王林
王林asal
2023-05-31 21:02:102190semak imbas

Sebagai jenis aplikasi mudah alih baharu, program mini WeChat telah menjadi tumpuan semakin ramai pembangun. Walau bagaimanapun, sebagai tambahan kepada fungsi tolak mesej asas, bagaimana untuk melaksanakan push mesej templat dalam applet WeChat?

Dalam artikel ini, kami akan menggunakan bahasa PHP sebagai contoh untuk memperkenalkan cara melaksanakan fungsi push mesej templat applet WeChat.

Pertama sekali, kita perlu memahami konsep asas mesej templat dalam program mini WeChat. Mesej templat merujuk kepada mesej templat untuk akaun perkhidmatan atau akaun langganan Ia boleh dihantar kepada pengguna dan dipaparkan dalam antara muka sembang WeChat pengguna dengan persetujuan dan kebenaran pengguna. Dalam applet WeChat, kami boleh menolak mesej templat dengan menghubungi API rasmi applet WeChat.

Seterusnya, kita perlu menyediakan beberapa parameter yang diperlukan. Secara khususnya, kita perlu mendapatkan access_token applet WeChat, openid pengguna sasaran, ID mesej templat dan kandungan mesej (iaitu, penggantian pembolehubah dalam templat) dan maklumat lain.

Sebelum mendapatkan access_token, kami perlu mendaftar pada platform pembangunan applet WeChat dan mendapatkan maklumat AppID dan AppSecret yang berkaitan, dan kemudian mendapatkan access_token melalui mekanisme pengesahan OAuth2.0. Selepas memperoleh access_token, kami boleh menggunakannya untuk menolak mesej templat.

Seterusnya, kita perlu membina templat mesej. Dalam applet WeChat, templat mesej dihantar melalui ID templat tertentu. Kami boleh memilih templat yang sesuai melalui perpustakaan templat pada platform terbuka WeChat, atau menyesuaikan templat sendiri. Templat akan mengandungi ruang letak dan kami perlu menggantikan ruang letak ini dengan kandungan tertentu semasa menghantar mesej.

Secara amnya, kami boleh menyimpan maklumat berkaitan templat mesej (seperti ID templat dan pemegang tempat) dalam pangkalan data untuk memudahkan tolakan berikutnya.

Seterusnya, kita perlu menulis kod tolak. Dalam PHP, kita boleh menggunakan perpustakaan CURL untuk membina permintaan HTTP dan kemudian menghantar permintaan itu ke API applet WeChat. API akan mengembalikan respons dalam format JSON, yang termasuk hasil tolakan mesej.

Untuk kod sampel berikut, kami telah menyediakan ID templat, nilai openid dan nilai pembolehubah yang perlu diganti (seperti nombor pesanan, nama produk dan harga).

<?php
// access_token的获取
$appid = 'your_appid'; // 微信小程序的appid
$appsecret = 'your_appsecret'; // 微信小程序的appsecret
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

// 发送请求,获取access_token
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$data = json_decode($out, true);
$access_token = $data["access_token"];

// 发送模板消息
$data = array(
    "touser" => "用户openid", // 接收用户openid
    "template_id" => "模板消息ID", // 模板消息ID 
    "page" => "pages/index/index", // 跳转小程序页面路径
    "form_id" => "表单ID", // 表单ID
    "data" => array(
        "keyword1" => array(
            "value" => "订单号"
        ),
        "keyword2" => array(
            "value" => "商品名称"
        ),
        "keyword3" => array(
            "value" => "价格"
        ),
    )
);

$json = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" . $access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$res = json_decode($out, true);

// 输出结果
if ($res['errcode'] == 0) {
    echo '消息发送成功!';
} else {
    echo '消息发送失败:' . $res['errmsg'];
}
?>

Apabila menjalankan kod ini, jika "Mesej berjaya dihantar!", ini bermakna mesej telah berjaya ditolak ke antara muka sembang WeChat pengguna.

Perlu diambil perhatian bahawa penghantaran mesej templat tertakluk kepada beberapa sekatan Contohnya, bilangan mesej templat yang dihantar setiap kali tidak boleh melebihi had harian, dan kekerapan penghantaran templat yang berbeza juga berbeza. dll. Untuk mengelakkan masalah yang tidak perlu, kita harus mematuhi sekatan dan peraturan penghantaran mengikut dokumen berkaitan platform awam WeChat.

Artikel ini memperkenalkan secara ringkas proses penggunaan PHP untuk melaksanakan push mesej templat applet WeChat. Mahir dalam proses ini membolehkan kami berinteraksi dengan lebih baik dengan pengguna dan meningkatkan pengalaman pengguna program mini.

Atas ialah kandungan terperinci PHP melaksanakan dorongan mesej templat applet WeChat. 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