>백엔드 개발 >PHP 튜토리얼 >PHP는 WeChat 애플릿 템플릿 메시지 푸시를 구현합니다.

PHP는 WeChat 애플릿 템플릿 메시지 푸시를 구현합니다.

王林
王林원래의
2023-05-31 21:02:102293검색

새로운 유형의 모바일 애플리케이션인 WeChat 미니 프로그램은 점점 더 많은 개발자의 관심을 끌고 있습니다. 그런데 기본 메시지 푸시 기능 외에 WeChat 애플릿에서 템플릿 메시지 푸시를 구현하는 방법은 무엇입니까?

이 글에서는 PHP 언어를 예로 들어 WeChat 애플릿의 템플릿 메시지 푸시 기능을 구현하는 방법을 소개하겠습니다.

우선 위챗 미니 프로그램의 템플릿 메시지 기본 개념을 이해해야 합니다. 템플릿 메시지는 서비스 계정 또는 구독 계정에 대한 템플릿 메시지를 의미하며 사용자의 동의 및 승인을 받아 사용자에게 전송되고 사용자의 WeChat 채팅 인터페이스에 표시될 수 있습니다. WeChat 애플릿에서는 WeChat 애플릿의 공식 API를 호출하여 템플릿 메시지를 푸시할 수 있습니다.

다음으로 필요한 몇 가지 매개변수를 준비해야 합니다. 구체적으로 WeChat 애플릿의 access_token, 대상 사용자의 openid, 템플릿 메시지의 ID, 메시지 내용(즉, 템플릿의 변수 대체) 및 기타 정보를 얻어야 합니다.

access_token을 얻기 전에 WeChat 애플릿 개발 플랫폼에 등록하고 관련 AppID 및 AppSecret 정보를 얻은 다음 OAuth2.0 확인 메커니즘을 통해 access_token을 얻어야 합니다. access_token을 얻은 후 이를 사용하여 템플릿 메시지를 푸시할 수 있습니다.

다음으로 메시지 템플릿을 구성해야 합니다. WeChat 애플릿에서 메시지 템플릿은 특정 템플릿 ID를 통해 전송됩니다. WeChat 오픈 플랫폼의 템플릿 라이브러리를 통해 적합한 템플릿을 선택하거나 템플릿을 직접 사용자 정의할 수 있습니다. 템플릿에는 자리 표시자가 포함되며 메시지를 보낼 때 이러한 자리 표시자를 특정 콘텐츠로 바꿔야 합니다.

일반적으로 후속 푸시를 용이하게 하기 위해 메시지 템플릿의 관련 정보(예: 템플릿 ID 및 자리 표시자)를 데이터베이스에 저장할 수 있습니다.

다음으로 푸시 코드를 작성해야 합니다. PHP에서는 CURL 라이브러리를 사용하여 HTTP 요청을 구성한 다음 해당 요청을 WeChat 애플릿 API로 보낼 수 있습니다. API는 메시지 푸시 결과를 포함하는 JSON 형식의 응답을 반환합니다.

다음 샘플 코드에서는 템플릿 ID, openid 값, 교체해야 할 변수 값(예: 주문 번호, 제품명, 가격)을 준비했습니다.

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

이 코드를 실행할 때 "메시지가 성공적으로 전송되었습니다!"가 출력되면 메시지가 사용자의 WeChat 채팅 인터페이스에 성공적으로 푸시되었음을 의미합니다.

템플릿 메시지 전송에는 일부 제한이 적용됩니다. 예를 들어 매번 전송되는 템플릿 메시지 수는 일일 한도를 초과할 수 없으며 다양한 템플릿의 전송 빈도도 다릅니다. 불필요한 문제를 피하기 위해 WeChat 공개 플랫폼의 관련 문서에 따라 전송 제한 및 규정을 따라야 합니다.

이 글에서는 PHP를 사용하여 WeChat 애플릿 템플릿 메시지 푸시를 구현하는 과정을 간략하게 소개합니다. 이 프로세스에 능숙하면 사용자와 더 잘 상호 작용하고 미니 프로그램의 사용자 경험을 향상시킬 수 있습니다.

위 내용은 PHP는 WeChat 애플릿 템플릿 메시지 푸시를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.