微信平台分主动消息和被动消息,主动消息是生产服务器主动推送消息给微信平台,被动消息是用户行为导致微信平台推送消息给生产服务器。


  • 主动消息需要:

    • 1,将生产服务器ip加入ip白名单
    • 2,然后根据appid和secret获取token
    • 3,每次主动推送将token&在url上

  • 被动消息:

    • 1,填写生产服务器url路径在公众号配置上
    • 2,获取token绑定

一、消息模板

  • 1,获取微信消息模板api接口链接(巨坑,微信公众号文档上消息模板api链接有问题,正确应该在微信公众号,消息模板设置上,接口文档找)

  • 2,获取消息模板id

  • 3,获取需要发送消息的用户openid(关注该公众号)

  • 4,构造消息模板数据

  • 5,成功标志:

    • (1)收到返回json数据,error=0,
    • (2)微信平台主动推送xml到服务器

二、注意事项

  • 1,微信模板api是公众号,消息模板插件,消息模板接口文档中

  • 2,消息模板语法:

    • (1),数据格式构造,json格式
    • (2),post方式发送
  • 3,用户的openid,一定,一定,一定是公众号appid旗下的,也就是说,一定是要关注了该公众号的用户。

  • 4,巨坑,巨坑,消息模板的openid不是微信唯一openid,是每个公众号对应用户的tofakeid

    • 微信公众平台的所谓“openid”分为两种:

      • [第一种openid]为利用交互的xml中获取:
        <![CDATA[fromUser]]>
        每个用户针对每个微信公众平台唯一,即同一个用户对不同微信公众平台[第一种openid]是不同的;
        个人倾向称之为fakeid,获取不需要授权页面。
      • [第二种openid]为利用微信提供的OAuth2.0接口(高级接口需要为认证的服务号)
        每个用户唯一,也就是说同一个用户对不同微信公众平台的[第二种openid]都是一样的;
        个人倾向称之为真正的openid,获取需要授权页面。
        第一种公众平台开发者文档没有明说,但只要看过文档不难推断;
        第二种所用接口详见:公众平台开发者文档-网页授权获取用户基本信息。

ps:详细脚本代码:

 /*** @param $open_id   用户openid* @param $template_id  消息模板id* @param $miniprogram    消息模板跳转的appid,pagepath页面链接,可根据自我需求删改* @param $appid   公众号appid* @param $num      申请编号,可根据自我需求删改* 发送消息模板* @return array*/public  function SendMsg($open_id,$template_id,$miniprogram,$num){try {$token = $this->get_token();} catch (\Exception $e) {$e->getMessage();}//发送模板消息url$send_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$token}";$date=date("Y-m-d H:i:s",time());$data=["touser"=>$open_id,"template_id"=>$template_id,'miniprogram'=>$miniprogram,"data"=>["first"=>["value"=>"吸易商城提醒您,您的消杀片已到期,请及时更换",],"keyword1"=>["value"=>"商品更换提醒",],"keyword2"=>["value"=>$num,],"keyword3"=>["value"=>$date,],"keyword4"=>["value"=>'待处理',],"remark"=>["value"=>"详情信息,请戳详情了解",],],];//$postData = http_build_query($postData); //做一层过滤$json_data=json_encode($data);$ch = curl_init();curl_setopt($ch, CURLOPT_URL,            $send_url);curl_setopt($ch, CURLOPT_HEADER, 0); //设置headercurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_POST,           1 );curl_setopt($ch, CURLOPT_POSTFIELDS,     $json_data );$request=curl_exec ($ch);curl_close($ch);$request=json_decode($request,true);if ($request['errcode']==0){return ['code'=>ApiCode::CODE_SUCCESS,'msg'=>"消息模板发送成功",];}return ['code'=>ApiCode::CODE_ERROR,'msg'=>$request,];}

微信消息模板——巨坑相关推荐

  1. java 微信 推送_JAVA 微信消息模板推送

    公众号配置模板示例 推送接口 /** * * @title: sendTemplate * @author: daixiaowei * @date: 2019年11月09日 下午 12:59:27 * ...

  2. 微信消息模板申请攻略

    2019独角兽企业重金招聘Python工程师标准>>> 近两天,微信动态频频,先是微信5.4版本的发布预热到正式发布,围绕搜索和支付功能的推出,再一次让微信变"重" ...

  3. 微信jssdk开发巨坑,errmsg config invalid signature

    如果你检查了千百遍,并且通过了https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign的检测,那么你可以看看你是不是这个问题: 例如:你的域 ...

  4. 微信消息模板发送通知

    https://www.cnblogs.com/zhaijihai/p/10185378.html 转载于:https://www.cnblogs.com/zhangqing979797/p/1161 ...

  5. 微信公众号消息模板开发

    为什么80%的码农都做不了架构师?>>>    ##背景 新需求,需要在订单的时候给用户,商家,配送员发送想对于的微信消息模板,之前没有做过微信公众号相关的开发,这次就一并熟悉吧 # ...

  6. java 微信api框架_Java架构学习(五十二)使用框架开发微信微信框架介绍整合微信开发框架WxJava使用微信返回消息模板接口使用WxJava框架发送模板消息http协议参数转义知识...

    一.微信框架介绍 1.access_token是公众号的全局唯一调用接口的凭证,它两个小时更新一次. 获取access_token方法: https请求方式: GET https://api.weix ...

  7. 微信公众号(测试号)消息模板推送

    微信公众号(测试号)消息模板推送 源码地址 https://github.com/panjianlong13/Weixin-PushMessage 微信测试号配置 登录到微信公众平台接口测试账号申请U ...

  8. 微信公众号消息模板发送

    微信公众号消息模板发送 微信公众号消息模板群发功能 开通申请模板消息功能 获取模板消息发送所需参数 AccessToken pojo类 TemplateData pojo类 WxTagsEntity ...

  9. java集成微信发送模板消息

    登录微信公众平台 地址 : https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index ...

  10. 微信小程序服务商模式支付巨坑解决!

    今日有个在同一个小程序支付 款项需要付到不同的银行卡里去??? 于是找了下微信小程序支付文档,只有个requestPayment方法 emmm 去看看小程序后台吧 ok 有个微信支付  但是只能绑定一 ...

最新文章

  1. gpasswd 命令详解
  2. 牛客题霸 NC27 集合的所有子集
  3. pthread_cond_wait
  4. 【Python爬虫】存储格式化数据
  5. Linux运维人员成长之路学习书籍推荐(未删减版)
  6. 《笨方法学python》_《笨办法学Python》 第46课手记
  7. 返回一个不确定的对象_我有一个Android必备知识点,你确定不了解一下?
  8. LeetCode数据库 178. 分数排名
  9. 45.Linux/Unix 系统编程手册(下) -- System V IPC 介绍
  10. 安装biztalk2006后导致QuickStartV20不正常
  11. Spring Boot 接入支付宝,实战来了!
  12. 渐变色【R Color】
  13. 一个猫下面的计算机互相访问,光猫连接路由器和电脑如何互相访问
  14. 中英文免安装版IE6、IE7、IE8浏览器下载
  15. Node.js(MEAN)全栈开发入门-安晓辉-专题视频课程
  16. Frontiers in neuroscience: 网络游戏成瘾者额叶theta频段震荡活动的降低
  17. 坚持是学习的最好方法
  18. D2 日报 2019年1月3日
  19. webpy中使用session
  20. 系统日志管理及日志管理服务

热门文章

  1. 电脑分辨率怎么调?教你调整电脑屏幕分辨率
  2. Python3—爬虫实现有道在线翻译—(常见错误汇总及解决方法)
  3. 基于JTT808协议的车联网网关中间件
  4. Computer Network Note
  5. 腾讯云TDSQL-C云原生数据库技术
  6. 大数据技术之Hadoop(入门)
  7. 标准差公式中,分母是n还是n-1?
  8. 深度学习的黑魔法防御术:恶意样本(Adversarial Example) 的防御策略综述
  9. 提取 Wallpaper Engine 的 pkg 壁纸文件,获得静态壁纸
  10. 2021年最新版裁判文书逆向