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 ...
随机推荐
- impdp,depdp 常用参数
转载于:https://www.cnblogs.com/halberd-lee/p/7807032.html 1 导数据注意事项 检查数据库版本(用于决定导出时生成为哪个版本的dmp头文件) sele ...
- quartus报错 Error (10054): Verilog HDL File I/O error at sdram_ctrl_tb.v(6): can't open Verilog Design File "Sdram_params.h"
解决方法:包含完整路径. 比如我一开始是:`include "Sdram_params.h" 错误(改为:`include "F:\FPGA\exce\uart2sdra ...
- ansible使用笔记:长期更新
ansible使用笔记 ##将/home/system.sh文件拷贝到所有服务器的/home/system.sh ansible all -m copy -a "src=/home/syst ...
- Spring Boot 中处理跨域
HTML 5中新增的跨域资源访问(Cross-Origin Resource Sharing)特性可以让我们在开发后端系统的时候决定资源是否允许被跨域访问.所谓跨域指的是域名不同或者端口不同或者协议不 ...
- 深入理解Java内存(图解)
这篇文章是转自http://blog.csdn.net/shimiso/article/details/8595564博文. 本文分析基于jdk1.8 进入正题前首先要知道的是Java程序运行在JVM ...
- python开头
python识别的正则模式 coding[:=]\s*([-\w.]+)#coding:utf8 ???不要用 #coding=utf-8#coding:utf-8# -*- coding: ut ...
- [C#]delegate基础入门
参考代码1: using System; namespace DelegateDemo { class Program { public delegate void Expresser(); stat ...
- Windows快捷键学习
Ctrl组合 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+Z 撤消 Ctrl+S 保存 Shift组合 Shift+Delete 永久删除 Shift+A ...
- lc.977 有序数组的平方
题目描述 给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序 排序. 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] ...
- jmeter之阶段式压测
一.bzm - Concurrency Thread Group 1.什么是阶梯式压测 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值,最终达到一个预期值.然后保持 ...