企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# :-: 微信模板消息 接口地址:`/api/wxmp?data=tpl` 请求方式:POST 成功返回:微信服务器原始数据 **请求如下** | 表单名 | 说明 | | --- | --- | | id | 模板ID,必填 | | openid | 微信OPENDID,必填 | | url | 详情页面,选填 | | data | 模板数据,必填;<br>加密方式:`unserialize(base64_decode($_POST['data']))` <br>数组参考下面【独立发送中】的 `$tpdata` | # 内部使用DEMO ## 独立发送 消息详情URL为空则模板消息中没有详情点击,反则有。 ``` //进行发送模板消息 $tpdata = [ 'first' => [ 'value' => $tp[0], //通知标题 'color' => '#353535' //颜色 #FF0000 或 blue ], 'keyword1' => [ 'value' => $row['name'], //登录帐号 'color' => '#353535' ], 'keyword2' => [ 'value' => date("Y年m月d日 H:i:s"), //登录时间 'color' => '#353535' ], 'keyword3' => [ 'value' => $ip['area'], //登录地点 'color' => '#353535' ], 'keyword4' => [ 'value' => ip(), //登录IP 'color' => '#353535' ], 'remark' => [ 'value' => $tp[1], //备注信息 'color' => '#353535' ] ]; $post = array( 'id' => $info['title'], //消息模板ID 'url' => '', //消息详情URL 'openid' => $row['sns_weixin'], //接收者OPENID 'data' => base64_encode(serialize($tpdata)) //模板消息 ); $info = app::post(cp::url('h') . '://' . cp::url('d') . '/api/wxmp?data=tpl', $post); ``` ## 配合消息模板 ``` //引入信息模板操作 cp::re('it'); //传送模板信息 if ($row['nick'] == null) { $nick = $row['name']; } else { $nick = $row['nick']; } $info = it::init(array('id' => '10011', 'data' => array(//处理模板信息 '#NICK#' => str_replace("|", " ", $nick) ))); $tp = explode("|", $info['data']); //进行发送模板消息 $tpdata = [ 'first' => [ 'value' => $tp[0], //通知标题 'color' => '#353535' //颜色 #FF0000 或 blue ], 'keyword1' => [ 'value' => $row['name'], //登录帐号 'color' => '#353535' ], 'keyword2' => [ 'value' => date("Y年m月d日 H:i:s"), //登录时间 'color' => '#353535' ], 'keyword3' => [ 'value' => $ip['area'], //登录地点 'color' => '#353535' ], 'keyword4' => [ 'value' => ip(), //登录IP 'color' => '#353535' ], 'remark' => [ 'value' => $tp[1], //备注信息 'color' => '#353535' ] ]; $post = array( 'id' => $info['title'], //消息模板ID 'url' => '', //消息详情URL 'openid' => $row['sns_weixin'], //接收者OPENID 'data' => base64_encode(serialize($tpdata)) //模板消息 ); $info = app::post(cp::url('h') . '://' . cp::url('d') . '/api/wxmp?data=tpl', $post); ```