PHP微信三方平台-代公众号发送消息模板
1、微信三方平台代公众号实现业务接口API文档地址:
2、微信三方平台代公众号发送消息模板的模板ID是不一样的所以在公众号添加模板需要将模板ID告知三方平台开发保存数据库
3、代码实现
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/7/8
* Time: 14:48
*/ namespace app\models\WeChatSendMessage; use app\librarys\wx\wx_common\wx_tools;
use app\librarys\wx\wx_customer\wx_customer; class WxPushMsg
{
/**
* pushMessage 发送自定义的模板消息
* @param array $data 模板数据
* $data = [
* 'openid' => '', 用户openid
* 'url' => '', 跳转链接
* 'template_id' => '', 模板id
* 'data' => [ // 消息模板数据
* 'first' => ['value' => urlencode('黄旭辉'),'color' => "#743A3A"],
* 'keyword1' => ['value' => urlencode('男'),'color'=>'blue'],
* 'keyword2' => ['value' => urlencode('1993-10-23'),'color' => 'blue'],
* 'remark' => ['value' => urlencode('我的模板'),'color' => '#743A3A']
* ]
* ];
* @param string $topcolor 模板内容字体颜色,不填默认为黑色
* @return array
*/ /**
*
*
* @param $wx_openid
* @param array $data
* @param $template_id
* @param string $league_id
* @return array|mixed
*/
public static function pushMessage($wx_openid, $data = [], $template_id, $league_id = '')
{
$template = [
'touser' => $wx_openid,
'template_id' => $template_id,
'url' => isset($data['url']) ? $data['url'] : "",
'topcolor' => '#0000',
'data' => $data['data']
];
$json_template = json_encode($template);
$app_id = '';//注意这是微信公众号的app_id
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . wx_customer::get_access_token($app_id);
$result = wx_tools::postCurl($url, urldecode($json_template));
$resultData = json_decode($result, true);
return $resultData;
} /**
* 门店下单成功推送
* @param $order_code
* @param $customer_id
* @return array
*/
public static function leagueCreateOrderPush()
{
//获取用户默认登录信息
$data = array();
$data['url'] = 'http://weixin.qq.com/download';
$data['data'] = array( // 模板消息内容,根据模板详情进行设置
'first' => ['value' => urlencode("您好,您的订单提交成功。"), 'color' => "#743A3A"],
'keyword1' => ['value' => urlencode('我是订单号测试0001')],
'keyword2' => ['value' => urlencode(date('Y年m月d日 H:i:s', time()))],
'keyword3' => ['value' => urlencode("门店订单")],
'keyword4' => ['value' => urlencode('')],
'remark' => ['value' => urlencode("点击查看详细信息。")]
);
$re = self::pushMessage($open_id, $data, $tempt_id, '');
return $re;
}
}
PHP微信三方平台-代公众号发送消息模板的更多相关文章
- 微信公众号发送消息模板(java)
这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 public static JSONObject sendModelMessage(ServletContext context ...
- 微信第三方平台代公众号发起网页授权 48001 api unauthorized 问题
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&gr ...
- 微信公众号发送消息给用户 php
1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页授权需要时认证的服务号,一开始想的是那去申请一个认证的服务号岂不是很费事,然后网上搜了搜,发现了还有微信公众号个人测试号这个东西,所 ...
- Python 微信公众号发送消息
1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...
- 公众号第三方平台开发 教程六 代公众号使用JS SDK说明
公众号第三方平台开发 教程一 创建公众号第三方平台 公众号第三方平台开发 教程二 component_verify_ticket和accessToken的获取 公众号第三方平台开发 教程三 微信公众号 ...
- 微信小程序结合微信公众号进行消息发送
微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
原文:微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建 ...
- php之微信公众号发送模板消息
讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0). 先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请: ...
- php之微信公众号发送模板消息参观模仿
上篇文章中鞋到了公众号发送末班消息,他是最后调用两个方法,本文章简化一下 将下面的php方法放到一个可以引入的公共类中即可 构建模板消息: 我把需要用到的模板消息 都写成一个个方法,放在公共类文件中了 ...
- 微信公众号发送告警Python脚本
调用该脚本,可以向微信公众号发生告警. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 微信公众号发送告警脚本 import ur ...
随机推荐
- uiautomator2自动化工具的下载与安装
前言: 相信很多使用appium做过APP自动化的人都深有感触: 1,安装麻烦,配置环境可能会难道不少人 2,appium运行慢.时间长 3,uiautomatorviewer定位元素时得关掉appi ...
- bzoj 3561
题意:求$\sum_{i=1}^{n}\sum_{j=1}^{n}lcm(i,j)^{gcd(i,j)}$ 神仙题... 首先可能会想到一个转化,就是$lcm(i,j)=\frac{ij}{gcd(i ...
- python+pytesseract识别图片文字
此文只介绍一下python+pytesseract识别一些简单图片的数字,字母和汉字.如图1 import pytesseract from PIL import Image,ImageEnhance ...
- Python openpyxl【包】
介绍 Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢? 答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式 ...
- 未知:长度为 K 的重复字符子串
给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目. 数据范围: , 进阶: 时间复杂度,空间复杂度 输入例子1: &qu ...
- 关于js数组方法forEach()
1.forEach()是什么? forEach()是一种数组遍历方法. 在js最基础的遍历数组方法可能是这样的 点击查看代码 var myArr = [1, 2, 3] for(var i = 0; ...
- Shell 更多结构化命令(流程控制)
更多的结构化命令 上一章里,你看到了如何通过检查命令的输出和变量的值来改变 shell 脚本程序的流程.本章会继续介绍能够控制 shell 脚本流程的结构化命令.你会了解如何重复一些过程和命令,也就是 ...
- 11.30linux学习第十一天
今天老刘上课,第7章收尾,第8章开了个头. 7.1.3 磁盘阵列+备份盘 RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若 ...
- js 将多层json对象 转化为一层json
const parse = data => { const uid = `uid_${Date.now()}`; const process = (input, prefix = '', jso ...
- Ubuntu常用命令(二)
clash 启动 #.clash -d . sudo /home/lizhenyun/clash/clash -d /home/lizhenyun/clash/ deb包安装 sudo dpkg -i ...