本文作者:心月

微信公众号开发——模板消息接口的实现

心月IT博客 10-04
微信公众号开发——模板消息接口的实现摘要:模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

        模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

关于模板消息接口注意事项:

1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用25个模板。
5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。
1、模板消息调用时主要需要模板ID和模板中各参数的赋值内容;
2、模板中参数内容必须以".DATA"结尾,否则视为保留字;
3、模板保留符号"{{ }}"。


模板消息接口的实现代码:

        //模板下次接口代码实现
	public function sendTemplateMsg()
	{
		$accessToken = $this->_getWxAccessToken();//access_token的获取可以参考《微信公众号开发——access_token的获取》这篇文章
		$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$accessToken;
		$arr = [
			'touser' => 'o3anQ1BcB1g2C5jFEgrXb3m7lSps',
			'template_id' => 'eqksUA-ekmJnAJuxvxhkVdmwnw-VE1wxZ9aLGj1Yzbo',
			'url' => 'http://www.xinyueseo.com',
			'data' => [
				'title' => ['value' => '心月IT博客_专注web编程技术知识分享', 'color' => '#173177'],
				'description' => ['value' => '心月IT技术博客是一个专注SEO搜索引擎优化,网络营销推广策划,web网站程序编程,web安全等技术知识分享的个人博客。', 'color' => '#173177'],
				'date' => ['value' => date('Y-m-d H:i:s', time()), 'color' => '#173177'],
			],
		];

		$postJson = json_encode($arr);
		$res = $this->ch($url, 'post', 'json', $postJson);
		dump($res);
	}
	
	//url请求
	private function ch($url, $type='get', $res='json', $arr='')
	{

		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

		if ($type == 'post') {
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
		}

		$cnt = curl_exec($ch);
		if (curl_errno($ch)) {
			return;
		}

		curl_close($ch);

		if ($res == 'json') {
			return json_decode($cnt, true);
		}

		return $cnt;
	}

代码编写好后的接口请求结果:(errcode为零,说明模板消息发送成功)

模板消息接口实现请求

模板消息发送成功后可以用测试号查看效果:

        

【开发注意事项】

1、测试模板的模板ID仅用于测试,不能用来给正式帐号发送模板消息
2、为方便测试,测试模板可任意指定内容,但实际上正式帐号的模板消息,只能从模板库中获得(模板需要申请)
3、需为正式帐号申请新增符合要求的模板,需使用正式号登录公众平台,按指引申请
4、模板内容可设置参数(模板标题不可),供接口调用时使用,参数需以{{开头,以.DATA}}结尾


文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 10-04
若转载请注明原文及出处:https://www.xinyueseo.com/other/369.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论