关于微信公众平台广告投放号卡卷投放的问题...

酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
为完善的卡券运营能力,微信卡券近期完成以下重要优化:
一、支持关键词自动回复
登录公众平台,进入&自动回复&关键词自动回复&页面,添加规则时,可选择回复&卡券&:
二、支持多图文嵌入卡券
登录公众平台,进入&素材管理&图文消息&页面,添加单图文或多图文消息时,可以嵌入卡券:
提示:多图文消息中的每一条图文消息均可嵌入卡券。
& 相关主题:关注微信公众号,报名领取卡券截图即可!1元一个!-营销-任务易推荐给您
关注微信公众号,报名领取卡券截图即可!1元一个!
通过任务易推广注册的用户,完成该任务后可以获得 1元(10K币)的返利,
为加强活动效果,现征集微信扫码领取卡券活动,操作简单无需转发不限朋友数,只要是首次关注“中国石油湖北销售”公众号即可。大家交稿时务必将所领取的卡券打开并截图上传,方能有效,谢谢大家。=========参与条件:首次关注“中国石油湖北销售”微信公众号参与方式:1、关注“中国石油湖北销售”微信服务号;2、点击自定义菜单“互动营销-关注有礼”后,按照页面操作指引进行活动报名;3、提交成功后,点击“报名成功通知”,领取代金券。4、打开微信卡包(界面底部“我”-卡包)中的代金券并手机截图上传交稿即可。需求说明:1、每名微信号仅能领取一次;2、代金券功能需微信6.0以上版本方可使用。3、**中的姓名及出生日期可以不写真实信息,允许一个服务商提供多个微信号所领取的卡券任务。
任务易所有内容均为威客和外包行业网站提供或收集于互联网公开的信息,目的是给在网络上工作的威客和兼职人员收集更多的免费工作信息,以帮助更多的人自主就业。如果有内容触及您的权益,请给我们发邮件()并附上具体网址和说明,核实后我们将立即删除!对免责声明的解释、修改及更新权均属于任务易所有。
你觉得这个任务肿么样?
评分:3.5分
猪八戒网是全国最大的在线服务交易平台,由原《重庆晚报》首席记者朱明跃创办于2006年,服务交易品类涵盖创意设计、软件开发、网站建设、网络营销、文案策划、生活服务等多种行业。2011年猪八戒网获得IDG千万级美金投资,并被评选为中国2011年度“最佳商业模式十强”企业。2012年猪八戒还获得了国家文化产业示范基地称号。
你可能也对这些任务感兴趣
来自:猪八戒
来自:猪八戒
来自:猪八戒
来自:三打哈
来自:猪八戒
日内的任务我把银行卡正反面照一不小心发给了一个公众号,会不会出问题 - 相关问题 - 110网法律咨询
我把银行卡正反面照一不小心发给了一个公众号,会不会出问题
把银行的支出提示短信发给不认识的人,我的银行卡会不会有危险
您好!律师,我想问下你一个问题!就是我以前的身份证掉了
别人在银行开了银行卡,但是我现在的身份证又和以前的名字不一样,我去银行取消,银行方面现在不给我取消
我该怎么办?
您好!芦律师,我想问下你一个问题!就是我以前的身份证掉了
别人在银行开了银行卡,但是我现在的身份证又和以前的名字不一样,我去银行取消,银行方面现在不给我取消
我该怎么办?
您好!,我想问下你一个问题!就是我以前的身份证掉了
别人在银行开了银行卡,但是我现在的身份证又和以前的名字不一样,我去银行取消,银行方面现在不给我取消
我该怎么办?
您好,想咨询一个问题,岳父帮人担保贷款,贷款人到期未还款,然后最近银行把岳父银行卡的存款给扣除了,现在需要怎么解决?
岳父是农民
七万多。。要了他的命了
现在需要怎么做才能追回千万多损失?
你好,我把身份证,银行卡的正反面都发给了别人,别人会不会用喔的身份证去做些违法的事
身份证号、姓名、银行卡号在网上泄露也是叫我发验证码 我发了 对银行卡以后安全问题会不会有影响。
骗子以淘宝退款为由,让我进入一个网页填写身份信息。内容有银行卡号,银行卡密码、手机号、身份证号码。就差验证码没发给他了,那骗子会知道我的银行卡密码吗,我银行卡有危险吗
你好,刚才我在一个网站泄露了,姓名,身份证号码,银行卡卡号,还有银行预留手机号码,会有什么后果
一不小心将身份证号姓名银行卡号手机号泄露给了一个移动营业厅的虚假网站,但该卡内没有钱,怎么办急[微信JS-SDK]微信公众号JS开发之卡券领取功能详解
微信团队在2015年初改革了微信JS的API,本文主要详细说明其中用到的卡券领取功能.微信卡券需要认证过的公众号才能申请开通,而且创建的卡券也是要审核才能投放的.微信的卡券对于用户体验上来说比较好,以前促销活动的优惠券,会通过手机短信等方式发送给用户,现在有了&微信卡包&这个将卡券集中管理展示的功能,对于商家来说确实是能很好的拉动线下消费.卡券管理入口在微信公众号管理后台的功能菜单里,本文先不提如何创建卡券,主要是讲述如何实现将已经生成好的卡券放到自己页面上让用户去领取.首先要提到目前公众号开发中需要记住的3个重要的需要全局缓存的安全加密凭证:第一个是:access_token 什么是access_token呢?看介绍.(转载请注明出处:)1、为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;
2、目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;
3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。接口调用请求说明http请求方式:&GEThttps://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET参数说明参数是否必须说明grant_type是获取access_token填写client_credentialappid是第三方用户唯一凭证secret是第三方用户唯一凭证密钥,即appsecret返回说明正常情况下,微信会返回下述JSON数据包给公众号:{&access_token&:&ACCESS_TOKEN&,&expires_in&:7200}参数说明access_token获取到的凭证expires_in凭证有效时间,单位:秒第二个是:jsapi_ticket&介绍如下.jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。参考上面介绍获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token)用第一步拿到的access_token 采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):成功返回如下JSON:{
&errcode&:0,
&errmsg&:&ok&,
&ticket&:&bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA&,
&expires_in&:7200
}获得jsapi_ticket之后,就可以用来生成JS-SDK权限验证的签名了,也需要全局缓存下来。第三个是:卡券 api_ticket&介绍如下.卡券 api_ticket 是用于调用卡券相关接口的临时票据,有效期为 7200 秒,通过 access_token 来获取。这里要注意与 jsapi_ticket 区分开来。由于获取卡券 api_ticket 的 api 调用次数非常有限,频繁刷新卡券 api_ticket 会导致 api 调用受限,影响自身业务,开发者必须在自己的服务全局缓存卡券 api_ticket 。参考上面介绍获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token)用第一步拿到的access_token 采用http GET方式请求获得卡券 api_ticket(有效期7200秒,开发者必须在自己的服务全局缓存卡券 api_ticket):卡券扩展字段cardExt说明cardExt本身是一个JSON字符串,是商户为该张卡券分配的唯一性信息,包含以下字段:字段是否必填说明code否指定的卡券code码,只能被领一次。use_custom_code字段为true的卡券必须填写,非自定义code不必填写。openid否指定领取者的openid,只有该用户能领取。bind_openid字段为true的卡券必须填写,非自定义openid不必填写。timestamp是时间戳,商户生成从日00:00:00至今的秒数,即当前的时间,且最终需要转换为字符串形式;由商户生成后传入。signature是签名,商户将接口列表中的参数按照指定方式进行签名,签名方式使用SHA1,具体签名方案参见下文;由商户按照规范签名后传入。balance否红包余额,以分为单位。红包类型必填(LUCKY_MONEY),其他卡券类型不填。在得到上面这3个凭证之后就可以开始接下来的第二步:网站引入微信的JS文件,注入config配置.这一步操作需要注意的是,网站的域名必须在微信公众号后台添加到了&设置&-&&公众号设置&-&&功能设置&-&&JS接口安全域名&里.好了,开始引入JS文件.(转载请注明出处:)在需要调用JS接口的页面引入如下JS文件,(支持https):备注:支持使用 AMD/CMD 标准模块加载方法加载通过config接口注入权限验证配置所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)。wx.config({
&&&&debug:&true,&//&开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
&&&&appId:&'',&//&必填,公众号的唯一标识
&&&&timestamp:&,&//&必填,生成签名的时间戳
&&&&nonceStr:&'',&//&必填,生成签名的随机串
&&&&signature:&'',//&必填,签名,见附录1
&&&&jsApiList:&[]&//&必填,需要使用的JS接口列表,所有JS接口列表见附录2
});上面的jsApiList内填的是要使用的JS接口,我们是要让用户领取卡券,所以需要用到的JS接口方法:addCard在html文件中加入以下javascript:&script&src=&http://res./open/js/jweixin-1.0.0.js&&&/script&
wx.config({
&&&&debug:&true,
&&&&appId:&&{$signature['appid']}&,
&&&&timestamp:&{$signature['timestamp']},
&&&&nonceStr:&&{$signature['noncestr']}&,
&&&&signature:&&{$signature['signature']}&,
&&&&jsApiList:&[
'addCard'
wx.ready(function(){
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//添加卡券
document.querySelector('#addCard').onclick&=&function&()&{
wx.addCard({
&&cardList:&[
&&&&&&cardId:&&xxxxxxxxxxxxxxxxxxxxxx&,
&&&&&&cardExt:&'{&timestamp&:&&,&signature&:&fdd1e925f92acbb2227a&}'
&&success:&function&(res)&{
&&&&alert('已添加卡券:'&+&JSON.stringify(res.cardList));
&/script&上面这段代码里重要的参数是:wx.config 这个配置要通过后台计算好后印射前端html里面才行,是动态的.签名算法需要用到的是上面介绍的jsapi_ticket,详细生成规则算法如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。即signature=sha1(string1)。&示例:noncestr=Wm3WZYTPz0wzccnWjsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qgtimestamp=url=步骤1.&对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=&url=http://mp.?params=value步骤2. 对string1进行sha1签名,得到signature:0f9de62fce790f9a083d5c99e95740ceb90c27ed注意事项签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。签名用的url必须是调用JS接口页面的完整URL。出于安全考虑,开发者必须在服务器端实现签名的逻辑。用php写一个满足此条件的签名函数:function&getJsSign($jsapi_ticket,$url,&$timestamp=0,&$noncestr=''){
&&&&if&(!$timestamp)
&&&&&&&&$timestamp&=&time();
&&&&if&(!$noncestr)
&&&&&&&&$noncestr&=&generateNonceStr();
&&&&$ret&=&strpos($url,'#');
&&&&if&($ret)
&&&&&&&&$url&=&substr($url,0,$ret);
&&&&$url&=&trim($url);
&&&&if&(empty($url))
&&&&&&&&return&
&&&&$arrdata&=&array(&timestamp&&=&&$timestamp,&&noncestr&&=&&$noncestr,&&url&&=&&$url,&&jsapi_ticket&&=&&$jsapi_ticket);
&&&&ksort($arrdata);
&&&&$paramstring&=&&&;
&&&&foreach($arrdata&as&$key&=&&$value){
&&&&&&&&if(strlen($paramstring)&==&0)
&&&&&&&&&&&&$paramstring&.=&$key&.&&=&&.&$
&&&&&&&&else
&&&&&&&&&&&&$paramstring&.=&&&&&.&$key&.&&=&&.&$
&&&&$sign&=&sha1($paramstring);
&&&&if&(!$sign)
&&&&&&&&return&
&&&&return&$
function&generateNonceStr($length=16){
&&&&//&密码字符集,可任意添加你需要的字符
&&&&$chars&=&&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&;
&&&&$str&=&&&;
&&&&for($i&=&0;&$i&&&$&$i++)
&&&&$str&.=&$chars[mt_rand(0,&strlen($chars)&-&1)];
&&&&return&$
}用generateNonceStr函数生成随机字符串,再传入时间戳,当前页面的url,以及之前缓存好的jsapi_ticket这4个参数经过getJsSign函数处理即可得到相应的签名了,把这些参数映射给js的wx.config,就完成了.这里的签名如果不通过是没办法调用JS API的,调试前打开debug模式,确保弹出的信息是OK再进行.JS的签名通过后,就可以调试卡券领取接口JS了.方法是addCard &需要注入到wx.ready(function(){})里面.wx.addCard({
&&&&cardList:&[
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&cardId:&&xxxxxxxxxxxxxxxxxxxxxx&,
&&&&&&&&cardExt:&'{&timestamp&:&&,&signature&:&fdd1e925f92acbb2227a&}'
success:&function&(res)&{
&&&&&&alert('已添加卡券:'&+&JSON.stringify(res.cardList));
});addCard方法可以绑定到监听事件document.querySelector('#addCard').onclick上.cardId是卡券的ID,生成的时候能够得到,也可以在后台查看;cardExt的话要注意了,如果生成的卡券没有用自定义code,那么只需要timestamp和signature这两个字段就行了,但是如果生成的卡券是自定义code的,那么需要指定一个code给cardExt,否则在领取时按钮会显示&参数错误&.这里的signature是卡券的签名,和上面提到的JS签名不一样的,此签名的计算方法说明如下:将 api_ticket(特别说明:api_ticket 相较 appsecret 安全性更高,同时兼容老版本文档中使用的 appsecret 作为签名凭证。)、timestamp、card_id、code、openid、balance的value值进行字符串的字典序排序。将所有参数字符串拼接成一个字符串进行sha1加密,得到signature。signature中的timestamp和card_ext中的timestamp必须保持一致。假如数据示例中code=23456,timestamp=,card_id=345667,api_ticket=45678则signature=sha1(89)=4F4FAE4E1BC940FEC03E。卡券签名cardSign说明将 api_ticket(特别说明:api_ticket 相较 appsecret 安全性更高,同时兼容老版本文档中使用的 appsecret 作为签名凭证。)、app_id、location_id、times_tamp、nonce_str、card_id、card_type的value值进行字符串的字典序排序。将所有参数字符串拼接成一个字符串进行sha1加密,得到cardSign。用php写一个满足此条件的签名函数:function&getCardSign($card){
&&&&&&&&sort($card,SORT_STRING);
&&&&&&&&$sign&=&sha1(implode($card));
&&&&&&&&if&(!$sign)
&&&&&&&&&&&&return&
&&&&&&&&return&$
}$card是一个数组,里面必须包含时间戳,卡券 api_ticket,如果是自定义的code或者指定openid的用户才能领取,需要把这些额外参数也传到$card中,经过字典排序sha1加密后就能得到卡券签名了.好了,上面就是如何在自己的页面上让用户在微信浏览器中领取已经申请通过的卡券,转载请注明出处:
猿资猿味 (C) 版权所有,保留一切权利 · 基于构建 (C)

我要回帖

更多关于 微信公众号广告投放 的文章

 

随机推荐