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 ...
随机推荐
- Navicate 链接 MySQL8.0版本 连接报错问题 1251错误,Clinent does not support authentication protocol requested by server
网上查到的原因是: mysql8 之前的版本中加密规则是mysql_native_password: mysql8之后,加密规则是caching_sha2_password: 找到的解决方法是: 把m ...
- 随机生成四则运算表达式【Unity】
根据自己项目需求调整代码中表达式的公共方法 using System.Collections; using System.Collections.Generic; using System; usin ...
- oracle函数及相关问题
show user 查看当前用户select * from tab: 查看当前数据库中的表desc 表名 : 查看表结构 between and 包含开头结尾 函数: months_between(a ...
- UE5农场项目小功能(1)-砍树
砍树功能效果的实现 在UE中想做一个砍树的功能,B站上没找到什么教程,最后在油管上找到个视频并跟着实现了,一共设计到三个蓝图和一个什么也没写的蓝图接口,下面介绍下步骤. 1.角色蓝图的部分 人物这 ...
- input button
即使你在文本输入下方添加了按钮,它们也会在页面上彼此相邻. 这是因为 input 和 button 元素都是内联元素,它们不会出现在新的行上. <button type='submit'> ...
- 解决 vue init webpack 报错问题 报错原因是因为不能执行脚本文件。
解决方案: 运行下面一行代码: set-ExecutionPolicy RemoteSigned
- k8s集群查看node和pod的实时资源使用情况
一.部署步骤 1.准备metrics-server官方yaml文件 2.部署metrics-server 3.查看资源使用情况 二.准备metrics-server官方yaml文件 [root@loc ...
- Shell脚本结构化-控制流
脚本结构化命令 上一章给出的那些 shell 脚本里,shell 按照命令在脚本中出现的顺序依次进行处理.对顺序操作来说,这已经足够了,因为在这种操作环境下,你想要的就是所有的命令按照正确的顺序执行. ...
- C++学习流程
一.初级入门阶段 数据类型.变量.内存布局.指针基础: 字符串.一维数组.二维数组: 一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针: 结构体.文件的使用: 动态库的封装和设计: 函数 ...
- Calendar 获取当前月份最后一周
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Ca ...