E企盈营销工具技术服务商 热线:4006-838-530

模板消息,小程序发送模板消息详细步骤

E企盈直播平台营销卖货系统

小程序发送通模板消息详细步骤步骤一:获取模板id登录获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。步骤二:页面的form组件,属性report-submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。或者当用户完成支付行为,可以获取prepay_id用于发送模板消息。用formid举例:注意:有的时候我们可能遇到某些情况,希望一次点击获取多个formid,此时请参考此文(,我们只用修改wxml和wxss就行,js获取方式不变,不用改。1、wxml页面确认订单按钮如下来获取一个formidformbindsubmit=”subBuy”report-submit=’true’buttonclass=’foot-wrapper’form-type=’submit’确定/button/form2、js获取formid并且请求get_form_id接口,把formid保存subBuy:function(e){wx.request({url:app.globalData.url+’/routine/auth_api/get_form_id?uid=’+app.globalData.uid,method:’GET’,data:{formId:e.detail.formId},})}3、在get_form_id接口里接收formid并组装数据存到数据库/收集发送模板信息的formID@paramstring$formId/publicfunctionget_form_id($formId=”){if((int)$formId==”||$formId==’theformIdisamockone’)returnJsonService::fail(‘no’);$data[‘form_id’]=$formId;$data[‘uid’]=$this-userInfo[‘uid’];$data[‘status’]=1;//未使用状态是1$data[‘stop_time’]=bcadd(time(),bcmul(6,86400,0),0);RoutineFormId::set($data);returnJsonService::successful();}通过上面的get_form_id接口,数据库获得如下数据:字段说明:uid就是用户id,一般就是当前操作(下单用户)的uid;formid相当于权限,只有拥有formid,才有资格给用户发送通知stop_time是失效时间,自己设定,一般是6或7天,如果当前时间大于这个时间,就不能发送通知了;status是状态,表示这个formid是否使用过,未使用是1,使用过是2,也就是在发送通知的时候使用,使用后就要把1改为2。步骤三:调用接口下发模板消息拿订单支付成功的消息来说,我们的模板消息如下:单号{{keyword1.DATA}}下单时间{{keyword2.DATA}}订单状态{{keyword3.DATA}}支付金额{{keyword4.DATA}}支付方式{{keyword5.DATA}}1、在用户支付成功的接口里我们调用如下的接口,把模板消息里需要的这5个数据都通过订单id获取到,赋值给data。然后再请求RoutineTemplateService::sendTemplate()。/订单支付成功发送模板消息@paramstring$orderId订单id/publicstaticfunctionsendOrderSuccess($orderId=”){if($orderId==”)return;$order=StoreOrder::where(‘order_id’,$orderId)-find();$formId=RoutineFormId::getFormIdOne($order[‘uid’]);//该方法获取数据库已存的未使用的formid$data[‘keyword1’][‘value’]=$orderId;$data[‘keyword2’][‘value’]=date(‘Y-m-dH:i:s’,time());$data[‘keyword3’][‘value’]=’已支付’;$data[‘keyword4’][‘value’]=$order[‘pay_price’];$data[‘keyword5’][‘value’]=’线下支付’;RoutineFormId::delFormIdOne($formId);//该方法更新该formid的status为2,就是已使用RoutineTemplateService::sendTemplate(‘这里是openid’,’这里是你选择的模板id’,”,$data,$formId);}2、在RoutineTemplateService::sendTemplate()里获取参数,。然后用RoutineServer::curlPost发起请求。/发送模板消息@$openId接收者(用户)的openid@$templateId所需下发的模板消息的id@$link点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。@$formId表单提交场景下,为submit事件带上的formId;支付场景下,为本次支付的prepay_id@paramarray$dataKey模板内容,不填则下发空模板@$emphasisKeyword模板需要放大的关键词,不填则默认不放大/publicstaticfunctionsendTemplate($openId=”,$templateId=”,$link=”,$dataKey=array(),$formId=”,$emphasisKeyword=”){if($openId==”||$templateId==”||$formId==”)returnfalse;$accessToken=RoutineServer::get_access_token();$url=”https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=”.$accessToken;$data[‘touser’]=$openId;$data[‘template_id’]=$templateId;$data[‘page’]=$link;$data[‘form_id’]=$formId;$data[‘data’]=$dataKey;$data[’emphasis_keyword’]=$emphasisKeyword;returnjson_decode(RoutineServer::curlPost($url,json_encode($data)),true);}RoutineServer::curlPost方法如下:publicstaticfunctioncurlPost($url=”,$postData=”,$options=array()){if(is_array($postData)){$postData=http_build_query($postData);}$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置cURL允许执行的最长秒数if(!empty($options)){curl_setopt_array($ch,$options);}//https请求不验证证书和hostcurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);$data=curl_exec($ch);curl_close($ch);return$data;}

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 模板消息,小程序发送模板消息详细步骤
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏