微信小程序发送模板消息

来源:互联网 发布:mysql中的level 编辑:程序博客网 时间:2024/06/07 16:30

首先说明推送消息的条件

  1. 支付

    当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)

  2. 提交表单

    当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)

下面说明如何发生模版消息
1.用code换取openid
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code


参数说明

参数是否必须说明appid是公众号的唯一标识secret是公众号的appsecretcode是填写第一步获取的code参数grant_type是填写为authorization_code
2.获取 access_token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

HTTP请求方式:

GET

参数说明 :

参数必填说明grant_type获取 access_token 填写 client_credentialappid第三方用户唯一凭证secret第三方用户唯一凭证密钥,即appsecret3.发送mobanx
$opendId = "oTCMT0VwenSbyNDlbTxccBR4mErM";
    // template_id  是   所需下发的模板消息的id
    $template_id = "5NV_S4ksH9Q5ek6W-7dsRg8j96UvtoG2Z9B7mtek8hY";
    // page 否   点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
    $page = " pages/index/index";
    // form_id  是   表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
    // $form_id = mparam('form_id/s');
    $form_id = 'f94f7f605baf096cf037909d6fa2a2ff';
    // data 是   模板内容,不填则下发空模板
    $data = [
        "keyword1"=>[
            "value"=> date("Y-m-d")."制定计划",
            "color"=> "#4a4a4a"
            ],      
         "keyword2"=>[
             "value"=> "时间快到了",
             "color"=> "#9b9b9b"
         ],
         "keyword3"=>[
            "value"=> "准备行动",
            "color"=> "#9b9b9b"
        ]    
    ];
    // color    否   模板内容字体的颜色,不填默认黑色
    $color = "#3f3f3f";
    // emphasis_keyword 否   模板需要放大的关键词,不填则默认无放大
    $emphasis_keyword = "keyword1.DATA";
    $content = json_encode([
        'touser'=>$opendId,
        'template_id'=>$template_id,
        'page'=>$page,
        'form_id'=>$form_id,
        'data'=>$data,
        'color'=>$color,
        'emphasis_keyword'=>$emphasis_keyword
    ]); 
    $access_token = getAccessToken();
    $url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token={$access_token}";
    
    $result = json_decode(https_request($url, $content));
原创粉丝点击