调用官方API,具有更灵活的消息分类响应方式,支持链式调用操作 ;
$options = array(
'token'=>'tokenaccesskey', //填写你设定的key
'encodingaeskey'=>'encodingaeskey', //填写加密用的EncodingAESKey
'appid'=>'wxdk1234567890', //填写高级调用功能的app id, 请在微信开发模式后台查询
'appsecret'=>'xxxxxxxxxxxxxxxxxxx' //填写高级调用功能的密钥
);
$weObj = new Wechat($options); //创建实例对象
//TODO:调用$weObj各实例方法
scancode_push
或scancode_waitmsg
返回数组array ('ScanType'=>'qrcode','ScanResult'=>'123123')pic_sysphoto
或pic_photo_or_album
或pic_weixin
数组结构见php文件内方法说明location_select
数组结构见php文件内方法说明////消息类型,使用实例调用getRevType()方法取得
const MSGTYPE_TEXT = 'text';
const MSGTYPE_IMAGE = 'image';
const MSGTYPE_LOCATION = 'location';
const MSGTYPE_LINK = 'link';
const MSGTYPE_EVENT = 'event';
const MSGTYPE_MUSIC = 'music';
const MSGTYPE_NEWS = 'news';
const MSGTYPE_VOICE = 'voice';
const MSGTYPE_VIDEO = 'video';
////事件类型,使用实例调用getRevEvent()方法取得
const EVENT_SUBSCRIBE = 'subscribe'; //订阅
const EVENT_UNSUBSCRIBE = 'unsubscribe'; //取消订阅
const EVENT_SCAN = 'SCAN'; //扫描带参数二维码
const EVENT_LOCATION = 'LOCATION'; //上报地理位置
const EVENT_MENU_VIEW = 'VIEW'; //菜单 - 点击菜单跳转链接
const EVENT_MENU_CLICK = 'CLICK'; //菜单 - 点击菜单拉取消息
const EVENT_MENU_SCAN_PUSH = 'scancode_push'; //菜单 - 扫码推事件(客户端跳URL)
const EVENT_MENU_SCAN_WAITMSG = 'scancode_waitmsg'; //菜单 - 扫码推事件(客户端不跳URL)
const EVENT_MENU_PIC_SYS = 'pic_sysphoto'; //菜单 - 弹出系统拍照发图
const EVENT_MENU_PIC_PHOTO = 'pic_photo_or_album'; //菜单 - 弹出拍照或者相册发图
const EVENT_MENU_PIC_WEIXIN = 'pic_weixin'; //菜单 - 弹出微信相册发图器
const EVENT_MENU_LOCATION = 'location_select'; //菜单 - 弹出地理位置选择器
const EVENT_SEND_MASS = 'MASSSENDJOBFINISH'; //发送结果 - 高级群发完成
const EVENT_SEND_TEMPLATE = 'TEMPLATESENDJOBFINISH';//发送结果 - 模板消息发送结果
const EVENT_KF_SEESION_CREATE = 'kfcreatesession'; //多客服 - 接入会话
const EVENT_KF_SEESION_CLOSE = 'kfclosesession'; //多客服 - 关闭会话
const EVENT_KF_SEESION_SWITCH = 'kfswitchsession'; //多客服 - 转接会话
const EVENT_CARD_PASS = 'card_pass_check'; //卡券 - 审核通过
const EVENT_CARD_NOTPASS = 'card_not_pass_check'; //卡券 - 审核未通过
const EVENT_CARD_USER_GET = 'user_get_card'; //卡券 - 用户领取卡券
const EVENT_CARD_USER_DEL = 'user_del_card'; //卡券 - 用户删除卡券
getDatacube($type,$subtype,$begin_date,$end_date='') 获取统计数据 参数需注意$type与$subtype的定义
获取统计数据方法 参数定义
数据分类 $type值(字符串) 数据子分类 $subtype值(字符串) 时间跨度(天) 用户分析 'user' 获取用户增减数据 'summary' 7 用户分析 'user' 获取累计用户数据 'cumulate' 7 图文分析 'article' 获取图文群发每日数据 'summary' 1 图文分析 'article' 获取图文群发总数据 'total' 1 图文分析 'article' 获取图文统计数据 'read' 3 图文分析 'article' 获取图文统计分时数据 'readhour' 1 图文分析 'article' 获取图文分享转发数据 'share' 7 图文分析 'article' 获取图文分享转发分时数据 'sharehour' 1 消息分析 'upstreammsg' 获取消息发送概况数据 'summary' 7 消息分析 'upstreammsg' 获取消息分送分时数据 'hour' 1 消息分析 'upstreammsg' 获取消息发送周数据 'week' 30 消息分析 'upstreammsg' 获取消息发送月数据 'month' 30 消息分析 'upstreammsg' 获取消息发送分布数据 'dist' 15 消息分析 'upstreammsg' 获取消息发送分布周数据 'distweek' 30 消息分析 'upstreammsg' 获取消息发送分布月数据 'distmonth' 30 接口分析 'interface' 获取接口分析数据 'summary' 30 接口分析 'interface' 获取接口分析分时数据 'summaryhour' 1 需要注意
begin_date
和end_date
的差值需小于“最大时间跨度”(比如最大时间跨度为1时,begin_date
和end_date
的差值只能为0,才能小于1)
createCard($data) 创建卡券
updateCard($data) 修改卡券
delCard($card_id) 删除卡券
getCardInfo($card_id) 查询卡券详情
getCardColors() 获取颜色列表
getCardLocations() 拉取门店列表
addCardLocations($data) 批量导入门店信息
createCardQrcode($card_id) 生成卡券二维码
consumeCardCode($code) 消耗 code
decryptCardCode($encrypt_code) code 解码
checkCardCode($code) 获取 code 的有效性
getCardIdList($data) 批量查询卡列表
updateCardCode($code,$card_id,$new_code) 更改 code
unavailableCardCode($code,$card_id='') 设置卡券失效(不可逆)
modifyCardStock($data) 库存修改
activateMemberCard($data) 激活/绑定会员卡,参数结构请参看卡券开发文档(6.1.1 激活/绑定会员卡)章节
updateMemberCard($data) 会员卡交易,参数结构请参看卡券开发文档(6.1.2 会员卡交易)章节
updateLuckyMoney($code,$balance,$card_id='') 更新红包金额
setCardTestWhiteList($openid=array(),$user=array()) 设置卡券测试白名单
//test1.php
include "wechat.class.php";
$options = array(
'token'=>'tokenaccesskey' //填写你设定的key
);
$weObj = new Wechat($options);
$weObj->valid();//明文或兼容模式可以在接口验证通过后注释此句,但加密模式一定不能注释,否则会验证失败
$type = $weObj->getRev()->getRevType();
switch($type) {
case Wechat::MSGTYPE_TEXT:
$weObj->text("hello, I'm wechat")->reply();
exit;
break;
case Wechat::MSGTYPE_EVENT:
break;
case Wechat::MSGTYPE_IMAGE:
break;
default:
$weObj->text("help info")->reply();
}