\Wechat

微信公众平台PHP-SDK, 官方API部分

@author dodge dodgepudding@gmail.com

Summary

Methods
Properties
Constants
__construct()
valid()
Message()
setFuncFlag()
getRev()
getRevData()
getRevFrom()
getRevTo()
getRevType()
getRevID()
getRevCtime()
getRevContent()
getRevPic()
getRevLink()
getRevGeo()
getRevEventGeo()
getRevEvent()
getRevScanInfo()
getRevSendPicsInfo()
getRevSendGeoInfo()
getRevVoice()
getRevVideo()
getRevTicket()
getRevSceneId()
getRevTplMsgID()
getRevStatus()
getRevResult()
getRevKFCreate()
getRevKFClose()
getRevKFSwitch()
getRevCardPass()
getRevCardGet()
getRevCardDel()
xmlSafeStr()
data_to_xml()
xml_encode()
text()
image()
voice()
video()
music()
news()
reply()
checkAuth()
resetAuth()
resetJsTicket()
getJsTicket()
getJsSign()
json_encode()
getSignature()
generateNonceStr()
getServerIp()
createMenu()
getMenu()
deleteMenu()
uploadMedia()
getMedia()
uploadForeverMedia()
uploadForeverArticles()
updateForeverArticles()
getForeverMedia()
delForeverMedia()
getForeverList()
getForeverCount()
uploadArticles()
uploadMpVideo()
sendMassMessage()
sendGroupMassMessage()
deleteMassMessage()
previewMassMessage()
queryMassMessage()
getQRCode()
getQRUrl()
getShortUrl()
getDatacube()
getUserList()
getUserInfo()
updateUserRemark()
getGroup()
getUserGroup()
createGroup()
updateGroup()
updateGroupMembers()
batchUpdateGroupMembers()
sendCustomMessage()
getOauthRedirect()
getOauthAccessToken()
getOauthRefreshToken()
getOauthUserinfo()
getOauthAuth()
setTMIndustry()
addTemplateMessage()
sendTemplateMessage()
getCustomServiceMessage()
transfer_customer_service()
getCustomServiceKFlist()
getCustomServiceOnlineKFlist()
createKFSession()
closeKFSession()
getKFSession()
getKFSessionlist()
getKFSessionWait()
addKFAccount()
updateKFAccount()
deleteKFAccount()
setKFHeadImg()
querySemantic()
createCard()
updateCard()
delCard()
getCardInfo()
getCardColors()
getCardLocations()
addCardLocations()
createCardQrcode()
consumeCardCode()
decryptCardCode()
checkCardCode()
getCardIdList()
updateCardCode()
unavailableCardCode()
modifyCardStock()
activateMemberCard()
updateMemberCard()
updateLuckyMoney()
setCardTestWhiteList()
applyShakeAroundDevice()
searchShakeAroundDevice()
bindLocationShakeAroundDevice()
bindPageShakeAroundDevice()
addShakeAroundPage()
updateShakeAroundPage()
searchShakeAroundPage()
deleteShakeAroundPage()
getShakeInfoShakeAroundUser()
deviceShakeAroundStatistics()
$DATACUBE_URL_ARR
$debug
$errCode
$errMsg
$logcallback
MSGTYPE_TEXT
MSGTYPE_IMAGE
MSGTYPE_LOCATION
MSGTYPE_LINK
MSGTYPE_EVENT
MSGTYPE_MUSIC
MSGTYPE_NEWS
MSGTYPE_VOICE
MSGTYPE_VIDEO
EVENT_SUBSCRIBE
EVENT_UNSUBSCRIBE
EVENT_SCAN
EVENT_LOCATION
EVENT_MENU_VIEW
EVENT_MENU_CLICK
EVENT_MENU_SCAN_PUSH
EVENT_MENU_SCAN_WAITMSG
EVENT_MENU_PIC_SYS
EVENT_MENU_PIC_PHOTO
EVENT_MENU_PIC_WEIXIN
EVENT_MENU_LOCATION
EVENT_SEND_MASS
EVENT_SEND_TEMPLATE
EVENT_KF_SEESION_CREATE
EVENT_KF_SEESION_CLOSE
EVENT_KF_SEESION_SWITCH
EVENT_CARD_PASS
EVENT_CARD_NOTPASS
EVENT_CARD_USER_GET
EVENT_CARD_USER_DEL
API_URL_PREFIX
AUTH_URL
MENU_CREATE_URL
MENU_GET_URL
MENU_DELETE_URL
GET_TICKET_URL
CALLBACKSERVER_GET_URL
QRCODE_CREATE_URL
QR_SCENE
QR_LIMIT_SCENE
QRCODE_IMG_URL
SHORT_URL
USER_GET_URL
USER_INFO_URL
USER_UPDATEREMARK_URL
GROUP_GET_URL
USER_GROUP_URL
GROUP_CREATE_URL
GROUP_UPDATE_URL
GROUP_MEMBER_UPDATE_URL
GROUP_MEMBER_BATCHUPDATE_URL
CUSTOM_SEND_URL
MEDIA_UPLOADNEWS_URL
MASS_SEND_URL
TEMPLATE_SET_INDUSTRY_URL
TEMPLATE_ADD_TPL_URL
TEMPLATE_SEND_URL
MASS_SEND_GROUP_URL
MASS_DELETE_URL
MASS_PREVIEW_URL
MASS_QUERY_URL
UPLOAD_MEDIA_URL
MEDIA_UPLOAD_URL
MEDIA_GET_URL
MEDIA_VIDEO_UPLOAD
MEDIA_FOREVER_UPLOAD_URL
MEDIA_FOREVER_NEWS_UPLOAD_URL
MEDIA_FOREVER_NEWS_UPDATE_URL
MEDIA_FOREVER_GET_URL
MEDIA_FOREVER_DEL_URL
MEDIA_FOREVER_COUNT_URL
MEDIA_FOREVER_BATCHGET_URL
OAUTH_PREFIX
OAUTH_AUTHORIZE_URL
CUSTOM_SERVICE_GET_RECORD
CUSTOM_SERVICE_GET_KFLIST
CUSTOM_SERVICE_GET_ONLINEKFLIST
API_BASE_URL_PREFIX
OAUTH_TOKEN_URL
OAUTH_REFRESH_URL
OAUTH_USERINFO_URL
OAUTH_AUTH_URL
CUSTOM_SESSION_CREATE
CUSTOM_SESSION_CLOSE
CUSTOM_SESSION_SWITCH
CUSTOM_SESSION_GET
CUSTOM_SESSION_GET_LIST
CUSTOM_SESSION_GET_WAIT
CS_KF_ACCOUNT_ADD_URL
CS_KF_ACCOUNT_UPDATE_URL
CS_KF_ACCOUNT_DEL_URL
CS_KF_ACCOUNT_UPLOAD_HEADIMG_URL
CARD_CREATE
CARD_DELETE
CARD_UPDATE
CARD_GET
CARD_BATCHGET
CARD_MODIFY_STOCK
CARD_LOCATION_BATCHADD
CARD_LOCATION_BATCHGET
CARD_GETCOLORS
CARD_QRCODE_CREATE
CARD_CODE_CONSUME
CARD_CODE_DECRYPT
CARD_CODE_GET
CARD_CODE_UPDATE
CARD_CODE_UNAVAILABLE
CARD_TESTWHILELIST_SET
CARD_MEMBERCARD_ACTIVATE
CARD_MEMBERCARD_UPDATEUSER
CARD_MOVIETICKET_UPDATEUSER
CARD_BOARDINGPASS_CHECKIN
CARD_LUCKYMONEY_UPDATE
SEMANTIC_API_URL
SHAKEAROUND_DEVICE_APPLYID
SHAKEAROUND_DEVICE_SEARCH
SHAKEAROUND_DEVICE_BINDLOCATION
SHAKEAROUND_DEVICE_BINDPAGE
SHAKEAROUND_PAGE_ADD
SHAKEAROUND_PAGE_UPDATE
SHAKEAROUND_PAGE_SEARCH
SHAKEAROUND_PAGE_DELETE
SHAKEAROUND_USER_GETSHAKEINFO
SHAKEAROUND_STATISTICS_DEVICE
log()
setCache()
getCache()
removeCache()
No protected properties found
N/A
checkSignature()
_auto_text_filter()
generate()
http_get()
http_post()
$token
$encodingAesKey
$encrypt_type
$appid
$appsecret
$access_token
$jsapi_ticket
$user_token
$partnerid
$partnerkey
$paysignkey
$postxml
$_msg
$_funcflag
$_receive
$_text_filter
N/A

Constants

MSGTYPE_TEXT

MSGTYPE_TEXT = 'text'

MSGTYPE_IMAGE

MSGTYPE_IMAGE = 'image'

MSGTYPE_LOCATION

MSGTYPE_LOCATION = 'location'

MSGTYPE_EVENT

MSGTYPE_EVENT = 'event'

MSGTYPE_MUSIC

MSGTYPE_MUSIC = 'music'

MSGTYPE_NEWS

MSGTYPE_NEWS = 'news'

MSGTYPE_VOICE

MSGTYPE_VOICE = 'voice'

MSGTYPE_VIDEO

MSGTYPE_VIDEO = 'video'

EVENT_SUBSCRIBE

EVENT_SUBSCRIBE = 'subscribe'

EVENT_UNSUBSCRIBE

EVENT_UNSUBSCRIBE = 'unsubscribe'

EVENT_SCAN

EVENT_SCAN = 'SCAN'

EVENT_LOCATION

EVENT_LOCATION = 'LOCATION'

EVENT_MENU_VIEW

EVENT_MENU_VIEW = 'VIEW'

EVENT_MENU_CLICK

EVENT_MENU_CLICK = 'CLICK'

EVENT_MENU_SCAN_PUSH

EVENT_MENU_SCAN_PUSH = 'scancode_push'

EVENT_MENU_SCAN_WAITMSG

EVENT_MENU_SCAN_WAITMSG = 'scancode_waitmsg'

EVENT_MENU_PIC_SYS

EVENT_MENU_PIC_SYS = 'pic_sysphoto'

EVENT_MENU_PIC_PHOTO

EVENT_MENU_PIC_PHOTO = 'pic_photo_or_album'

EVENT_MENU_PIC_WEIXIN

EVENT_MENU_PIC_WEIXIN = 'pic_weixin'

EVENT_MENU_LOCATION

EVENT_MENU_LOCATION = 'location_select'

EVENT_SEND_MASS

EVENT_SEND_MASS = 'MASSSENDJOBFINISH'

EVENT_SEND_TEMPLATE

EVENT_SEND_TEMPLATE = 'TEMPLATESENDJOBFINISH'

EVENT_KF_SEESION_CREATE

EVENT_KF_SEESION_CREATE = 'kfcreatesession'

EVENT_KF_SEESION_CLOSE

EVENT_KF_SEESION_CLOSE = 'kfclosesession'

EVENT_KF_SEESION_SWITCH

EVENT_KF_SEESION_SWITCH = 'kfswitchsession'

EVENT_CARD_PASS

EVENT_CARD_PASS = 'card_pass_check'

EVENT_CARD_NOTPASS

EVENT_CARD_NOTPASS = 'card_not_pass_check'

EVENT_CARD_USER_GET

EVENT_CARD_USER_GET = 'user_get_card'

EVENT_CARD_USER_DEL

EVENT_CARD_USER_DEL = 'user_del_card'

API_URL_PREFIX

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

AUTH_URL

AUTH_URL = '/token?grant_type=client_credential&'

MENU_CREATE_URL

MENU_CREATE_URL = '/menu/create?'

MENU_GET_URL

MENU_GET_URL = '/menu/get?'

MENU_DELETE_URL

MENU_DELETE_URL = '/menu/delete?'

GET_TICKET_URL

GET_TICKET_URL = '/ticket/getticket?'

CALLBACKSERVER_GET_URL

CALLBACKSERVER_GET_URL = '/getcallbackip?'

QRCODE_CREATE_URL

QRCODE_CREATE_URL = '/qrcode/create?'

QR_SCENE

QR_SCENE = 0

QR_LIMIT_SCENE

QR_LIMIT_SCENE = 1

QRCODE_IMG_URL

QRCODE_IMG_URL = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='

SHORT_URL

SHORT_URL = '/shorturl?'

USER_GET_URL

USER_GET_URL = '/user/get?'

USER_INFO_URL

USER_INFO_URL = '/user/info?'

USER_UPDATEREMARK_URL

USER_UPDATEREMARK_URL = '/user/info/updateremark?'

GROUP_GET_URL

GROUP_GET_URL = '/groups/get?'

USER_GROUP_URL

USER_GROUP_URL = '/groups/getid?'

GROUP_CREATE_URL

GROUP_CREATE_URL = '/groups/create?'

GROUP_UPDATE_URL

GROUP_UPDATE_URL = '/groups/update?'

GROUP_MEMBER_UPDATE_URL

GROUP_MEMBER_UPDATE_URL = '/groups/members/update?'

GROUP_MEMBER_BATCHUPDATE_URL

GROUP_MEMBER_BATCHUPDATE_URL = '/groups/members/batchupdate?'

CUSTOM_SEND_URL

CUSTOM_SEND_URL = '/message/custom/send?'

MEDIA_UPLOADNEWS_URL

MEDIA_UPLOADNEWS_URL = '/media/uploadnews?'

MASS_SEND_URL

MASS_SEND_URL = '/message/mass/send?'

TEMPLATE_SET_INDUSTRY_URL

TEMPLATE_SET_INDUSTRY_URL = '/message/template/api_set_industry?'

TEMPLATE_ADD_TPL_URL

TEMPLATE_ADD_TPL_URL = '/message/template/api_add_template?'

TEMPLATE_SEND_URL

TEMPLATE_SEND_URL = '/message/template/send?'

MASS_SEND_GROUP_URL

MASS_SEND_GROUP_URL = '/message/mass/sendall?'

MASS_DELETE_URL

MASS_DELETE_URL = '/message/mass/delete?'

MASS_PREVIEW_URL

MASS_PREVIEW_URL = '/message/mass/preview?'

MASS_QUERY_URL

MASS_QUERY_URL = '/message/mass/get?'

UPLOAD_MEDIA_URL

UPLOAD_MEDIA_URL = 'http://file.api.weixin.qq.com/cgi-bin'

MEDIA_UPLOAD_URL

MEDIA_UPLOAD_URL = '/media/upload?'

MEDIA_GET_URL

MEDIA_GET_URL = '/media/get?'

MEDIA_VIDEO_UPLOAD

MEDIA_VIDEO_UPLOAD = '/media/uploadvideo?'

MEDIA_FOREVER_UPLOAD_URL

MEDIA_FOREVER_UPLOAD_URL = '/material/add_material?'

MEDIA_FOREVER_NEWS_UPLOAD_URL

MEDIA_FOREVER_NEWS_UPLOAD_URL = '/material/add_news?'

MEDIA_FOREVER_NEWS_UPDATE_URL

MEDIA_FOREVER_NEWS_UPDATE_URL = '/material/update_news?'

MEDIA_FOREVER_GET_URL

MEDIA_FOREVER_GET_URL = '/material/get_material?'

MEDIA_FOREVER_DEL_URL

MEDIA_FOREVER_DEL_URL = '/material/del_material?'

MEDIA_FOREVER_COUNT_URL

MEDIA_FOREVER_COUNT_URL = '/material/get_materialcount?'

MEDIA_FOREVER_BATCHGET_URL

MEDIA_FOREVER_BATCHGET_URL = '/material/batchget_material?'

OAUTH_PREFIX

OAUTH_PREFIX = 'https://open.weixin.qq.com/connect/oauth2'

OAUTH_AUTHORIZE_URL

OAUTH_AUTHORIZE_URL = '/authorize?'

CUSTOM_SERVICE_GET_RECORD

CUSTOM_SERVICE_GET_RECORD = '/customservice/getrecord?'

CUSTOM_SERVICE_GET_KFLIST

CUSTOM_SERVICE_GET_KFLIST = '/customservice/getkflist?'

CUSTOM_SERVICE_GET_ONLINEKFLIST

CUSTOM_SERVICE_GET_ONLINEKFLIST = '/customservice/getonlinekflist?'

API_BASE_URL_PREFIX

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

OAUTH_TOKEN_URL

OAUTH_TOKEN_URL = '/sns/oauth2/access_token?'

OAUTH_REFRESH_URL

OAUTH_REFRESH_URL = '/sns/oauth2/refresh_token?'

OAUTH_USERINFO_URL

OAUTH_USERINFO_URL = '/sns/userinfo?'

OAUTH_AUTH_URL

OAUTH_AUTH_URL = '/sns/auth?'

CUSTOM_SESSION_CREATE

CUSTOM_SESSION_CREATE = '/customservice/kfsession/create?'

CUSTOM_SESSION_CLOSE

CUSTOM_SESSION_CLOSE = '/customservice/kfsession/close?'

CUSTOM_SESSION_SWITCH

CUSTOM_SESSION_SWITCH = '/customservice/kfsession/switch?'

CUSTOM_SESSION_GET

CUSTOM_SESSION_GET = '/customservice/kfsession/getsession?'

CUSTOM_SESSION_GET_LIST

CUSTOM_SESSION_GET_LIST = '/customservice/kfsession/getsessionlist?'

CUSTOM_SESSION_GET_WAIT

CUSTOM_SESSION_GET_WAIT = '/customservice/kfsession/getwaitcase?'

CS_KF_ACCOUNT_ADD_URL

CS_KF_ACCOUNT_ADD_URL = '/customservice/kfaccount/add?'

CS_KF_ACCOUNT_UPDATE_URL

CS_KF_ACCOUNT_UPDATE_URL = '/customservice/kfaccount/update?'

CS_KF_ACCOUNT_DEL_URL

CS_KF_ACCOUNT_DEL_URL = '/customservice/kfaccount/del?'

CS_KF_ACCOUNT_UPLOAD_HEADIMG_URL

CS_KF_ACCOUNT_UPLOAD_HEADIMG_URL = '/customservice/kfaccount/uploadheadimg?'

CARD_CREATE

CARD_CREATE = '/card/create?'

CARD_DELETE

CARD_DELETE = '/card/delete?'

CARD_UPDATE

CARD_UPDATE = '/card/update?'

CARD_GET

CARD_GET = '/card/get?'

CARD_BATCHGET

CARD_BATCHGET = '/card/batchget?'

CARD_MODIFY_STOCK

CARD_MODIFY_STOCK = '/card/modifystock?'

CARD_LOCATION_BATCHADD

CARD_LOCATION_BATCHADD = '/card/location/batchadd?'

CARD_LOCATION_BATCHGET

CARD_LOCATION_BATCHGET = '/card/location/batchget?'

CARD_GETCOLORS

CARD_GETCOLORS = '/card/getcolors?'

CARD_QRCODE_CREATE

CARD_QRCODE_CREATE = '/card/qrcode/create?'

CARD_CODE_CONSUME

CARD_CODE_CONSUME = '/card/code/consume?'

CARD_CODE_DECRYPT

CARD_CODE_DECRYPT = '/card/code/decrypt?'

CARD_CODE_GET

CARD_CODE_GET = '/card/code/get?'

CARD_CODE_UPDATE

CARD_CODE_UPDATE = '/card/code/update?'

CARD_CODE_UNAVAILABLE

CARD_CODE_UNAVAILABLE = '/card/code/unavailable?'

CARD_TESTWHILELIST_SET

CARD_TESTWHILELIST_SET = '/card/testwhitelist/set?'

CARD_MEMBERCARD_ACTIVATE

CARD_MEMBERCARD_ACTIVATE = '/card/membercard/activate?'

CARD_MEMBERCARD_UPDATEUSER

CARD_MEMBERCARD_UPDATEUSER = '/card/membercard/updateuser?'

CARD_MOVIETICKET_UPDATEUSER

CARD_MOVIETICKET_UPDATEUSER = '/card/movieticket/updateuser?'

CARD_BOARDINGPASS_CHECKIN

CARD_BOARDINGPASS_CHECKIN = '/card/boardingpass/checkin?'

CARD_LUCKYMONEY_UPDATE

CARD_LUCKYMONEY_UPDATE = '/card/luckymoney/updateuserbalance?'

SEMANTIC_API_URL

SEMANTIC_API_URL = '/semantic/semproxy/search?'

SHAKEAROUND_DEVICE_APPLYID

SHAKEAROUND_DEVICE_APPLYID = '/shakearound/device/applyid?'

SHAKEAROUND_DEVICE_BINDLOCATION

SHAKEAROUND_DEVICE_BINDLOCATION = '/shakearound/device/bindlocation?'

SHAKEAROUND_DEVICE_BINDPAGE

SHAKEAROUND_DEVICE_BINDPAGE = '/shakearound/device/bindpage?'

SHAKEAROUND_PAGE_ADD

SHAKEAROUND_PAGE_ADD = '/shakearound/page/add?'

SHAKEAROUND_PAGE_UPDATE

SHAKEAROUND_PAGE_UPDATE = '/shakearound/page/update?'

SHAKEAROUND_PAGE_DELETE

SHAKEAROUND_PAGE_DELETE = '/shakearound/page/delete?'

SHAKEAROUND_USER_GETSHAKEINFO

SHAKEAROUND_USER_GETSHAKEINFO = '/shakearound/user/getshakeinfo?'

SHAKEAROUND_STATISTICS_DEVICE

SHAKEAROUND_STATISTICS_DEVICE = '/shakearound/statistics/device?'

Properties

$DATACUBE_URL_ARR

$DATACUBE_URL_ARR

$debug

$debug

$errCode

$errCode

$errMsg

$errMsg

$logcallback

$logcallback

$token

$token

$encodingAesKey

$encodingAesKey

$encrypt_type

$encrypt_type

$appid

$appid

$appsecret

$appsecret

$access_token

$access_token

$jsapi_ticket

$jsapi_ticket

$user_token

$user_token

$partnerid

$partnerid

$partnerkey

$partnerkey

$paysignkey

$paysignkey

$postxml

$postxml

$_msg

$_msg

$_funcflag

$_funcflag

$_receive

$_receive

$_text_filter

$_text_filter

Methods

__construct()

__construct(mixed  $options) : mixed

Parameters

mixed $options

Returns

mixed —

valid()

valid(bool  $return = false) : mixed

For weixin server validation

Parameters

bool $return

是否返回

Returns

mixed —

Message()

Message(array  $msg = '', bool  $append = false) : mixed

设置发送消息

Parameters

array $msg

消息数组

bool $append

是否在原消息数组追加

Returns

mixed —

setFuncFlag()

setFuncFlag(mixed  $flag) : mixed

设置消息的星标标志,官方已取消对此功能的支持

Parameters

mixed $flag

Returns

mixed —

getRev()

getRev() : mixed

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

Returns

mixed —

getRevData()

getRevData() : mixed

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

Returns

mixed —

getRevFrom()

getRevFrom() : mixed

获取消息发送者

Returns

mixed —

getRevTo()

getRevTo() : mixed

获取消息接受者

Returns

mixed —

getRevType()

getRevType() : mixed

获取接收消息的类型

Returns

mixed —

getRevID()

getRevID() : mixed

获取消息ID

Returns

mixed —

getRevCtime()

getRevCtime() : mixed

获取消息发送时间

Returns

mixed —

getRevContent()

getRevContent() : mixed

获取接收消息内容正文

Returns

mixed —

getRevPic()

getRevPic() : mixed

获取接收消息图片

Returns

mixed —

getRevLink()

getRevLink() : mixed

获取接收消息链接

Returns

mixed —

getRevGeo()

getRevGeo() : mixed

获取接收地理位置

Returns

mixed —

getRevEventGeo()

getRevEventGeo() : mixed

获取上报地理位置事件

Returns

mixed —

getRevEvent()

getRevEvent() : mixed

获取接收事件推送

Returns

mixed —

getRevScanInfo()

getRevScanInfo() : mixed

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

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

Returns

mixed —

getRevSendPicsInfo()

getRevSendPicsInfo() : mixed

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

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

Returns

mixed —

getRevSendGeoInfo()

getRevSendGeoInfo() : mixed

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

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

Returns

mixed —

getRevVoice()

getRevVoice() : mixed

获取接收语音推送

Returns

mixed —

getRevVideo()

getRevVideo() : mixed

获取接收视频推送

Returns

mixed —

getRevTicket()

getRevTicket() : mixed

获取接收TICKET

Returns

mixed —

getRevSceneId()

getRevSceneId() : mixed

获取二维码的场景值

Returns

mixed —

getRevTplMsgID()

getRevTplMsgID() : mixed

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

Returns

mixed —

getRevStatus()

getRevStatus() : mixed

获取模板消息发送状态

Returns

mixed —

getRevResult()

getRevResult() : mixed

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

Returns

mixed —

getRevKFCreate()

getRevKFCreate() : string

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

Returns

string —

| boolean 返回分配到的客服

getRevKFClose()

getRevKFClose() : string

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

Returns

string —

| boolean 返回分配到的客服

getRevKFSwitch()

getRevKFSwitch() : array

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

Returns

array —

| boolean 返回分配到的客服 { 'FromKfAccount' => '', //原接入客服 'ToKfAccount' => '' //转接到客服 }

getRevCardPass()

getRevCardPass() : string|bool

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

Returns

string|bool —

返回卡券ID

getRevCardGet()

getRevCardGet() : array|bool

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

Returns

array|bool —

getRevCardDel()

getRevCardDel() : array|bool

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

Returns

array|bool —

xmlSafeStr()

xmlSafeStr(mixed  $str) : mixed

Parameters

mixed $str

Returns

mixed —

data_to_xml()

data_to_xml(mixed  $data) : string

数据XML编码

Parameters

mixed $data

数据

Returns

string —

xml_encode()

xml_encode(mixed  $data, string  $root = 'xml', string  $item = 'item', string  $attr = '', string  $id = 'id', string  $encoding = 'utf-8') : string

XML编码

Parameters

mixed $data

数据

string $root

根节点名

string $item

数字索引的子节点名

string $attr

根节点属性

string $id

数字索引子节点key转换的属性名

string $encoding

数据编码

Returns

string —

text()

text(string  $text = '') : mixed

设置回复消息 Example: $obj->text('hello')->reply();

Parameters

string $text

Returns

mixed —

image()

image(string  $mediaid = '') : mixed

设置回复消息 Example: $obj->image('media_id')->reply();

Parameters

string $mediaid

Returns

mixed —

voice()

voice(string  $mediaid = '') : mixed

设置回复消息 Example: $obj->voice('media_id')->reply();

Parameters

string $mediaid

Returns

mixed —

video()

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

设置回复消息 Example: $obj->video('media_id','title','description')->reply();

Parameters

string $mediaid
mixed $title
mixed $description

Returns

mixed —

music()

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

设置回复音乐

Parameters

string $title
string $desc
string $musicurl
string $hgmusicurl
string $thumbmediaid

音乐图片缩略图的媒体id,非必须

Returns

mixed —

news()

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

设置回复图文

Parameters

array $newsData

数组结构: array( "0"=>array( 'Title'=>'msg title', 'Description'=>'summary text', 'PicUrl'=>'http://www.domain.com/1.jpg', 'Url'=>'http://www.domain.com/1.html' ), "1"=>.... )

Returns

mixed —

reply()

reply(string  $msg = array(), bool  $return = false) : mixed

回复微信服务器, 此函数支持链式操作 Example: $this->text('msg tips')->reply();

Parameters

string $msg

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

bool $return

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

Returns

mixed —

checkAuth()

checkAuth(string  $appid = '', string  $appsecret = '', string  $token = '') : mixed

获取access_token

Parameters

string $appid

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

string $appsecret

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

string $token

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

Returns

mixed —

resetAuth()

resetAuth(string  $appid = '') : mixed

删除验证数据

Parameters

string $appid

Returns

mixed —

resetJsTicket()

resetJsTicket(string  $appid = '') : mixed

删除JSAPI授权TICKET

Parameters

string $appid

用于多个appid时使用

Returns

mixed —

getJsTicket()

getJsTicket(string  $appid = '', string  $jsapi_ticket = '') : mixed

获取JSAPI授权TICKET

Parameters

string $appid

用于多个appid时使用,可空

string $jsapi_ticket

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

Returns

mixed —

getJsSign()

getJsSign(string  $url, string  $timestamp, string  $noncestr = '', string  $appid = '') : array|bool

获取JsApi使用签名

Parameters

string $url

网页的URL,自动处理#及其后面部分

string $timestamp

当前时间戳 (为空则自动生成)

string $noncestr

随机串 (为空则自动生成)

string $appid

用于多个appid时使用,可空

Returns

array|bool —

返回签名字串

json_encode()

json_encode(array  $arr) : mixed

微信api不支持中文转义的json结构

Parameters

array $arr

Returns

mixed —

getSignature()

getSignature(array  $arrdata, string  $method = "sha1") : bool|string

获取签名

Parameters

array $arrdata

签名数组

string $method

签名方法

Returns

bool|string —

签名值

generateNonceStr()

generateNonceStr(\number  $length = 16) : string

生成随机字串

Parameters

\number $length

长度,默认为16,最长为32字节

Returns

string —

getServerIp()

getServerIp() : mixed

获取微信服务器IP地址列表

Returns

mixed —

createMenu()

createMenu(array  $data) : mixed

创建菜单(认证后的订阅号可用)

Parameters

array $data

菜单数组数据 example: array ( 'button' => array ( 0 => array ( 'name' => '扫码', 'sub_button' => array ( 0 => array ( 'type' => 'scancode_waitmsg', 'name' => '扫码带提示', 'key' => 'rselfmenu_0_0', ), 1 => array ( 'type' => 'scancode_push', 'name' => '扫码推事件', 'key' => 'rselfmenu_0_1', ), ), ), 1 => array ( 'name' => '发图', 'sub_button' => array ( 0 => array ( 'type' => 'pic_sysphoto', 'name' => '系统拍照发图', 'key' => 'rselfmenu_1_0', ), 1 => array ( 'type' => 'pic_photo_or_album', 'name' => '拍照或者相册发图', 'key' => 'rselfmenu_1_1', ) ), ), 2 => array ( 'type' => 'location_select', 'name' => '发送位置', 'key' => 'rselfmenu_2_0' ), ), ) type可以选择为以下几种,其中5-8除了收到菜单事件以外,还会单独收到对应类型的信息。 1、click:点击推事件 2、view:跳转URL 3、scancode_push:扫码推事件 4、scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框 5、pic_sysphoto:弹出系统拍照发图 6、pic_photo_or_album:弹出拍照或者相册发图 7、pic_weixin:弹出微信相册发图器 8、location_select:弹出地理位置选择器

Returns

mixed —

getMenu()

getMenu() : mixed

获取菜单(认证后的订阅号可用)

Returns

mixed —

deleteMenu()

deleteMenu() : bool

删除菜单(认证后的订阅号可用)

Returns

bool —

uploadMedia()

uploadMedia(array  $data, mixed  $type) : bool|array

上传临时素材,有效期为3天(认证后的订阅号可用) 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义 注意:临时素材的media_id是可复用的!

Parameters

array $data

{"media":'@Path\filename.jpg'}

mixed $type

Returns

bool|array —

getMedia()

getMedia(string  $media_id, bool  $is_video = false) : \raw

获取临时素材(认证后的订阅号可用)

Parameters

string $media_id

媒体文件id

bool $is_video

是否为视频文件,默认为否

Returns

\raw —

data

uploadForeverMedia()

uploadForeverMedia(array  $data, mixed  $type, bool  $is_video = false, array  $video_info = array()) : bool|array

上传永久素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义

Parameters

array $data

{"media":'@Path\filename.jpg'}

mixed $type
bool $is_video

是否为视频文件,默认为否

array $video_info

视频信息数组,非视频素材不需要提供 array('title'=>'视频标题','introduction'=>'描述')

Returns

bool|array —

uploadForeverArticles()

uploadForeverArticles(array  $data) : bool|array

上传永久图文素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到

Parameters

array $data

消息结构{"articles":[{...}]}

Returns

bool|array —

updateForeverArticles()

updateForeverArticles(string  $media_id, array  $data, int  $index) : bool|array

修改永久图文素材(认证后的订阅号可用) 永久素材也可以在公众平台官网素材管理模块中看到

Parameters

string $media_id

图文素材id

array $data

消息结构{"articles":[{...}]}

int $index

更新的文章在图文素材的位置,第一篇为0,仅多图文使用

Returns

bool|array —

getForeverMedia()

getForeverMedia(string  $media_id, bool  $is_video = false) : bool|array|\raw

获取永久素材(认证后的订阅号可用) 返回图文消息数组或二进制数据,失败返回false

Parameters

string $media_id

媒体文件id

bool $is_video

是否为视频文件,默认为否

Returns

bool|array|\raw —

data

delForeverMedia()

delForeverMedia(string  $media_id) : bool

删除永久素材(认证后的订阅号可用)

Parameters

string $media_id

媒体文件id

Returns

bool —

getForeverList()

getForeverList(string  $type, int  $offset, int  $count) : bool|array

获取永久素材列表(认证后的订阅号可用)

Parameters

string $type

素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)

int $offset

全部素材的偏移位置,0表示从第一个素材

int $count

返回素材的数量,取值在1到20之间

Returns

bool|array —

返回数组格式: array( 'total_count'=>0, //该类型的素材的总数 'item_count'=>0, //本次调用获取的素材的数量 'item'=>array() //素材列表数组,内容定义请参考官方文档 )

getForeverCount()

getForeverCount() : bool|array

获取永久素材总数(认证后的订阅号可用)

Returns

bool|array —

返回数组格式: array( 'voice_count'=>0, //语音总数量 'video_count'=>0, //视频总数量 'image_count'=>0, //图片总数量 'news_count'=>0 //图文总数量 )

uploadArticles()

uploadArticles(array  $data) : bool|array

上传图文消息素材,用于群发(认证后的订阅号可用)

Parameters

array $data

消息结构{"articles":[{...}]}

Returns

bool|array —

uploadMpVideo()

uploadMpVideo(array  $data) : bool|array

上传视频素材(认证后的订阅号可用)

Parameters

array $data

消息结构 { "media_id"=>"", //通过上传媒体接口得到的MediaId "title"=>"TITLE", //视频标题 "description"=>"Description" //视频描述 }

Returns

bool|array —

{ "type":"video", "media_id":"mediaid", "created_at":1398848981 }

sendMassMessage()

sendMassMessage(array  $data) : bool|array

高级群发消息, 根据OpenID列表群发图文消息(订阅号不可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Parameters

array $data

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

Returns

bool|array —

sendGroupMassMessage()

sendGroupMassMessage(array  $data) : bool|array

高级群发消息, 根据群组id群发图文消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Parameters

array $data

消息结构 { "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") }

Returns

bool|array —

deleteMassMessage()

deleteMassMessage(int  $msg_id) : bool|array

高级群发消息, 删除群发图文消息(认证后的订阅号可用)

Parameters

int $msg_id

消息id

Returns

bool|array —

previewMassMessage()

previewMassMessage(array  $data) : bool|array

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

Parameters

array $data

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

Returns

bool|array —

queryMassMessage()

queryMassMessage(int  $msg_id) : bool|array

高级群发消息, 查询群发消息发送状态(认证后的订阅号可用)

Parameters

int $msg_id

消息id

Returns

bool|array —

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

getQRCode()

getQRCode(int|string  $scene_id, int  $type, int  $expire = 1800) : mixed

创建二维码ticket

Parameters

int|string $scene_id

自定义追踪id,临时二维码只能用数值型

int $type

0:临时二维码;1:永久二维码(此时expire参数无效);2:永久二维码(此时expire参数无效)

int $expire

临时二维码有效期,最大为1800秒

Returns

mixed —

getQRUrl()

getQRUrl(string  $ticket) : string

获取二维码图片

Parameters

string $ticket

传入由getQRCode方法生成的ticket参数

Returns

string —

url 返回http地址

getShortUrl()

getShortUrl(string  $long_url) : bool|string

长链接转短链接接口

Parameters

string $long_url

传入要转换的长url

Returns

bool|string —

url 成功则返回转换后的短url

getDatacube()

getDatacube(string  $type, string  $subtype, string  $begin_date, string  $end_date = '') : bool|array

获取统计数据

Parameters

string $type

数据分类(user|article|upstreammsg|interface)分别为(用户分析|图文分析|消息分析|接口分析)

string $subtype

数据子分类,参考 DATACUBE_URL_ARR 常量定义部分 或者README.md说明文档

string $begin_date

开始时间

string $end_date

结束时间

Returns

bool|array —

成功返回查询结果数组,其定义请看官方文档

getUserList()

getUserList(\unknown  $next_openid = '') : mixed

批量获取关注用户列表

Parameters

\unknown $next_openid

Returns

mixed —

getUserInfo()

getUserInfo(string  $openid) : array

获取关注者详细信息

Parameters

string $openid

Returns

array —

{subscribe,openid,nickname,sex,city,province,country,language,headimgurl,subscribe_time,[unionid]} 注意:unionid字段 只有在用户将公众号绑定到微信开放平台账号后,才会出现。建议调用前用isset()检测一下

updateUserRemark()

updateUserRemark(string  $openid, string  $remark) : bool|array

设置用户备注名

Parameters

string $openid
string $remark

备注名

Returns

bool|array —

getGroup()

getGroup() : bool|array

获取用户分组列表

Returns

bool|array —

getUserGroup()

getUserGroup(string  $openid) : bool|int

获取用户所在分组

Parameters

string $openid

Returns

bool|int —

成功则返回用户分组id

createGroup()

createGroup(string  $name) : bool|array

新增自定分组

Parameters

string $name

分组名称

Returns

bool|array —

updateGroup()

updateGroup(int  $groupid, string  $name) : bool|array

更改分组名称

Parameters

int $groupid

分组id

string $name

分组名称

Returns

bool|array —

updateGroupMembers()

updateGroupMembers(int  $groupid, string  $openid) : bool|array

移动用户分组

Parameters

int $groupid

分组id

string $openid

用户openid

Returns

bool|array —

batchUpdateGroupMembers()

batchUpdateGroupMembers(int  $groupid, string  $openid_list) : bool|array

批量移动用户分组

Parameters

int $groupid

分组id

string $openid_list

用户openid数组,一次不能超过50个

Returns

bool|array —

sendCustomMessage()

sendCustomMessage(array  $data) : bool|array

发送客服消息

Parameters

array $data

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

Returns

bool|array —

getOauthRedirect()

getOauthRedirect(string  $callback, mixed  $state = '', mixed  $scope = 'snsapi_userinfo') : string

oauth 授权跳转接口

Parameters

string $callback

回调URI

mixed $state
mixed $scope

Returns

string —

getOauthAccessToken()

getOauthAccessToken() : array

通过code获取Access Token

Returns

array —

{access_token,expires_in,refresh_token,openid,scope}

getOauthRefreshToken()

getOauthRefreshToken(string  $refresh_token) : bool|mixed

刷新access token并续期

Parameters

string $refresh_token

Returns

bool|mixed —

getOauthUserinfo()

getOauthUserinfo(string  $access_token, string  $openid) : array

获取授权后的用户资料

Parameters

string $access_token
string $openid

Returns

array —

{openid,nickname,sex,province,city,country,headimgurl,privilege,[unionid]} 注意:unionid字段 只有在用户将公众号绑定到微信开放平台账号后,才会出现。建议调用前用isset()检测一下

getOauthAuth()

getOauthAuth(string  $access_token, string  $openid) : bool

检验授权凭证是否有效

Parameters

string $access_token
string $openid

Returns

bool —

是否有效

setTMIndustry()

setTMIndustry(int  $id1, int  $id2 = '') : bool|array

模板消息 设置所属行业

Parameters

int $id1

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

int $id2

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

Returns

bool|array —

addTemplateMessage()

addTemplateMessage(string  $tpl_id) : bool|string

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

Parameters

string $tpl_id

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

Returns

bool|string —

sendTemplateMessage()

sendTemplateMessage(array  $data) : bool|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

bool|array —

getCustomServiceMessage()

getCustomServiceMessage(array  $data) : bool|array

获取多客服会话记录

Parameters

array $data

数据结构{"starttime":123456789,"endtime":987654321,"openid":"OPENID","pagesize":10,"pageindex":1,}

Returns

bool|array —

transfer_customer_service()

transfer_customer_service(string  $customer_account = '') : mixed

转发多客服消息 Example: $obj->transfer_customer_service($customer_account)->reply();

Parameters

string $customer_account

转发到指定客服帐号:test1@test

Returns

mixed —

getCustomServiceKFlist()

getCustomServiceKFlist() : bool|array

获取多客服客服基本信息

Returns

bool|array —

getCustomServiceOnlineKFlist()

getCustomServiceOnlineKFlist() : bool|array

获取多客服在线客服接待信息

Returns

bool|array —

{ "kf_online_list": [ { "kf_account": "test1@test", //客服账号@微信别名 "status": 1, //客服在线状态 1:pc在线,2:手机在线,若pc和手机同时在线则为 1+2=3 "kf_id": "1001", //客服工号 "auto_accept": 0, //客服设置的最大自动接入数 "accepted_case": 1 //客服当前正在接待的会话数 } ] }

createKFSession()

createKFSession(string  $openid, string  $kf_account, string  $text = '') : bool

创建指定多客服会话

Parameters

string $openid

//用户openid

string $kf_account

//客服账号

string $text

//附加信息,文本会展示在客服人员的多客服客户端,可为空

Returns

bool —

| array //成功返回json数组 { "errcode": 0, "errmsg": "ok", }

closeKFSession()

closeKFSession(string  $openid, string  $kf_account, string  $text = '') : bool

关闭指定多客服会话

Parameters

string $openid

//用户openid

string $kf_account

//客服账号

string $text

//附加信息,文本会展示在客服人员的多客服客户端,可为空

Returns

bool —

| array //成功返回json数组 { "errcode": 0, "errmsg": "ok", }

getKFSession()

getKFSession(string  $openid) : bool

获取用户会话状态

Parameters

string $openid

//用户openid

Returns

bool —

| array //成功返回json数组 { "errcode" : 0, "errmsg" : "ok", "kf_account" : "test1@test", //正在接待的客服 "createtime": 123456789, //会话接入时间 }

getKFSessionlist()

getKFSessionlist(mixed  $kf_account) : bool

获取指定客服的会话列表

Parameters

mixed $kf_account

Returns

bool —

| array //成功返回json数组 array( 'sessionlist' => array ( array ( 'openid'=>'OPENID', //客户 openid 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ), array ( 'openid'=>'OPENID', //客户 openid 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ), ) )

getKFSessionWait()

getKFSessionWait() : bool

获取未接入会话列表

Returns

bool —

| array //成功返回json数组 array ( 'count' => 150 , //未接入会话数量 'waitcaselist' => array ( array ( 'openid'=>'OPENID', //客户 openid 'kf_account ' =>'', //指定接待的客服,为空则未指定 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ), array ( 'openid'=>'OPENID', //客户 openid 'kf_account ' =>'', //指定接待的客服,为空则未指定 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ) ) )

addKFAccount()

addKFAccount(string  $account, string  $nickname, string  $password) : bool|array

添加客服账号

Parameters

string $account

//完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符

string $nickname

//客服昵称,最长6个汉字或12个英文字符

string $password

//客服账号明文登录密码,会自动加密

Returns

bool|array —

成功返回结果 { "errcode": 0, "errmsg": "ok", }

updateKFAccount()

updateKFAccount(string  $account, string  $nickname, string  $password) : bool|array

修改客服账号信息

Parameters

string $account

//完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符

string $nickname

//客服昵称,最长6个汉字或12个英文字符

string $password

//客服账号明文登录密码,会自动加密

Returns

bool|array —

成功返回结果 { "errcode": 0, "errmsg": "ok", }

deleteKFAccount()

deleteKFAccount(string  $account) : bool|array

删除客服账号

Parameters

string $account

//完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符

Returns

bool|array —

成功返回结果 { "errcode": 0, "errmsg": "ok", }

setKFHeadImg()

setKFHeadImg(string  $account, string  $imgfile) : bool|array

上传客服头像

Parameters

string $account

//完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符

string $imgfile

//头像文件完整路径,如:'D:\user.jpg'。头像文件必须JPG格式,像素建议640*640

Returns

bool|array —

成功返回结果 { "errcode": 0, "errmsg": "ok", }

querySemantic()

querySemantic(string  $uid, string  $query, string  $category, float  $latitude, float  $longitude, string  $city = "", string  $region = "") : bool|array

语义理解接口

Parameters

string $uid

用户唯一id(非开发者id),用户区分公众号下的不同用户(建议填入用户openid)

string $query

输入文本串

string $category

需要使用的服务类型,多个用“,”隔开,不能为空

float $latitude

纬度坐标,与经度同时传入;与城市二选一传入

float $longitude

经度坐标,与纬度同时传入;与城市二选一传入

string $city

城市名称,与经纬度二选一传入

string $region

区域名称,在城市存在的情况下可省略;与经纬度二选一传入

Returns

bool|array —

createCard()

createCard(array  $data) : array|bool

创建卡券

Parameters

array $data

卡券数据

Returns

array|bool —

返回数组中card_id为卡券ID

updateCard()

updateCard(string  $data) : bool

更改卡券信息 调用该接口更新信息后会重新送审,卡券状态变更为待审核。已被用户领取的卡券会实时更新票面信息。

Parameters

string $data

Returns

bool —

delCard()

delCard(string  $card_id) : bool

删除卡券 允许商户删除任意一类卡券。删除卡券后,该卡券对应已生成的领取用二维码、添加到卡包 JS API 均会失效。 注意:删除卡券不能删除已被用户领取,保存在微信客户端中的卡券,已领取的卡券依旧有效。

Parameters

string $card_id

卡券ID

Returns

bool —

getCardInfo()

getCardInfo(string  $card_id) : bool|array

查询卡券详情

Parameters

string $card_id

Returns

bool|array —

返回数组信息比较复杂,请参看卡券接口文档

getCardColors()

getCardColors() : bool|array

获取颜色列表 获得卡券的最新颜色列表,用于创建卡券

Returns

bool|array —

返回数组请参看 微信卡券接口文档 的json格式

getCardLocations()

getCardLocations(int  $offset, int  $count) : bool|array

拉取门店列表 获取在公众平台上申请创建的门店列表

Parameters

int $offset

开始拉取的偏移,默认为0从头开始

int $count

拉取的数量,默认为0拉取全部

Returns

bool|array —

返回数组请参看 微信卡券接口文档 的json格式

addCardLocations()

addCardLocations(array  $data) : bool|string

批量导入门店信息

Parameters

array $data

数组形式的json数据,由于内容较多,具体内容格式请查看 微信卡券接口文档

Returns

bool|string —

成功返回插入的门店id列表

createCardQrcode()

createCardQrcode(mixed  $card_id, string  $code = '', string  $openid = '', int  $expire_seconds, bool  $is_unique_code = false, string  $balance = '') : bool|string

生成卡券二维码 成功则直接返回ticket值,可以用 getQRUrl($ticket) 换取二维码url

Parameters

mixed $card_id
string $code

指定卡券 code 码,只能被领一次。use_custom_code 字段为 true 的卡券必须填写,非自定义 code 不必填写。

string $openid

指定领取者的 openid,只有该用户能领取。bind_openid 字段为 true 的卡券必须填写,非自定义 openid 不必填写。

int $expire_seconds

指定二维码的有效时间,范围是 60 ~ 1800 秒。不填默认为永久有效。

bool $is_unique_code

指定下发二维码,生成的二维码随机分配一个 code,领取后不可再次扫描。填写 true 或 false。默认 false。

string $balance

红包余额,以分为单位。红包类型必填(LUCKY_MONEY),其他卡券类型不填。

Returns

bool|string —

consumeCardCode()

consumeCardCode(string  $code, string  $card_id = '') : bool|array

消耗 code 自定义 code(use_custom_code 为 true)的优惠券,在 code 被核销时,必须调用此接口。

Parameters

string $code

要消耗的序列号

string $card_id

要消耗序列号所述的 card_id,创建卡券时use_custom_code 填写 true 时必填。

Returns

bool|array —

{ "errcode":0, "errmsg":"ok", "card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"}, "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA" }

decryptCardCode()

decryptCardCode(string  $encrypt_code) : bool|array

code 解码

Parameters

string $encrypt_code

通过 choose_card_info 获取的加密字符串

Returns

bool|array —

{ "errcode":0, "errmsg":"ok", "code":"751234212312" }

checkCardCode()

checkCardCode(string  $code) : bool|array

查询 code 的有效性(非自定义 code)

Parameters

string $code

Returns

bool|array —

{ "errcode":0, "errmsg":"ok", "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA", //用户 openid "card":{ "card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc", "begin_time": 1404205036, //起始使用时间 "end_time": 1404205036, //结束时间 } }

getCardIdList()

getCardIdList( $offset,  $count = 50) : bool|array

批量查询卡列表

Parameters

$offset

开始拉取的偏移,默认为0从头开始

$count

需要查询的卡片的数量(数量最大50,默认50)

Returns

bool|array —

{ "errcode":0, "errmsg":"ok", "card_id_list":["ph_gmt7cUVrlRk8swPwx7aDyF-pg"], //卡 id 列表 "total_num":1 //该商户名下 card_id 总数 }

updateCardCode()

updateCardCode(string  $code, string  $card_id, string  $new_code) : bool

更改 code 为确保转赠后的安全性,微信允许自定义code的商户对已下发的code进行更改。 注:为避免用户疑惑,建议仅在发生转赠行为后(发生转赠后,微信会通过事件推送的方式告知商户被转赠的卡券code)对用户的code进行更改。

Parameters

string $code

卡券的 code 编码

string $card_id

卡券 ID

string $new_code

新的卡券 code 编码

Returns

bool —

unavailableCardCode()

unavailableCardCode(string  $code, string  $card_id = '') : bool

设置卡券失效 设置卡券失效的操作不可逆

Parameters

string $code

需要设置为失效的 code

string $card_id

自定义 code 的卡券必填。非自定义 code 的卡券不填。

Returns

bool —

modifyCardStock()

modifyCardStock(string  $data) : bool

库存修改

Parameters

string $data

Returns

bool —

activateMemberCard()

activateMemberCard(string  $data) : bool

激活/绑定会员卡

Parameters

string $data

具体结构请参看卡券开发文档(6.1.1 激活/绑定会员卡)章节

Returns

bool —

updateMemberCard()

updateMemberCard(string  $data) : bool|array

会员卡交易 会员卡交易后每次积分及余额变更需通过接口通知微信,便于后续消息通知及其他扩展功能。

Parameters

string $data

具体结构请参看卡券开发文档(6.1.2 会员卡交易)章节

Returns

bool|array —

updateLuckyMoney()

updateLuckyMoney(string  $code,  $balance, string  $card_id = '') : bool|array

更新红包金额

Parameters

string $code

红包的序列号

$balance

红包余额

string $card_id

自定义 code 的卡券必填。非自定义 code 可不填。

Returns

bool|array —

setCardTestWhiteList()

setCardTestWhiteList(string  $openid = array(), string  $user = array()) : bool

设置卡券测试白名单

Parameters

string $openid

测试的 openid 列表

string $user

测试的微信号列表

Returns

bool —

applyShakeAroundDevice()

applyShakeAroundDevice(array  $data) : bool|mixed

[applyShakeAroundDevice 申请配置设备所需的UUID、Major、Minor。 若激活率小于50%,不能新增设备。单次新增设备超过500 个,需走人工审核流程。 审核通过后,可用迒回的批次ID 用“查询设备列表”接口拉取本次申请的设备ID]

Parameters

array $data

array( "quantity" => 3,//申请的设备ID 的数量,单次新增设备超过500 个,需走人工审核流程(必填) "apply_reason" => "测试",//申请理由(必填) "comment" => "测试专用",//备注(非必填) "poi_id" => 1234 //设备关联的门店ID(非必填) )

Returns

bool|mixed —

{ "data": { "apply_id": 123, "device_identifiers":[ { "device_id":10100, "uuid":"FDA50693-A4E2-4FB1-AFCF-C6EB07647825", "major":10001, "minor":10002 } ] }, "errcode": 0, "errmsg": "success." }

apply_id:申请的批次ID,可用在“查询设备列表”接口按批次查询本次申请成功的设备ID device_identifiers:指定的设备ID 列表 device_id:设备编号 uuid、major、minor audit_status:审核状态。0:审核未通过、1:审核中、2:审核已通过;审核会在三个工作日内完成 audit_comment:审核备注,包括审核不通过的原因

searchShakeAroundDevice()

searchShakeAroundDevice(array  $data) : bool|mixed

[searchShakeAroundDevice 查询已有的设备ID、UUID、Major、Minor、激活状态、备注信息、关联门店、关联页面等信息。 可指定设备ID 或完整的UUID、Major、Minor 查询,也可批量拉取设备信息列表。]

Parameters

array $data

$data 三种格式: ①查询指定设备时:$data = array( "device_identifiers" => array( array( "device_id" => 10100, "uuid" => "FDA50693-A4E2-4FB1-AFCF-C6EB07647825", "major" => 10001, "minor" => 10002 ) ) ); device_identifiers:指定的设备 device_id:设备编号,若填了UUID、major、minor,则可不填设备编号,若二者都填,则以设备编号为优先 uuid、major、minor:三个信息需填写完整,若填了设备编号,则可不填此信息 +------------------------------------------------------------------------------------------------------------- ②需要分页查询或者指定范围内的设备时: $data = array( "begin" => 0, "count" => 3 ); begin:设备列表的起始索引值 count:待查询的设备个数 +------------------------------------------------------------------------------------------------------------- ③当需要根据批次ID 查询时: $data = array( "apply_id" => 1231, "begin" => 0, "count" => 3 ); apply_id:批次ID +-------------------------------------------------------------------------------------------------------------

Returns

bool|mixed —

正确迒回JSON 数据示例: 字段说明 { "data": { "devices": [ //指定的设备信息列表 { "comment": "", //设备的备注信息 "device_id": 10097, //设备编号 "major": 10001, "minor": 12102, "page_ids": "15369", //与此设备关联的页面ID 列表,用逗号隔开 "status": 1, //激活状态,0:未激活,1:已激活(但不活跃),2:活跃 "poi_id": 0, //门店ID "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" }, { "comment": "", //设备的备注信息 "device_id": 10098, //设备编号 "major": 10001, "minor": 12103, "page_ids": "15368", //与此设备关联的页面ID 列表,用逗号隔开 "status": 1, //激活状态,0:未激活,1:已激活(但不活跃),2:活跃 "poi_id": 0, //门店ID "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" } ], "total_count": 151 //商户名下的设备总量 }, "errcode": 0, "errmsg": "success." }

bindLocationShakeAroundDevice()

bindLocationShakeAroundDevice(string  $device_id, int  $poi_id, string  $comment, string  $uuid, int  $major, int  $minor) : bool|mixed

[bindLocationShakeAroundDevice 修改设备关联的门店ID、设备的备注信息。 可用设备ID 或完整的UUID、Major、Minor指定设备,二者选其一。]

Parameters

string $device_id

设备编号,若填了UUID、major、minor,则可不填设备编号,若二者都填,则以设备编号为优先

int $poi_id

待关联的门店ID

string $comment

设备的备注信息

string $uuid

UUID、major、minor,三个信息需填写完整,若填了设备编号,则可不填此信息

int $major
int $minor

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

bindPageShakeAroundDevice()

bindPageShakeAroundDevice(string  $device_id, array  $page_ids = array(), \number  $bind = 1, \number  $append = 1, string  $uuid, int  $major, int  $minor) : bool|mixed

[bindPageShakeAroundDevice 配置设备与页面的关联关系。 支持建立或解除关联关系,也支持新增页面或覆盖页面等操作。 配置完成后,在此设备的信号范围内,即可摇出关联的页面信息。 若设备配置多个页面,则随机出现页面信息]

Parameters

string $device_id

设备编号,若填了UUID、major、minor,则可不填设备编号,若二者都填,则以设备编号为优先

array $page_ids

待关联的页面列表

\number $bind

关联操作标志位, 0 为解除关联关系,1 为建立关联关系

\number $append

新增操作标志位, 0 为覆盖,1 为新增

string $uuid

UUID、major、minor,三个信息需填写完整,若填了设备编号,则可不填此信息

int $major
int $minor

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

addShakeAroundPage()

addShakeAroundPage(string  $title, string  $description, \sting  $icon_url, string  $page_url, string  $comment = '') : bool|mixed

[addShakeAroundPage 增加摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]

Parameters

string $title

在摇一摇页面展示的主标题,不超过6 个字

string $description

在摇一摇页面展示的副标题,不超过7 个字

\sting $icon_url

在摇一摇页面展示的图片, 格式限定为:jpg,jpeg,png,gif; 建议120120 , 限制不超过200200

string $page_url

跳转链接

string $comment

页面的备注信息,不超过15 个字,可不填

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { "page_id": 28840 //新增页面的页面id } "errcode": 0, "errmsg": "success." }

updateShakeAroundPage()

updateShakeAroundPage(int  $page_id, string  $title, string  $description, \sting  $icon_url, string  $page_url, string  $comment = '') : bool|mixed

[updateShakeAroundPage 编辑摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]

Parameters

int $page_id
string $title

在摇一摇页面展示的主标题,不超过6 个字

string $description

在摇一摇页面展示的副标题,不超过7 个字

\sting $icon_url

在摇一摇页面展示的图片, 格式限定为:jpg,jpeg,png,gif; 建议120120 , 限制不超过200200

string $page_url

跳转链接

string $comment

页面的备注信息,不超过15 个字,可不填

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { "page_id": 28840 //编辑页面的页面ID } "errcode": 0, "errmsg": "success." }

searchShakeAroundPage()

searchShakeAroundPage(array  $page_ids = array(), int  $begin, int  $count = 1) : bool|mixed

[searchShakeAroundPage 查询已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 提供两种查询方式,①可指定页面ID 查询,②也可批量拉取页面列表。]

Parameters

array $page_ids
int $begin
int $count

①需要查询指定页面时: { "page_ids":[12345, 23456, 34567] } +------------------------------------------------------------------------------------------------------------- ②需要分页查询或者指定范围内的页面时: { "begin": 0, "count": 3 } +-------------------------------------------------------------------------------------------------------------

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { "pages": [ { "comment": "just for test", "description": "test", "icon_url": "https://www.baidu.com/img/bd_logo1.png", "page_id": 28840, "page_url": "http://xw.qq.com/testapi1", "title": "测试1" }, { "comment": "just for test", "description": "test", "icon_url": "https://www.baidu.com/img/bd_logo1.png", "page_id": 28842, "page_url": "http://xw.qq.com/testapi2", "title": "测试2" } ], "total_count": 2 }, "errcode": 0, "errmsg": "success." } 字段说明: total_count 商户名下的页面总数 page_id 摇周边页面唯一ID title 在摇一摇页面展示的主标题 description 在摇一摇页面展示的副标题 icon_url 在摇一摇页面展示的图片 page_url 跳转链接 comment 页面的备注信息

deleteShakeAroundPage()

deleteShakeAroundPage(array  $page_ids = array()) : bool|mixed

[deleteShakeAroundPage 删除已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 只有页面与设备没有关联关系时,才可被删除。]

Parameters

array $page_ids

{ "page_ids":[12345,23456,34567] }

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

getShakeInfoShakeAroundUser()

getShakeInfoShakeAroundUser(string  $ticket) : bool|mixed

[getShakeInfoShakeAroundUser 获取设备信息,包括UUID、major、minor,以及距离、openID 等信息。]

Parameters

string $ticket

摇周边业务的ticket,可在摇到的URL 中得到,ticket生效时间为30 分钟

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": { "page_id ": 14211, "beacon_info": { "distance": 55.00620700469034, "major": 10001, "minor": 19007, "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" }, "openid": "oVDmXjp7y8aG2AlBuRpMZTb1-cmA" }, "errcode": 0, "errmsg": "success." } 字段说明: beacon_info 设备信息,包括UUID、major、minor,以及距离 UUID、major、minor UUID、major、minor distance Beacon 信号与手机的距离 page_id 摇周边页面唯一ID openid 商户AppID 下用户的唯一标识 poi_id 门店ID,有的话则返回,没有的话不会在JSON 格式内

deviceShakeAroundStatistics()

deviceShakeAroundStatistics(int  $device_id, int  $begin_date, int  $end_date, string  $uuid, int  $major, int  $minor) : bool|mixed

[deviceShakeAroundStatistics description]

Parameters

int $device_id

设备编号,若填了UUID、major、minor,即可不填设备编号,二者选其一

int $begin_date

起始日期时间戳,最长时间跨度为30 天

int $end_date

结束日期时间戳,最长时间跨度为30 天

string $uuid

UUID、major、minor,三个信息需填写完成,若填了设备编辑,即可不填此信息,二者选其一

int $major
int $minor

Returns

bool|mixed —

正确返回JSON 数据示例: { "data": [ { "click_pv": 0, "click_uv": 0, "ftime": 1425052800, "shake_pv": 0, "shake_uv": 0 }, { "click_pv": 0, "click_uv": 0, "ftime": 1425139200, "shake_pv": 0, "shake_uv": 0 } ], "errcode": 0, "errmsg": "success." } 字段说明: ftime 当天0 点对应的时间戳 click_pv 点击摇周边消息的次数 click_uv 点击摇周边消息的人数 shake_pv 摇周边的次数 shake_uv 摇周边的人数

log()

log(mixed  $log) : mixed

日志记录,可被重载。

Parameters

mixed $log

输入日志

Returns

mixed —

setCache()

setCache(string  $cachename, mixed  $value, int  $expired) : bool

设置缓存,按需重载

Parameters

string $cachename
mixed $value
int $expired

Returns

bool —

getCache()

getCache(string  $cachename) : mixed

获取缓存,按需重载

Parameters

string $cachename

Returns

mixed —

removeCache()

removeCache(string  $cachename) : bool

清除缓存,按需重载

Parameters

string $cachename

Returns

bool —

checkSignature()

checkSignature(mixed  $str = '') : mixed

For weixin server validation

Parameters

mixed $str

Returns

mixed —

_auto_text_filter()

_auto_text_filter(string  $text) : string|mixed

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

Parameters

string $text

Returns

string|mixed —

generate()

generate(mixed  $encrypt, mixed  $signature, mixed  $timestamp, mixed  $nonce) : mixed

xml格式加密,仅请求为加密方式时再用

Parameters

mixed $encrypt
mixed $signature
mixed $timestamp
mixed $nonce

Returns

mixed —

http_get()

http_get(string  $url) : mixed

GET 请求

Parameters

string $url

Returns

mixed —

http_post()

http_post(string  $url, array  $param, bool  $post_file = false) : string

POST 请求

Parameters

string $url
array $param
bool $post_file

是否文件上传

Returns

string —

content