Constants

API_BASE_URL_PREFIX

API_BASE_URL_PREFIX = 'https://api.weixin.qq.com'

API接口URL需要使用此前缀

API_URL_PREFIX

API_URL_PREFIX = 'https://api.weixin.qq.com/cgi-bin'

GET_TICKET_URL

GET_TICKET_URL = '/ticket/getticket?'

AUTH_URL

AUTH_URL = '/token?grant_type=client_credential&'

MSGTYPE_TEXT

MSGTYPE_TEXT = 'text'

消息回复类型

MSGTYPE_NEWS

MSGTYPE_NEWS = 'news'

MSGTYPE_IMAGE

MSGTYPE_IMAGE = 'image'

MSGTYPE_VOICE

MSGTYPE_VOICE = 'voice'

MSGTYPE_EVENT

MSGTYPE_EVENT = 'event'

MSGTYPE_MUSIC

MSGTYPE_MUSIC = 'music'

MSGTYPE_VIDEO

MSGTYPE_VIDEO = 'video'

MSGTYPE_LOCATION

MSGTYPE_LOCATION = 'location'

Properties

$token

$token : 

Type

$encodingAesKey

$encodingAesKey : 

Type

$encrypt_type

$encrypt_type : 

Type

$appid

$appid : 

Type

$appsecret

$appsecret : 

Type

$access_token

$access_token : 

Type

$postxml

$postxml : 

Type

$_msg

$_msg : 

Type

$errCode

$errCode : 

Type

$errMsg

$errMsg : 

Type

$config

$config : 

Type

$_text_filter

$_text_filter : 

文本过滤

Type

$_retry

$_retry : 

Type

$_receive

$_receive : 

消息对象

Type

Methods

getAllPrivateTemplate()

getAllPrivateTemplate() : boolean|array

获取模板列表

Returns

boolean|array

getTMIndustry()

getTMIndustry() : boolean|array

获取设置的行业信息

Returns

boolean|array

delPrivateTemplate()

delPrivateTemplate(string  $tpl_id) : boolean

删除模板消息

Parameters

string $tpl_id

Returns

boolean

setTMIndustry()

setTMIndustry(string  $id1, string  $id2 = '') : boolean|mixed

模板消息 设置所属行业

Parameters

string $id1

公众号模板消息所属行业编号,参看官方开发文档 行业代码

string $id2

同$id1。但如果只有一个行业,此参数可省略

Returns

boolean|mixed

addTemplateMessage()

addTemplateMessage(string  $tpl_id) : boolean|string

模板消息 添加消息模板 成功返回消息模板的调用id

Parameters

string $tpl_id

模板库中模板的编号,有“TM”和“OPENTMTM”等形式

Returns

boolean|string

sendTemplateMessage()

sendTemplateMessage(array  $data) : boolean|array

发送模板消息

Parameters

array $data

消息结构 { "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url":"http://weixin.qq.com/download", "topcolor":"#FF0000", "data":{ "参数名1": { "value":"参数", "color":"#173177" //参数颜色 }, "Date":{ "value":"06月07日 19时24分", "color":"#173177" }, "CardNumber":{ "value":"0426", "color":"#173177" }, "Type":{ "value":"消费", "color":"#173177" } } }

Returns

boolean|array

sendMassMessage()

sendMassMessage(array  $data) : boolean|array

根据标签进行群发 ( 订阅号与服务号认证后均可用 )

Parameters

array $data

消息结构 注意: 视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Returns

boolean|array —

{ "touser"=>array( "OPENID1", "OPENID2" ), "msgtype"=>"mpvideo", // 在下面5种类型中选择对应的参数内容 // mpnews | voice | image | mpvideo => array( "media_id"=>"MediaId") // text => array ( "content" => "hello") }

sendGroupMassMessage()

sendGroupMassMessage(array  $data) : boolean|array

根据标签进行群发 ( 订阅号与服务号认证后均可用 )

Parameters

array $data

消息结构 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Returns

boolean|array —

{ "filter"=>array( "is_to_all"=>False, //是否群发给所有用户.True不用分组id,False需填写分组id "group_id"=>"2" //群发的分组id ), "msgtype"=>"mpvideo", // 在下面5种类型中选择对应的参数内容 // mpnews | voice | image | mpvideo => array( "media_id"=>"MediaId") // text => array ( "content" => "hello") }

deleteMassMessage()

deleteMassMessage(string  $msg_id) : boolean

删除群发图文消息 ( 订阅号与服务号认证后均可用 )

Parameters

string $msg_id

消息ID

Returns

boolean

previewMassMessage()

previewMassMessage(array  $data) : boolean|array

预览群发消息 ( 订阅号与服务号认证后均可用 )

Parameters

array $data

注意: 视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Returns

boolean|array

queryMassMessage()

queryMassMessage(string  $msg_id) : boolean|array

查询群发消息发送状态 ( 订阅号与服务号认证后均可用 )

Parameters

string $msg_id

消息ID

Returns

boolean|array —

{ "msg_id":201053012, //群发消息后返回的消息id "msg_status":"SEND_SUCCESS", //消息发送后的状态,SENDING表示正在发送 SEND_SUCCESS表示发送成功 }

__construct()

__construct(array  $options = array()) 

构造方法

Parameters

array $options

getErrorCode()

getErrorCode() : integer

当前当前错误代码

Returns

integer

getError()

getError() : string

获取当前错误内容

Returns

string

getAppid()

getAppid() : string

获取当前操作公众号APPID

Returns

string

getConfig()

getConfig() : array

获取SDK配置参数

Returns

array

valid()

valid() : boolean

接口验证

Returns

boolean

getAccessToken()

getAccessToken(string  $appid = '', string  $appsecret = '', string  $token = '') : boolean|string

获取公众号访问 access_token

Parameters

string $appid

如在类初始化时已提供,则可为空

string $appsecret

如在类初始化时已提供,则可为空

string $token

手动指定access_token,非必要情况不建议用

Returns

boolean|string

resetAuth()

resetAuth(string  $appid = '') : boolean

删除验证数据

Parameters

string $appid

如在类初始化时已提供,则可为空

Returns

boolean

getRev()

getRev() : $this

获取微信服务器发来的内容

Returns

$this

getRevData()

getRevData() : array

获取微信服务器发来的信息数据

Returns

array

getRevFrom()

getRevFrom() : boolean|string

获取消息发送者

Returns

boolean|string

getRevTo()

getRevTo() : boolean|string

获取消息接受者

Returns

boolean|string

getRevType()

getRevType() : boolean|string

获取接收消息的类型

Returns

boolean|string

getRevID()

getRevID() : boolean|string

获取消息ID

Returns

boolean|string

getRevCtime()

getRevCtime() : boolean|string

获取消息发送时间

Returns

boolean|string

getRevCardPass()

getRevCardPass() : boolean|string

获取卡券事件推送 - 卡卷审核是否通过 当Event为 card_pass_check(审核通过) 或 card_not_pass_check(未通过)

Returns

boolean|string —

返回卡券ID

getRevCardGet()

getRevCardGet() : boolean|array

获取卡券事件推送 - 领取卡券 当Event为 user_get_card(用户领取卡券)

Returns

boolean|array

getRevCardDel()

getRevCardDel() : boolean|array

获取卡券事件推送 - 删除卡券 当Event为 user_del_card (用户删除卡券)

Returns

boolean|array

getRevContent()

getRevContent() : boolean

获取接收消息内容正文

Returns

boolean

getRevPic()

getRevPic() : array|boolean

获取接收消息图片

Returns

array|boolean

getRevLink()

getRevLink() : boolean|array

获取接收消息链接

Returns

boolean|array

getRevGeo()

getRevGeo() : boolean|array

获取接收地理位置

Returns

boolean|array

getRevEventGeo()

getRevEventGeo() : boolean|array

获取上报地理位置事件

Returns

boolean|array

getRevEvent()

getRevEvent() : boolean|array

获取接收事件推送

Returns

boolean|array

getRevScanInfo()

getRevScanInfo() : boolean|array

获取自定义菜单的扫码推事件信息

事件类型为以下两种时则调用此方法有效 Event 事件类型, scancode_push Event 事件类型, scancode_waitmsg

Returns

boolean|array

getRevSendPicsInfo()

getRevSendPicsInfo() : boolean|array

获取自定义菜单的图片发送事件信息

事件类型为以下三种时则调用此方法有效 Event 事件类型,pic_sysphoto 弹出系统拍照发图的事件推送 Event 事件类型,pic_photo_or_album 弹出拍照或者相册发图的事件推送 Event 事件类型,pic_weixin 弹出微信相册发图器的事件推送

Returns

boolean|array —

array ( 'Count' => '2', 'PicList' =>array ( 'item' =>array ( 0 =>array ('PicMd5Sum' => 'aaae42617cf2a14342d96005af53624c'), 1 =>array ('PicMd5Sum' => '149bd39e296860a2adc2f1bb81616ff8'), ), ), )

getRevSendGeoInfo()

getRevSendGeoInfo() : boolean|array

获取自定义菜单的地理位置选择器事件推送

事件类型为以下时则可以调用此方法有效 Event 事件类型,location_select 弹出地理位置选择器的事件推送

Returns

boolean|array —

array ( 'Location_X' => '33.731655000061', 'Location_Y' => '113.29955200008047', 'Scale' => '16', 'Label' => '某某市某某区某某路', 'Poiname' => '', )

getRevVoice()

getRevVoice() : boolean|array

获取接收语音推送

Returns

boolean|array

getRevVideo()

getRevVideo() : array|boolean

获取接收视频推送

Returns

array|boolean

getRevTicket()

getRevTicket() : boolean|string

获取接收TICKET

Returns

boolean|string

getRevSceneId()

getRevSceneId() : boolean|string

获取二维码的场景值

Returns

boolean|string

getRevTplMsgID()

getRevTplMsgID() : boolean|string

获取主动推送的消息ID 经过验证,这个和普通的消息MsgId不一样 当Event为 MASSSENDJOBFINISH 或 TEMPLATESENDJOBFINISH

Returns

boolean|string

getRevStatus()

getRevStatus() : boolean|string

获取模板消息发送状态

Returns

boolean|string

getRevResult()

getRevResult() : boolean|array

获取群发或模板消息发送结果 当Event为 MASSSENDJOBFINISH 或 TEMPLATESENDJOBFINISH,即高级群发/模板消息

Returns

boolean|array

getRevKFCreate()

getRevKFCreate() : boolean|string

获取多客服会话状态推送事件 - 接入会话 当Event为 kfcreatesession 即接入会话

Returns

boolean|string

getRevKFClose()

getRevKFClose() : boolean|string

获取多客服会话状态推送事件 - 关闭会话 当Event为 kfclosesession 即关闭会话

Returns

boolean|string

getRevKFSwitch()

getRevKFSwitch() : boolean|array

获取多客服会话状态推送事件 - 转接会话 当Event为 kfswitchsession 即转接会话

Returns

boolean|array

sendCustomMessage()

sendCustomMessage(array  $data) : boolean|array

发送客服消息

Parameters

array $data

消息结构{"touser":"OPENID","msgtype":"news","news":{...}}

Returns

boolean|array

transfer_customer_service()

transfer_customer_service(string  $customer_account = '') : $this

转发多客服消息

Parameters

string $customer_account

Returns

$this

Message()

Message(string|array  $msg = '', boolean  $append = false) : array

设置发送消息

Parameters

string|array $msg

消息数组

boolean $append

是否在原消息数组追加

Returns

array

text()

text(string  $text = '') : $this

设置文本消息

Parameters

string $text

文本内容

Returns

$this

image()

image(string  $mediaid = '') : $this

设置图片消息

Parameters

string $mediaid

图片媒体ID

Returns

$this

voice()

voice(string  $mediaid = '') : $this

设置语音回复消息

Parameters

string $mediaid

语音媒体ID

Returns

$this

video()

video(string  $mediaid = '', string  $title = '', string  $description = '') : $this

设置视频回复消息

Parameters

string $mediaid

视频媒体ID

string $title

视频标题

string $description

视频描述

Returns

$this

music()

music(string  $title, string  $desc, string  $musicurl, string  $hgmusicurl = '', string  $thumbmediaid = '') : $this

设置音乐回复消息

Parameters

string $title

音乐标题

string $desc

音乐描述

string $musicurl

音乐地址

string $hgmusicurl

高清音乐地址

string $thumbmediaid

音乐图片缩略图的媒体id(可选)

Returns

$this

news()

news(array  $newsData = array()) : $this

设置回复图文

Parameters

array $newsData

Returns

$this

reply()

reply(array  $msg = array(), boolean  $return = false) : boolean|string

回复微信服务器

Parameters

array $msg

要发送的信息(默认取$this->_msg)

boolean $return

是否返回信息而不抛出到浏览器(默认:否)

Returns

boolean|string

checkRetry()

checkRetry(string  $method, array  $arguments = array()) : boolean|mixed

接口失败重试

Parameters

string $method

SDK方法名称

array $arguments

SDK方法参数

Returns

boolean|mixed

checkSignature()

checkSignature(string  $str = '') : boolean

验证来自微信服务器

Parameters

string $str

Returns

boolean

_auto_text_filter()

_auto_text_filter(string  $text) : string

过滤文字回复\r\n换行符

Parameters

string $text

Returns

string