PHP Class Wechat

Inheritance: extends CI_Controller
Datei anzeigen Open project: dodgepudding/wechat-php-sdk Class Usage Examples

Public Properties

Property Type Description
$DATACUBE_URL_ARR 数据分析接口
$debug
$errCode
$errMsg
$logcallback

Public Methods

Method Description
Message ( array $msg = '', boolean $append = false ) 设置发送消息
__construct ( $options )
activateMemberCard ( string $data ) : boolean 激活/绑定会员卡
addCardLocations ( array $data ) : boolean | string 批量导入门店信息
addKFAccount ( string $account, string $nickname, string $password ) : boolean | array 添加客服账号
addShakeAroundPage ( string $title, string $description, sting $icon_url, string $page_url, string $comment = '' ) : boolean | mixed [addShakeAroundPage 增加摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]
addTagUser ( array $data ) : boolean | array 增加标签成员
addTemplateMessage ( string $tpl_id ) : boolean | string 模板消息 添加消息模板 成功返回消息模板的调用id
addconditionalMenu ( array $data ) : boolean 创建个性化菜单(认证后的订阅号可用)
applyShakeAroundDevice ( array $data ) : boolean | mixed 申请设备ID [applyShakeAroundDevice 申请配置设备所需的UUID、Major、Minor。 若激活率小于50%,不能新增设备。单次新增设备超过500 个,需走人工审核流程。 审核通过后,可用迒回的批次ID 用“查询设备列表”接口拉取本次申请的设备ID]
authSucc ( $userid ) : boolean | array 二次验证 企业在开启二次验证时,必须填写企业二次验证页面的url。 当员工绑定通讯录中的帐号后,会收到一条图文消息, 引导员工到企业的验证页面验证身份,企业在员工验证成功后, 调用如下接口即可让员工关注成功。
batchUpdateGroupMembers ( integer $groupid, string $openid_list ) : boolean | array 批量移动用户分组
bindLocationShakeAroundDevice ( string $device_id, integer $poi_id, string $uuid = '', integer $major, integer $minor ) : boolean | mixed [bindLocationShakeAroundDevice 配置设备与门店的关联关系]
bindPageShakeAroundDevice ( string $device_id, array $page_ids = [], number $bind = 1, number $append = 1, string $uuid = '', integer $major, integer $minor ) : boolean | mixed [bindPageShakeAroundDevice 配置设备与页面的关联关系。 支持建立或解除关联关系,也支持新增页面或覆盖页面等操作。 配置完成后,在此设备的信号范围内,即可摇出关联的页面信息。 若设备配置多个页面,则随机出现页面信息]
checkAuth ( string $appid = '', string $appsecret = '', string $token = '' ) 通用auth验证方法
checkCardCode ( string $code ) : boolean | array 查询 code 的有效性(非自定义 code)
closeKFSession ( string $openid, string $kf_account, string $text = '' ) : boolean | array 关闭指定多客服会话
closeOrder ( string $order_id ) : boolean 关闭订单
consumeCardCode ( string $code, string $card_id = '' ) : boolean | array 消耗 code 自定义 code(use_custom_code 为 true)的优惠券,在 code 被核销时,必须调用此接口。
createCard ( Array $data ) : array | boolean 创建卡券
createCardQrcode ( $card_id, string $code = '', string $openid = '', integer $expire_seconds, boolean $is_unique_code = false, string $balance = '' ) : boolean | string 生成卡券二维码 成功则直接返回ticket值,可以用 getQRUrl($ticket) 换取二维码url
createDepartment ( array $data ) : boolean | array 创建部门
createGroup ( string $name ) : boolean | array 新增自定分组
createKFSession ( string $openid, string $kf_account, string $text = '' ) : boolean | array 创建指定多客服会话
createMenu ( array $data ) 创建菜单(认证后的订阅号可用)
createMenu ( array $data, $agentid = '' ) 创建菜单
createTag ( array $data ) : boolean | array 创建标签
createUser ( array $data ) : boolean | array 创建成员
data_to_xml ( mixed $data ) : string 数据XML编码
decryptCardCode ( string $encrypt_code ) : boolean | array code 解码
delCard ( string $card_id ) : boolean 删除卡券 允许商户删除任意一类卡券。删除卡券后,该卡券对应已生成的领取用二维码、添加到卡包 JS API 均会失效。 注意:删除卡券不能删除已被用户领取,保存在微信客户端中的卡券,已领取的卡券依旧有效。
delForeverMedia ( string $media_id ) : boolean 删除永久素材(认证后的订阅号可用)
delTagUser ( array $data ) : boolean | array 删除标签成员
delconditionalMenu ( $data ) : boolean 删除个性化菜单(认证后的订阅号可用)
deleteDepartment ( $id ) : boolean | array 删除部门
deleteKFAccount ( string $account ) : boolean | array 删除客服账号
deleteMassMessage ( integer $msg_id ) : boolean | array 高级群发消息, 删除群发图文消息(认证后的订阅号可用)
deleteMenu ( ) : boolean 删除菜单(认证后的订阅号可用)
deleteMenu ( $agentid = '' ) : boolean 删除菜单
deleteShakeAroundPage ( array $page_ids = [] ) : boolean | mixed [deleteShakeAroundPage 删除已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 只有页面与设备没有关联关系时,才可被删除。]
deleteTag ( $tagid ) : boolean | array 删除标签
deleteUser ( $userid ) : boolean | array 删除成员
deleteUsers ( $userids ) : boolean | array 批量删除成员
deviceShakeAroundStatistics ( integer $device_id, integer $begin_date, integer $end_date, string $uuid = '', integer $major, integer $minor ) : boolean | mixed [deviceShakeAroundStatistics 以设备为维度的数据统计接口。 查询单个设备进行摇周边操作的人数、次数,点击摇周边消息的人数、次数;查询的最长时间跨度为30天。]
generateNonceStr ( number $length = 16 ) : string 生成随机字串
getCardColors ( ) : boolean | array 获取颜色列表 获得卡券的最新颜色列表,用于创建卡券
getCardIdList ( $offset, $count = 50 ) : boolean | array 批量查询卡列表
getCardInfo ( string $card_id ) : boolean | array 查询卡券详情
getCardLocations ( integer $offset, integer $count ) : boolean | array 拉取门店列表 获取在公众平台上申请创建的门店列表
getCardSign ( string $card_type = '', string $card_id = '', $code = '', string $location_id = '', string $timestamp, string $noncestr = '', string $appid = '' ) : array | boolean 获取卡券签名cardSign
getCustomServiceKFlist ( ) : boolean | array 获取多客服客服基本信息
getCustomServiceMessage ( array $data ) : boolean | array 获取多客服会话记录
getCustomServiceOnlineKFlist ( ) : boolean | array 获取多客服在线客服接待信息
getDatacube ( string $type, string $subtype, string $begin_date, string $end_date = '' ) : boolean | array 获取统计数据
getDepartment ( ) : boolean | array 获取部门列表
getForeverCount ( ) : boolean | array 获取永久素材总数(认证后的订阅号可用)
getForeverList ( string $type, integer $offset, integer $count ) : boolean | array 获取永久素材列表(认证后的订阅号可用)
getForeverMedia ( string $media_id, boolean $is_video = false ) : boolean | array | raw 获取永久素材(认证后的订阅号可用) 返回图文消息数组或二进制数据,失败返回false
getGroup ( ) : boolean | array 获取用户分组列表
getJsCardTicket ( string $appid = '', string $api_ticket = '' ) 获取微信卡券api_ticket
getJsSign ( string $url, string $timestamp, string $noncestr = '', string $appid = '' ) : array | boolean 获取JsApi使用签名
getJsTicket ( string $appid = '', string $jsapi_ticket = '' ) 获取JSAPI授权TICKET
getKFSession ( string $openid ) : boolean | array 获取用户会话状态
getKFSessionWait ( ) : boolean | array 获取未接入会话列表
getKFSessionlist ( $kf_account ) : boolean | array 获取指定客服的会话列表
getMedia ( string $media_id ) : raw 根据媒体文件ID获取媒体文件
getMedia ( string $media_id, boolean $is_video = false ) : raw 获取临时素材(认证后的订阅号可用)
getMenu ( ) : array('menu'=>array(....s)) 获取菜单(认证后的订阅号可用)
getMenu ( $agentid = '' ) : array('menu'=>array(....s)) 获取菜单
getOauthAccessToken ( ) : array 通过code获取Access Token
getOauthAuth ( string $access_token, string $openid ) : boolean 检验授权凭证是否有效
getOauthRedirect ( string $callback, $state = '', $scope = 'snsapi_userinfo' ) : string oauth 授权跳转接口
getOauthRedirect ( string $callback, string $state = 'STATE', $scope = 'snsapi_base' ) : string oauth 授权跳转接口
getOauthRefreshToken ( string $refresh_token ) : boolean | mixed 刷新access token并续期
getOauthUserinfo ( string $access_token, string $openid ) : array 获取授权后的用户资料
getOrderByFilter ( integer $status = null, integer $begintime = null, integer $endtime = null ) : order 根据订单状态/创建时间获取订单详情
getOrderByID ( string $order_id ) : order 根据订单ID获取订单详情
getQRCode ( integer | string $scene_id, integer $type, integer $expire = 604800 ) : array('ticket'=>'qrcode字串','expire_seconds'=>604800,'url'=>'二维码图片解析后的地址') 创建二维码ticket
getQRUrl ( string $ticket ) : string 获取二维码图片
getRev ( ) 获取微信服务器发来的信息
getRevAgentID ( ) 获取接收消息的应用id
getRevCardDel ( ) : array | boolean 获取卡券事件推送 - 删除卡券 当Event为 user_del_card(用户删除卡券)
getRevCardGet ( ) : array | boolean 获取卡券事件推送 - 领取卡券 当Event为 user_get_card(用户领取卡券)
getRevCardPass ( ) : string | boolean 获取卡券事件推送 - 卡卷审核是否通过 当Event为 card_pass_check(审核通过) 或 card_not_pass_check(未通过)
getRevContent ( ) 获取接收消息内容正文
getRevCtime ( ) 获取消息发送时间
getRevData ( ) 获取微信服务器发来的信息
getRevEvent ( ) 获取接收事件推送
getRevEventGeo ( ) 获取上报地理位置事件
getRevFrom ( ) 获取消息发送者
getRevGeo ( ) 获取接收地理位置
getRevID ( ) 获取消息ID
getRevKFClose ( ) : string | boolean 获取多客服会话状态推送事件 - 关闭会话 当Event为 kfclosesession 即关闭会话
getRevKFCreate ( ) : string | boolean 获取多客服会话状态推送事件 - 接入会话 当Event为 kfcreatesession 即接入会话
getRevKFSwitch ( ) : array | boolean 获取多客服会话状态推送事件 - 转接会话 当Event为 kfswitchsession 即转接会话
getRevLink ( ) 获取接收消息链接
getRevOrderId ( ) : orderId | boolean 获取订单ID - 订单付款通知 当Event为 merchant_order(订单付款通知)
getRevOrderSkuInfo ( ) : array | boolean 获取订单SkuInfo - 订单付款通知 当Event为 merchant_order(订单付款通知)
getRevPic ( ) 获取接收消息图片
getRevPostXml ( ) 获取微信服务器发来的原始加密信息
getRevResult ( ) 获取群发或模板消息发送结果 当Event为 MASSSENDJOBFINISH 或 TEMPLATESENDJOBFINISH,即高级群发/模板消息
getRevScanInfo ( ) 获取自定义菜单的扫码推事件信息
getRevSceneId ( ) 获取二维码的场景值
getRevSendGeoInfo ( ) 获取自定义菜单的地理位置选择器事件推送
getRevSendPicsInfo ( ) 获取自定义菜单的图片发送事件信息
getRevStatus ( ) 获取模板消息发送状态
getRevTicket ( ) 获取接收TICKET
getRevTo ( ) 获取消息接受者
getRevTplMsgID ( ) 获取主动推送的消息ID 经过验证,这个和普通的消息MsgId不一样 当Event为 MASSSENDJOBFINISH 或 TEMPLATESENDJOBFINISH
getRevType ( ) 获取接收消息的类型
getRevVideo ( ) 获取接收视频推送
getRevVoice ( ) 获取接收语音推送
getServerIp ( ) : '127.0.0.1')\array('127.0.0.1' 获取企业微信服务器IP地址列表
getShakeInfoShakeAroundUser ( string $ticket ) : boolean | mixed [getShakeInfoShakeAroundUser 获取设备信息,包括UUID、major、minor,以及距离、openID 等信息。]
getShortUrl ( string $long_url ) : boolean | string 长链接转短链接接口
getSignature ( array $arrdata, string $method = "sha1" ) : boolean | string 获取签名
getTag ( $tagid ) : boolean | array 获取标签成员
getTagList ( ) : boolean | array 获取标签列表
getTicketSignature ( array $arrdata, string $method = "sha1" ) : boolean | string 获取微信卡券签名
getUserCardList ( string $openid, string $card_id ) : boolean | array 获取用户已领取卡券接口
getUserGroup ( string $openid ) : boolean | integer 获取用户所在分组
getUserId ( $code, $agentid ) : boolean | array 根据code获取成员信息 通过Oauth2.0或者设置了二次验证时获取的code,用于换取成员的UserId和DeviceId
getUserInfo ( string $openid, string $lang = 'zh_CN' ) : array 获取关注者详细信息
getUserInfo ( $userid ) : boolean | array 获取成员信息
getUserList ( unknown $next_openid = '' ) 批量获取关注用户列表
getUserList ( $department_id, $fetch_child, $status ) : boolean | array 获取部门成员
getUserListInfo ( $department_id, $fetch_child, $status ) : boolean | array 获取部门成员详情
getUsersInfo ( array $openids ) : array 批量获取关注者详细信息
image ( string $mediaid = '' ) 设置回复消息 Example: $obj->image('media_id')->reply();
json_encode ( array $arr ) 微信api不支持中文转义的json结构
modifyCardStock ( string $data ) : boolean 库存修改
moveDepartment ( $data ) : boolean | array 移动部门
music ( string $title, string $desc, string $musicurl, string $hgmusicurl = '', string $thumbmediaid = '' ) 设置回复音乐
news ( array $newsData = [] ) 设置回复图文
pageShakeAroundStatistics ( integer $page_id, integer $begin_date, integer $end_date ) : boolean | mixed [pageShakeAroundStatistics 以页面为维度的数据统计接口。 查询单个页面通过摇周边摇出来的人数、次数,点击摇周边页面的人数、次数;查询的最长时间跨度为30天。]
previewMassMessage ( array $data ) : boolean | array 高级群发消息, 预览群发消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
queryMassMessage ( integer $msg_id ) : boolean | array 高级群发消息, 查询群发消息发送状态(认证后的订阅号可用)
querySemantic ( String $uid, String $query, String $category, Float $latitude, Float $longitude, String $city = "", String $region = "" ) : boolean | array 语义理解接口
reply ( string $msg = [], boolean $return = false ) 回复微信服务器, 此函数支持链式操作 Example: $this->text('msg tips')->reply();
resetAuth ( string $appid = '' ) 删除验证数据
resetJsTicket ( string $appid = '' ) 删除JSAPI授权TICKET
searchShakeAroundDevice ( array $data ) : boolean | mixed 查询设备列表 [searchShakeAroundDevice 查询已有的设备ID、UUID、Major、Minor、激活状态、备注信息、关联门店、关联页面等信息。 可指定设备ID 或完整的UUID、Major、Minor 查询,也可批量拉取设备信息列表。]
searchShakeAroundPage ( array $page_ids = [], integer $begin, integer $count = 1 ) : boolean | mixed [searchShakeAroundPage 查询已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 提供两种查询方式,①可指定页面ID 查询,②也可批量拉取页面列表。]
sendCustomMessage ( array $data ) : boolean | array 发送客服消息
sendGroupMassMessage ( array $data ) : boolean | array 高级群发消息, 根据群组id群发图文消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
sendInvite ( $userid, $invite_tips = '' ) : boolean | array 邀请成员关注 向未关注企业号的成员发送关注邀请。认证号优先判断顺序weixinid>手机号>邮箱绑定>邮件;非认证号只能邮件邀请
sendMassMessage ( array $data ) : boolean | array 高级群发消息, 根据OpenID列表群发图文消息(订阅号不可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
sendMessage ( array $data ) : boolean | array 主动发送信息接口
sendTemplateMessage ( array $data ) : boolean | array 发送模板消息
setCardTestWhiteList ( string $openid = [], string $user = [] ) : boolean 设置卡券测试白名单
setFuncFlag ( $flag ) 设置消息的星标标志,官方已取消对此功能的支持
setKFHeadImg ( string $account, string $imgfile ) : boolean | array 上传客服头像
setOrderDelivery ( string $order_id, integer $need_delivery, string $delivery_company = null, string $delivery_track_no = null, integer $is_others ) : boolean 设置订单发货信息
setTMIndustry ( integer $id1, integer $id2 = '' ) : boolean | array 模板消息 设置所属行业
text ( string $text = '' ) 设置回复消息 Example: $obj->text('hello')->reply();
transfer_customer_service ( string $customer_account = '' ) 转发多客服消息 Example: $obj->transfer_customer_service($customer_account)->reply();
trymatchMenu ( $data ) : boolean | array('button'=>array(....s)) 测试个性化菜单匹配结果(认证后的订阅号可用)
unavailableCardCode ( string $code, string $card_id = '' ) : boolean 设置卡券失效 设置卡券失效的操作不可逆
updateCard ( string $data ) : boolean 更改卡券信息 调用该接口更新信息后会重新送审,卡券状态变更为待审核。已被用户领取的卡券会实时更新票面信息。
updateCardCode ( string $code, string $card_id, string $new_code ) : boolean 更改 code 为确保转赠后的安全性,微信允许自定义code的商户对已下发的code进行更改。 注:为避免用户疑惑,建议仅在发生转赠行为后(发生转赠后,微信会通过事件推送的方式告知商户被转赠的卡券code)对用户的code进行更改。
updateDepartment ( array $data ) : boolean | array 更新部门
updateForeverArticles ( string $media_id, array $data, integer $index ) : boolean | array 修改永久图文素材(认证后的订阅号可用) 永久素材也可以在公众平台官网素材管理模块中看到
updateGroup ( integer $groupid, string $name ) : boolean | array 更改分组名称
updateGroupMembers ( integer $groupid, string $openid ) : boolean | array 移动用户分组
updateKFAccount ( string $account, string $nickname, string $password ) : boolean | array 修改客服账号信息
updateLuckyMoney ( string $code, $balance, string $card_id = '' ) : boolean | array 更新红包金额
updateMeetingCard ( string $data ) : boolean 更新门票
updateMemberCard ( string $data ) : boolean | array 会员卡交易 会员卡交易后每次积分及余额变更需通过接口通知微信,便于后续消息通知及其他扩展功能。
updateShakeAroundDevice ( array $data ) : boolean 编辑设备信息 [updateShakeAroundDevice 编辑设备的备注信息。可用设备ID或完整的UUID、Major、Minor指定设备,二者选其一。]
updateShakeAroundPage ( integer $page_id, string $title, string $description, sting $icon_url, string $page_url, string $comment = '' ) : boolean | mixed [updateShakeAroundPage 编辑摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]
updateTag ( array $data ) : boolean | array 更新标签
updateUser ( array $data ) : boolean | array 更新成员
updateUserRemark ( string $openid, string $remark ) : boolean | array 设置用户备注名
uploadArticles ( array $data ) : boolean | array 上传图文消息素材,用于群发(认证后的订阅号可用)
uploadForeverArticles ( array $data ) : boolean | array 上传永久图文素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到
uploadForeverMedia ( array $data, $type, boolean $is_video = false, array $video_info = [] ) : boolean | array 上传永久素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
uploadImg ( array $data ) : boolean | array 上传图片,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。 (认证后的订阅号可用) 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
uploadMedia ( array $data, $type ) : boolean | array 上传多媒体文件 (只有三天的有效期,过期自动被删除) 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
uploadMpVideo ( array $data ) : boolean | array 上传视频素材(认证后的订阅号可用)
uploadShakeAroundMedia ( array $data ) : boolean | array 上传在摇一摇页面展示的图片素材 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
valid ( boolean $return = false ) 微信验证,包括post来的xml解密
video ( string $mediaid = '', $title = '', $description = '' ) 设置回复消息 Example: $obj->video('media_id','title','description')->reply();
voice ( string $mediaid = '' ) 设置回复消息 Example: $obj->voice('media_id')->reply();
xmlSafeStr ( $str )
xml_encode ( mixed $data, string $root = 'xml', string $item = 'item', string $attr = '', string $id = 'id', string $encoding = 'utf-8' ) : string XML编码

Protected Methods

Method Description
getCache ( string $cachename ) : mixed 获取缓存,按需重载
log ( $log )
log ( mixed $log ) : mixed 日志记录,可被重载。
removeCache ( string $cachename ) : boolean 清除缓存,按需重载
setCache ( string $cachename, mixed $value, integer $expired ) : boolean 设置缓存,按需重载

Private Methods

Method Description
_auto_text_filter ( string $text ) : string | mixed 过滤文字回复\r\n换行符
checkSignature ( $str ) For weixin server validation
generate ( $encrypt, $signature, $timestamp, $nonce )
http_get ( string $url ) GET 请求
http_post ( string $url, array $param, boolean $post_file = false ) : string POST 请求
parseSkuInfo ( $skuInfo )

Method Details

Message() public method

设置发送消息
public Message ( array $msg = '', boolean $append = false )
$msg array 消息数组
$append boolean 是否在原消息数组追加

__construct() public method

public __construct ( $options )

activateMemberCard() public method

激活/绑定会员卡
public activateMemberCard ( string $data ) : boolean
$data string 具体结构请参看卡券开发文档(6.1.1 激活/绑定会员卡)章节
return boolean

addCardLocations() public method

批量导入门店信息
public addCardLocations ( array $data ) : boolean | string
$data array 数组形式的json数据,由于内容较多,具体内容格式请查看 微信卡券接口文档
return boolean | string 成功返回插入的门店id列表

addKFAccount() public method

添加客服账号
public addKFAccount ( string $account, string $nickname, string $password ) : boolean | array
$account string //完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符
$nickname string //客服昵称,最长6个汉字或12个英文字符
$password string //客服账号明文登录密码,会自动加密
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", }

addShakeAroundPage() public method

[addShakeAroundPage 增加摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]
Author: polo ([email protected])
public addShakeAroundPage ( string $title, string $description, sting $icon_url, string $page_url, string $comment = '' ) : boolean | mixed
$title string 在摇一摇页面展示的主标题,不超过6 个字
$description string 在摇一摇页面展示的副标题,不超过7 个字
$icon_url sting 在摇一摇页面展示的图片, 格式限定为:jpg,jpeg,png,gif; 建议120*120 , 限制不超过200*200
$page_url string 跳转链接
$comment string 页面的备注信息,不超过15 个字,可不填
return boolean | mixed 正确返回JSON 数据示例: { "data": { "page_id": 28840 //新增页面的页面id } "errcode": 0, "errmsg": "success." }

addTagUser() public method

增加标签成员
public addTagUser ( array $data ) : boolean | array
$data array 结构体为: array ( "tagid" => "1", "userlist" => array( //企业员工ID列表 "user1", "user2" ) )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "ok", //对返回码的文本描述内容 "invalidlist":"usr1|usr2|usr" //若部分userid非法,则会有此段。不在权限内的员工ID列表,以“|”分隔 }

addTemplateMessage() public method

模板消息 添加消息模板 成功返回消息模板的调用id
public addTemplateMessage ( string $tpl_id ) : boolean | string
$tpl_id string 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式
return boolean | string

addconditionalMenu() public method

创建个性化菜单(认证后的订阅号可用)
public addconditionalMenu ( array $data ) : boolean
$data array
return boolean

applyShakeAroundDevice() public method

申请设备ID [applyShakeAroundDevice 申请配置设备所需的UUID、Major、Minor。 若激活率小于50%,不能新增设备。单次新增设备超过500 个,需走人工审核流程。 审核通过后,可用迒回的批次ID 用“查询设备列表”接口拉取本次申请的设备ID]
Author: polo ([email protected])
public applyShakeAroundDevice ( array $data ) : boolean | mixed
$data array array( "quantity" => 3, //申请的设备ID 的数量,单次新增设备超过500 个,需走人工审核流程(必填) "apply_reason" => "测试",//申请理由(必填) "comment" => "测试专用", //备注(非必填) "poi_id" => 1234 //设备关联的门店ID(非必填) )
return boolean | 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:审核备注,包括审核不通过的原因

authSucc() public method

二次验证 企业在开启二次验证时,必须填写企业二次验证页面的url。 当员工绑定通讯录中的帐号后,会收到一条图文消息, 引导员工到企业的验证页面验证身份,企业在员工验证成功后, 调用如下接口即可让员工关注成功。
public authSucc ( $userid ) : boolean | array
$userid
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "ok" //对返回码的文本描述内容 }

batchUpdateGroupMembers() public method

批量移动用户分组
public batchUpdateGroupMembers ( integer $groupid, string $openid_list ) : boolean | array
$groupid integer 分组id
$openid_list string 用户openid数组,一次不能超过50个
return boolean | array

bindLocationShakeAroundDevice() public method

[bindLocationShakeAroundDevice 配置设备与门店的关联关系]
Author: polo ([email protected])
public bindLocationShakeAroundDevice ( string $device_id, integer $poi_id, string $uuid = '', integer $major, integer $minor ) : boolean | mixed
$device_id string 设备编号,若填了UUID、major、minor,则可不填设备编号,若二者都填,则以设备编号为优先
$poi_id integer 待关联的门店ID
$uuid string UUID、major、minor,三个信息需填写完整,若填了设备编号,则可不填此信息
$major integer
$minor integer
return boolean | mixed 正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

bindPageShakeAroundDevice() public method

[bindPageShakeAroundDevice 配置设备与页面的关联关系。 支持建立或解除关联关系,也支持新增页面或覆盖页面等操作。 配置完成后,在此设备的信号范围内,即可摇出关联的页面信息。 若设备配置多个页面,则随机出现页面信息]
Author: polo ([email protected])
public bindPageShakeAroundDevice ( string $device_id, array $page_ids = [], number $bind = 1, number $append = 1, string $uuid = '', integer $major, integer $minor ) : boolean | mixed
$device_id string 设备编号,若填了UUID、major、minor,则可不填设备编号,若二者都填,则以设备编号为优先
$page_ids array 待关联的页面列表
$bind number 关联操作标志位, 0 为解除关联关系,1 为建立关联关系
$append number 新增操作标志位, 0 为覆盖,1 为新增
$uuid string UUID、major、minor,三个信息需填写完整,若填了设备编号,则可不填此信息
$major integer
$minor integer
return boolean | mixed 正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

checkAuth() public method

通用auth验证方法
public checkAuth ( string $appid = '', string $appsecret = '', string $token = '' )
$appid string
$appsecret string
$token string 手动指定access_token,非必要情况不建议用

checkCardCode() public method

查询 code 的有效性(非自定义 code)
public checkCardCode ( string $code ) : boolean | array
$code string
return boolean | array { "errcode":0, "errmsg":"ok", "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA", //用户 openid "card":{ "card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc", "begin_time": 1404205036, //起始使用时间 "end_time": 1404205036, //结束时间 } }

closeKFSession() public method

关闭指定多客服会话
public closeKFSession ( string $openid, string $kf_account, string $text = '' ) : boolean | array
$openid string //用户openid
$kf_account string //客服账号
$text string //附加信息,文本会展示在客服人员的多客服客户端,可为空
return boolean | array | array //成功返回json数组 { "errcode": 0, "errmsg": "ok", }

closeOrder() public method

关闭订单
public closeOrder ( string $order_id ) : boolean
$order_id string 订单 ID
return boolean

consumeCardCode() public method

消耗 code 自定义 code(use_custom_code 为 true)的优惠券,在 code 被核销时,必须调用此接口。
public consumeCardCode ( string $code, string $card_id = '' ) : boolean | array
$code string 要消耗的序列号
$card_id string 要消耗序列号所述的 card_id,创建卡券时use_custom_code 填写 true 时必填。
return boolean | array { "errcode":0, "errmsg":"ok", "card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"}, "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA" }

createCard() public method

创建卡券
public createCard ( Array $data ) : array | boolean
$data Array 卡券数据
return array | boolean 返回数组中card_id为卡券ID

createCardQrcode() public method

生成卡券二维码 成功则直接返回ticket值,可以用 getQRUrl($ticket) 换取二维码url
public createCardQrcode ( $card_id, string $code = '', string $openid = '', integer $expire_seconds, boolean $is_unique_code = false, string $balance = '' ) : boolean | string
$code string 指定卡券 code 码,只能被领一次。use_custom_code 字段为 true 的卡券必须填写,非自定义 code 不必填写。
$openid string 指定领取者的 openid,只有该用户能领取。bind_openid 字段为 true 的卡券必须填写,非自定义 openid 不必填写。
$expire_seconds integer 指定二维码的有效时间,范围是 60 ~ 1800 秒。不填默认为永久有效。
$is_unique_code boolean 指定下发二维码,生成的二维码随机分配一个 code,领取后不可再次扫描。填写 true 或 false。默认 false。
$balance string 红包余额,以分为单位。红包类型必填(LUCKY_MONEY),其他卡券类型不填。
return boolean | string

createDepartment() public method

创建部门
public createDepartment ( array $data ) : boolean | array
$data array 结构体为: array ( "name" => "邮箱产品组", //部门名称 "parentid" => "1" //父部门id "order" => "1", //(非必须)在父部门中的次序。从1开始,数字越大排序越靠后 )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "created", //对返回码的文本描述内容 "id": 2 //创建的部门id。 }

createGroup() public method

新增自定分组
public createGroup ( string $name ) : boolean | array
$name string 分组名称
return boolean | array

createKFSession() public method

创建指定多客服会话
public createKFSession ( string $openid, string $kf_account, string $text = '' ) : boolean | array
$openid string //用户openid
$kf_account string //客服账号
$text string //附加信息,文本会展示在客服人员的多客服客户端,可为空
return boolean | array | array //成功返回json数组 { "errcode": 0, "errmsg": "ok", }

createMenu() public method

创建菜单(认证后的订阅号可用)
public createMenu ( array $data )
$data array 菜单数组数据 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:弹出地理位置选择器

createMenu() public method

创建菜单
public createMenu ( array $data, $agentid = '' )
$data array 菜单数组数据 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可以选择为以下几种,会收到相应类型的事件推送。请注意,3到8的所有事件,仅支持微信iPhone5.4.1以上版本, 和Android5.4以上版本的微信用户,旧版本微信用户点击后将没有回应,开发者也不能正常接收到事件推送。 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:弹出地理位置选择器

createTag() public method

创建标签
public createTag ( array $data ) : boolean | array
$data array 结构体为: array( "tagname" => "UI" )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "created", //对返回码的文本描述内容 "tagid": "1" }

createUser() public method

创建成员
public createUser ( array $data ) : boolean | array
$data array 结构体为: array( "userid" => "zhangsan", "name" => "张三", "department" => [1, 2], "position" => "产品经理", "mobile" => "15913215421", "gender" => 1, //性别。gender=0表示男,=1表示女 "tel" => "62394", "email" => "[email protected]", "weixinid" => "zhangsan4dev" )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "created", //对返回码的文本描述内容 }

data_to_xml() public static method

数据XML编码
public static data_to_xml ( mixed $data ) : string
$data mixed 数据
return string

decryptCardCode() public method

code 解码
public decryptCardCode ( string $encrypt_code ) : boolean | array
$encrypt_code string 通过 choose_card_info 获取的加密字符串
return boolean | array { "errcode":0, "errmsg":"ok", "code":"751234212312" }

delCard() public method

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

delForeverMedia() public method

删除永久素材(认证后的订阅号可用)
public delForeverMedia ( string $media_id ) : boolean
$media_id string 媒体文件id
return boolean

delTagUser() public method

删除标签成员
public delTagUser ( array $data ) : boolean | array
$data array 结构体为: array ( "tagid" => "1", "userlist" => array( //企业员工ID列表 "user1", "user2" ) )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "deleted", //对返回码的文本描述内容 "invalidlist":"usr1|usr2|usr" //若部分userid非法,则会有此段。不在权限内的员工ID列表,以“|”分隔 }

delconditionalMenu() public method

删除个性化菜单(认证后的订阅号可用)
public delconditionalMenu ( $data ) : boolean
$data {"menuid":"208379533"}
return boolean

deleteDepartment() public method

删除部门
public deleteDepartment ( $id ) : boolean | array
$id
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "deleted" //对返回码的文本描述内容 }

deleteKFAccount() public method

删除客服账号
public deleteKFAccount ( string $account ) : boolean | array
$account string //完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", }

deleteMassMessage() public method

高级群发消息, 删除群发图文消息(认证后的订阅号可用)
public deleteMassMessage ( integer $msg_id ) : boolean | array
$msg_id integer 消息id
return boolean | array

deleteMenu() public method

删除菜单(认证后的订阅号可用)
public deleteMenu ( ) : boolean
return boolean

deleteMenu() public method

删除菜单
public deleteMenu ( $agentid = '' ) : boolean
return boolean

deleteShakeAroundPage() public method

[deleteShakeAroundPage 删除已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 只有页面与设备没有关联关系时,才可被删除。]
Author: polo ([email protected])
public deleteShakeAroundPage ( array $page_ids = [] ) : boolean | mixed
$page_ids array { "page_ids":[12345,23456,34567] }
return boolean | mixed 正确返回JSON 数据示例: { "data": { }, "errcode": 0, "errmsg": "success." }

deleteTag() public method

删除标签
public deleteTag ( $tagid ) : boolean | array
$tagid 标签TagID
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "deleted" //对返回码的文本描述内容 }

deleteUser() public method

删除成员
public deleteUser ( $userid ) : boolean | array
$userid 员工UserID。对应管理端的帐号
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "deleted" //对返回码的文本描述内容 }

deleteUsers() public method

批量删除成员
public deleteUsers ( $userids ) : boolean | array
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "deleted" //对返回码的文本描述内容 }

deviceShakeAroundStatistics() public method

[deviceShakeAroundStatistics 以设备为维度的数据统计接口。 查询单个设备进行摇周边操作的人数、次数,点击摇周边消息的人数、次数;查询的最长时间跨度为30天。]
Author: polo ([email protected])
public deviceShakeAroundStatistics ( integer $device_id, integer $begin_date, integer $end_date, string $uuid = '', integer $major, integer $minor ) : boolean | mixed
$device_id integer 设备编号,若填了UUID、major、minor,即可不填设备编号,二者选其一
$begin_date integer 起始日期时间戳,最长时间跨度为30 天
$end_date integer 结束日期时间戳,最长时间跨度为30 天
$uuid string UUID、major、minor,三个信息需填写完成,若填了设备编辑,即可不填此信息,二者选其一
$major integer
$minor integer
return boolean | 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 摇周边的人数

generateNonceStr() public method

生成随机字串
public generateNonceStr ( number $length = 16 ) : string
$length number 长度,默认为16,最长为32字节
return string

getCache() protected method

获取缓存,按需重载
protected getCache ( string $cachename ) : mixed
$cachename string
return mixed

getCardColors() public method

获取颜色列表 获得卡券的最新颜色列表,用于创建卡券
public getCardColors ( ) : boolean | array
return boolean | array 返回数组请参看 微信卡券接口文档 的json格式

getCardIdList() public method

批量查询卡列表
public getCardIdList ( $offset, $count = 50 ) : boolean | array
$offset 开始拉取的偏移,默认为0从头开始
$count 需要查询的卡片的数量(数量最大50,默认50)
return boolean | array { "errcode":0, "errmsg":"ok", "card_id_list":["ph_gmt7cUVrlRk8swPwx7aDyF-pg"], //卡 id 列表 "total_num":1 //该商户名下 card_id 总数 }

getCardInfo() public method

查询卡券详情
public getCardInfo ( string $card_id ) : boolean | array
$card_id string
return boolean | array 返回数组信息比较复杂,请参看卡券接口文档

getCardLocations() public method

拉取门店列表 获取在公众平台上申请创建的门店列表
public getCardLocations ( integer $offset, integer $count ) : boolean | array
$offset integer 开始拉取的偏移,默认为0从头开始
$count integer 拉取的数量,默认为0拉取全部
return boolean | array 返回数组请参看 微信卡券接口文档 的json格式

getCardSign() public method

获取卡券签名cardSign
public getCardSign ( string $card_type = '', string $card_id = '', $code = '', string $location_id = '', string $timestamp, string $noncestr = '', string $appid = '' ) : array | boolean
$card_type string 卡券的类型,不可为空,官方jssdk文档说这个值可空,但签名验证工具又必填这个值,官方文档到处是坑,
$card_id string 卡券的ID,可空
$location_id string 卡券的适用门店ID,可空
$timestamp string 当前时间戳 (为空则自动生成)
$noncestr string 随机串 (为空则自动生成)
$appid string 用于多个appid时使用,可空
return array | boolean 返回签名字串

getCustomServiceKFlist() public method

获取多客服客服基本信息

getCustomServiceMessage() public method

获取多客服会话记录
public getCustomServiceMessage ( array $data ) : boolean | array
$data array 数据结构{"starttime":123456789,"endtime":987654321,"openid":"OPENID","pagesize":10,"pageindex":1,}
return boolean | array

getCustomServiceOnlineKFlist() public method

获取多客服在线客服接待信息
public getCustomServiceOnlineKFlist ( ) : boolean | array
return boolean | 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 //客服当前正在接待的会话数 } ] }

getDatacube() public method

获取统计数据
public getDatacube ( string $type, string $subtype, string $begin_date, string $end_date = '' ) : boolean | array
$type string 数据分类(user|article|upstreammsg|interface)分别为(用户分析|图文分析|消息分析|接口分析)
$subtype string 数据子分类,参考 DATACUBE_URL_ARR 常量定义部分 或者README.md说明文档
$begin_date string 开始时间
$end_date string 结束时间
return boolean | array 成功返回查询结果数组,其定义请看官方文档

getDepartment() public method

获取部门列表
public getDepartment ( ) : boolean | array
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", "department": [ //部门列表数据。以部门的order字段从小到大排列 { "id": 1, "name": "广州研发中心", "parentid": 0, "order": 40 }, { "id": 2 "name": "邮箱产品部", "parentid": 1, "order": 40 } ] }

getForeverCount() public method

获取永久素材总数(认证后的订阅号可用)
public getForeverCount ( ) : boolean | array
return boolean | array 返回数组格式: array( 'voice_count'=>0, //语音总数量 'video_count'=>0, //视频总数量 'image_count'=>0, //图片总数量 'news_count'=>0 //图文总数量 )

getForeverList() public method

获取永久素材列表(认证后的订阅号可用)
public getForeverList ( string $type, integer $offset, integer $count ) : boolean | array
$type string 素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)
$offset integer 全部素材的偏移位置,0表示从第一个素材
$count integer 返回素材的数量,取值在1到20之间
return boolean | array 返回数组格式: array( 'total_count'=>0, //该类型的素材的总数 'item_count'=>0, //本次调用获取的素材的数量 'item'=>array() //素材列表数组,内容定义请参考官方文档 )

getForeverMedia() public method

获取永久素材(认证后的订阅号可用) 返回图文消息数组或二进制数据,失败返回false
public getForeverMedia ( string $media_id, boolean $is_video = false ) : boolean | array | raw
$media_id string 媒体文件id
$is_video boolean 是否为视频文件,默认为否
return boolean | array | raw data

getGroup() public method

获取用户分组列表
public getGroup ( ) : boolean | array
return boolean | array

getJsCardTicket() public method

获取微信卡券api_ticket
public getJsCardTicket ( string $appid = '', string $api_ticket = '' )
$appid string 用于多个appid时使用,可空
$api_ticket string 手动指定api_ticket,非必要情况不建议用

getJsSign() public method

获取JsApi使用签名
public getJsSign ( string $url, string $timestamp, string $noncestr = '', string $appid = '' ) : array | boolean
$url string 网页的URL,自动处理#及其后面部分
$timestamp string 当前时间戳 (为空则自动生成)
$noncestr string 随机串 (为空则自动生成)
$appid string 用于多个appid时使用,可空
return array | boolean 返回签名字串

getJsTicket() public method

获取JSAPI授权TICKET
public getJsTicket ( string $appid = '', string $jsapi_ticket = '' )
$appid string 用于多个appid时使用,可空
$jsapi_ticket string 手动指定jsapi_ticket,非必要情况不建议用

getKFSession() public method

获取用户会话状态
public getKFSession ( string $openid ) : boolean | array
$openid string //用户openid
return boolean | array | array //成功返回json数组 { "errcode" : 0, "errmsg" : "ok", "kf_account" : "test1@test", //正在接待的客服 "createtime": 123456789, //会话接入时间 }

getKFSessionWait() public method

获取未接入会话列表
public getKFSessionWait ( ) : boolean | array
return boolean | array | 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 时间戳 ) ) )

getKFSessionlist() public method

获取指定客服的会话列表
public getKFSessionlist ( $kf_account ) : boolean | array
return boolean | array | array //成功返回json数组 array( 'sessionlist' => array ( array ( 'openid'=>'OPENID', //客户 openid 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ), array ( 'openid'=>'OPENID', //客户 openid 'createtime'=>123456789, //会话创建时间,UNIX 时间戳 ), ) )

getMedia() public method

根据媒体文件ID获取媒体文件
public getMedia ( string $media_id ) : raw
$media_id string 媒体文件id
return raw data

getMedia() public method

获取临时素材(认证后的订阅号可用)
public getMedia ( string $media_id, boolean $is_video = false ) : raw
$media_id string 媒体文件id
$is_video boolean 是否为视频文件,默认为否
return raw data

getMenu() public method

获取菜单(认证后的订阅号可用)
public getMenu ( ) : array('menu'=>array(....s))
return array('menu'=>array(....s))

getMenu() public method

获取菜单
public getMenu ( $agentid = '' ) : array('menu'=>array(....s))
return array('menu'=>array(....s))

getOauthAccessToken() public method

通过code获取Access Token
public getOauthAccessToken ( ) : array
return array {access_token,expires_in,refresh_token,openid,scope}

getOauthAuth() public method

检验授权凭证是否有效
public getOauthAuth ( string $access_token, string $openid ) : boolean
$access_token string
$openid string
return boolean 是否有效

getOauthRedirect() public method

oauth 授权跳转接口
public getOauthRedirect ( string $callback, $state = '', $scope = 'snsapi_userinfo' ) : string
$callback string 回调URI
return string

getOauthRedirect() public method

oauth 授权跳转接口
public getOauthRedirect ( string $callback, string $state = 'STATE', $scope = 'snsapi_base' ) : string
$callback string 回调URI
$state string 重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值
return string

getOauthRefreshToken() public method

刷新access token并续期
public getOauthRefreshToken ( string $refresh_token ) : boolean | mixed
$refresh_token string
return boolean | mixed

getOauthUserinfo() public method

获取授权后的用户资料
public getOauthUserinfo ( string $access_token, string $openid ) : array
$access_token string
$openid string
return array {openid,nickname,sex,province,city,country,headimgurl,privilege,[unionid]} 注意:unionid字段 只有在用户将公众号绑定到微信开放平台账号后,才会出现。建议调用前用isset()检测一下

getOrderByFilter() public method

根据订单状态/创建时间获取订单详情
public getOrderByFilter ( integer $status = null, integer $begintime = null, integer $endtime = null ) : order
$status integer 订单状态(不带该字段-全部状态, 2-待发货, 3-已发货, 5-已完成, 8-维权中, )
$begintime integer 订单创建时间起始时间(不带该字段则不按照时间做筛选)
$endtime integer 订单创建时间终止时间(不带该字段则不按照时间做筛选)
return order list array|bool

getOrderByID() public method

根据订单ID获取订单详情
public getOrderByID ( string $order_id ) : order
$order_id string 订单ID
return order array|bool

getQRCode() public method

创建二维码ticket
public getQRCode ( integer | string $scene_id, integer $type, integer $expire = 604800 ) : array('ticket'=>'qrcode字串','expire_seconds'=>604800,'url'=>'二维码图片解析后的地址')
$scene_id integer | string 自定义追踪id,临时二维码只能用数值型
$type integer 0:临时二维码;1:数值型永久二维码(此时expire参数无效);2:字符串型永久二维码(此时expire参数无效)
$expire integer 临时二维码有效期,最大为604800秒
return array('ticket'=>'qrcode字串','expire_seconds'=>604800,'url'=>'二维码图片解析后的地址')

getQRUrl() public method

获取二维码图片
public getQRUrl ( string $ticket ) : string
$ticket string 传入由getQRCode方法生成的ticket参数
return string url 返回http地址

getRev() public method

获取微信服务器发来的信息
public getRev ( )

getRevAgentID() public method

获取接收消息的应用id
public getRevAgentID ( )

getRevCardDel() public method

获取卡券事件推送 - 删除卡券 当Event为 user_del_card(用户删除卡券)
public getRevCardDel ( ) : array | boolean
return array | boolean

getRevCardGet() public method

获取卡券事件推送 - 领取卡券 当Event为 user_get_card(用户领取卡券)
public getRevCardGet ( ) : array | boolean
return array | boolean

getRevCardPass() public method

获取卡券事件推送 - 卡卷审核是否通过 当Event为 card_pass_check(审核通过) 或 card_not_pass_check(未通过)
public getRevCardPass ( ) : string | boolean
return string | boolean 返回卡券ID

getRevContent() public method

获取接收消息内容正文
public getRevContent ( )

getRevCtime() public method

获取消息发送时间
public getRevCtime ( )

getRevData() public method

获取微信服务器发来的信息
public getRevData ( )

getRevEvent() public method

获取接收事件推送
public getRevEvent ( )

getRevEventGeo() public method

获取上报地理位置事件
public getRevEventGeo ( )

getRevFrom() public method

获取消息发送者
public getRevFrom ( )

getRevGeo() public method

获取接收地理位置
public getRevGeo ( )

getRevID() public method

获取消息ID
public getRevID ( )

getRevKFClose() public method

获取多客服会话状态推送事件 - 关闭会话 当Event为 kfclosesession 即关闭会话
public getRevKFClose ( ) : string | boolean
return string | boolean | boolean 返回分配到的客服

getRevKFCreate() public method

获取多客服会话状态推送事件 - 接入会话 当Event为 kfcreatesession 即接入会话
public getRevKFCreate ( ) : string | boolean
return string | boolean | boolean 返回分配到的客服

getRevKFSwitch() public method

获取多客服会话状态推送事件 - 转接会话 当Event为 kfswitchsession 即转接会话
public getRevKFSwitch ( ) : array | boolean
return array | boolean | boolean 返回分配到的客服 { 'FromKfAccount' => '', //原接入客服 'ToKfAccount' => '' //转接到客服 }

getRevOrderId() public method

获取订单ID - 订单付款通知 当Event为 merchant_order(订单付款通知)
public getRevOrderId ( ) : orderId | boolean
return orderId | boolean

getRevOrderSkuInfo() public method

获取订单SkuInfo - 订单付款通知 当Event为 merchant_order(订单付款通知)
public getRevOrderSkuInfo ( ) : array | boolean
return array | boolean

getRevPic() public method

获取接收消息图片
public getRevPic ( )

getRevPostXml() public method

获取微信服务器发来的原始加密信息
public getRevPostXml ( )

getRevResult() public method

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

getRevScanInfo() public method

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

getRevSceneId() public method

获取二维码的场景值
public getRevSceneId ( )

getRevSendGeoInfo() public method

事件类型为以下时则可以调用此方法有效 Event 事件类型,location_select 弹出系统拍照发图的事件推送
public getRevSendGeoInfo ( )

getRevSendPicsInfo() public method

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

getRevStatus() public method

获取模板消息发送状态
public getRevStatus ( )

getRevTicket() public method

获取接收TICKET
public getRevTicket ( )

getRevTo() public method

获取消息接受者
public getRevTo ( )

getRevTplMsgID() public method

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

getRevType() public method

获取接收消息的类型
public getRevType ( )

getRevVideo() public method

获取接收视频推送
public getRevVideo ( )

getRevVoice() public method

获取接收语音推送
public getRevVoice ( )

getServerIp() public method

获取企业微信服务器IP地址列表
public getServerIp ( ) : '127.0.0.1')\array('127.0.0.1'
return '127.0.0.1')\array('127.0.0.1'

getShakeInfoShakeAroundUser() public method

[getShakeInfoShakeAroundUser 获取设备信息,包括UUID、major、minor,以及距离、openID 等信息。]
Author: polo ([email protected])
public getShakeInfoShakeAroundUser ( string $ticket ) : boolean | mixed
$ticket string 摇周边业务的ticket,可在摇到的URL 中得到,ticket生效时间为30 分钟
return boolean | 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 格式内

getShortUrl() public method

长链接转短链接接口
public getShortUrl ( string $long_url ) : boolean | string
$long_url string 传入要转换的长url
return boolean | string url 成功则返回转换后的短url

getSignature() public method

获取签名
public getSignature ( array $arrdata, string $method = "sha1" ) : boolean | string
$arrdata array 签名数组
$method string 签名方法
return boolean | string 签名值

getTag() public method

获取标签成员
public getTag ( $tagid ) : boolean | array
$tagid 标签TagID
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", "userlist": [ { "userid": "zhangsan", "name": "李四" } ] }

getTagList() public method

获取标签列表
public getTagList ( ) : boolean | array
return boolean | array 成功返回数组结果,这里附上json样例 { "errcode": 0, "errmsg": "ok", "taglist":[ {"tagid":1,"tagname":"a"}, {"tagid":2,"tagname":"b"} ] }

getTicketSignature() public method

获取微信卡券签名
public getTicketSignature ( array $arrdata, string $method = "sha1" ) : boolean | string
$arrdata array 签名数组
$method string 签名方法
return boolean | string 签名值

getUserCardList() public method

获取用户已领取卡券接口
public getUserCardList ( string $openid, string $card_id ) : boolean | array
$openid string
$card_id string
return boolean | array 返回数组信息比较复杂,请参看卡券接口文档 成功返回结果 { "errcode":0, "errmsg":"ok", "card_list": [ {"code": "xxx1434079154", "card_id": "xxxxxxxxxx"}, {"code": "xxx1434079155", "card_id": "xxxxxxxxxx"} ] }

getUserGroup() public method

获取用户所在分组
public getUserGroup ( string $openid ) : boolean | integer
$openid string
return boolean | integer 成功则返回用户分组id

getUserId() public method

根据code获取成员信息 通过Oauth2.0或者设置了二次验证时获取的code,用于换取成员的UserId和DeviceId
public getUserId ( $code, $agentid ) : boolean | array
$code Oauth2.0或者二次验证时返回的code值
$agentid 跳转链接时所在的企业应用ID,未填则默认为当前配置的应用id
return boolean | array 成功返回数组 array( 'UserId' => 'USERID', //员工UserID 'DeviceId' => 'DEVICEID' //手机设备号(由微信在安装时随机生成) )

getUserInfo() public method

获取关注者详细信息
public getUserInfo ( string $openid, string $lang = 'zh_CN' ) : array
$openid string
$lang string 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
return array {subscribe,openid,nickname,sex,city,province,country,language,headimgurl,subscribe_time,[unionid]} 注意:unionid字段 只有在用户将公众号绑定到微信开放平台账号后,才会出现。建议调用前用isset()检测一下

getUserInfo() public method

获取成员信息
public getUserInfo ( $userid ) : boolean | array
$userid 员工UserID。对应管理端的帐号
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", "userid": "zhangsan", "name": "李四", "department": [1, 2], "position": "后台工程师", "mobile": "15913215421", "gender": 1, //性别。gender=0表示男,=1表示女 "tel": "62394", "email": "[email protected]", "weixinid": "lisifordev", //微信号 "avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3W..../0", //头像url。注:如果要获取小图将url最后的"/0"改成"/64"即可 "status": 1 //关注状态: 1=已关注,2=已冻结,4=未关注 "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]} }

getUserList() public method

批量获取关注用户列表
public getUserList ( unknown $next_openid = '' )
$next_openid unknown

getUserList() public method

获取部门成员
public getUserList ( $department_id, $fetch_child, $status ) : boolean | array
$department_id 部门id
$fetch_child 1/0:是否递归获取子部门下面的成员
$status 0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", "userlist": [ { "userid": "zhangsan", "name": "李四" } ] }

getUserListInfo() public method

获取部门成员详情
public getUserListInfo ( $department_id, $fetch_child, $status ) : boolean | array
$department_id 部门id
$fetch_child 1/0:是否递归获取子部门下面的成员
$status 0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", "userlist": [ { "userid": "zhangsan", "name": "李四", "department": [1, 2], "position": "后台工程师", "mobile": "15913215421", "gender": 1, //性别。gender=0表示男,=1表示女 "tel": "62394", "email": "[email protected]", "weixinid": "lisifordev", //微信号 "avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3W..../0", //头像url。注:如果要获取小图将url最后的"/0"改成"/64"即可 "status": 1 //关注状态: 1=已关注,2=已冻结,4=未关注 "extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]} } ] }

getUsersInfo() public method

批量获取关注者详细信息
public getUsersInfo ( array $openids ) : array
$openids array user_list{{'openid:xxxxxx'},},}}
return array user_info_list{subscribe,openid,nickname,sex,city,province,country,language,headimgurl,subscribe_time,[unionid]}}}... 注意:unionid字段 只有在用户将公众号绑定到微信开放平台账号后,才会出现。建议调用前用isset()检测一下

image() public method

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

json_encode() static public method

微信api不支持中文转义的json结构
static public json_encode ( array $arr )
$arr array

log() protected method

protected log ( $log )

log() protected method

日志记录,可被重载。
protected log ( mixed $log ) : mixed
$log mixed 输入日志
return mixed

modifyCardStock() public method

库存修改
public modifyCardStock ( string $data ) : boolean
$data string
return boolean

moveDepartment() public method

移动部门
public moveDepartment ( $data ) : boolean | array
$data array( "department_id" => "5", //所要移动的部门 "to_parentid" => "2", //想移动到的父部门节点,根部门为1 "to_position" => "1" //(非必须)想移动到的父部门下的位置,1表示最上方,往后位置为2,3,4,以此类推,默认为1 )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "ok" //对返回码的文本描述内容 }

music() public method

设置回复音乐
public music ( string $title, string $desc, string $musicurl, string $hgmusicurl = '', string $thumbmediaid = '' )
$title string
$desc string
$musicurl string
$hgmusicurl string
$thumbmediaid string 音乐图片缩略图的媒体id,非必须

news() public method

设置回复图文
public news ( array $newsData = [] )
$newsData array 数组结构: array( "0"=>array( 'Title'=>'msg title', 'Description'=>'summary text', 'PicUrl'=>'http://www.domain.com/1.jpg', 'Url'=>'http://www.domain.com/1.html' ), "1"=>.... )

pageShakeAroundStatistics() public method

[pageShakeAroundStatistics 以页面为维度的数据统计接口。 查询单个页面通过摇周边摇出来的人数、次数,点击摇周边页面的人数、次数;查询的最长时间跨度为30天。]
Author: binsee ([email protected])
public pageShakeAroundStatistics ( integer $page_id, integer $begin_date, integer $end_date ) : boolean | mixed
$page_id integer 指定页面的ID
$begin_date integer 起始日期时间戳,最长时间跨度为30 天
$end_date integer 结束日期时间戳,最长时间跨度为30 天
return boolean | 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 摇周边的人数

previewMassMessage() public method

高级群发消息, 预览群发消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
public previewMassMessage ( array $data ) : boolean | array
$data array 消息结构 { "touser"=>"OPENID", "msgtype"=>"mpvideo", // 在下面5种类型中选择对应的参数内容 // mpnews | voice | image | mpvideo => array( "media_id"=>"MediaId") // text => array ( "content" => "hello") }
return boolean | array

queryMassMessage() public method

高级群发消息, 查询群发消息发送状态(认证后的订阅号可用)
public queryMassMessage ( integer $msg_id ) : boolean | array
$msg_id integer 消息id
return boolean | array { "msg_id":201053012, //群发消息后返回的消息id "msg_status":"SEND_SUCCESS" //消息发送后的状态,SENDING表示正在发送 SEND_SUCCESS表示发送成功 }

querySemantic() public method

语义理解接口
public querySemantic ( String $uid, String $query, String $category, Float $latitude, Float $longitude, String $city = "", String $region = "" ) : boolean | array
$uid String 用户唯一id(非开发者id),用户区分公众号下的不同用户(建议填入用户openid)
$query String 输入文本串
$category String 需要使用的服务类型,多个用“,”隔开,不能为空
$latitude Float 纬度坐标,与经度同时传入;与城市二选一传入
$longitude Float 经度坐标,与纬度同时传入;与城市二选一传入
$city String 城市名称,与经纬度二选一传入
$region String 区域名称,在城市存在的情况下可省略;与经纬度二选一传入
return boolean | array

removeCache() protected method

清除缓存,按需重载
protected removeCache ( string $cachename ) : boolean
$cachename string
return boolean

reply() public method

回复微信服务器, 此函数支持链式操作 Example: $this->text('msg tips')->reply();
public reply ( string $msg = [], boolean $return = false )
$msg string 要发送的信息, 默认取$this->_msg
$return boolean 是否返回信息而不抛出到浏览器 默认:否

resetAuth() public method

删除验证数据
public resetAuth ( string $appid = '' )
$appid string

resetJsTicket() public method

删除JSAPI授权TICKET
public resetJsTicket ( string $appid = '' )
$appid string 用于多个appid时使用

searchShakeAroundDevice() public method

查询设备列表 [searchShakeAroundDevice 查询已有的设备ID、UUID、Major、Minor、激活状态、备注信息、关联门店、关联页面等信息。 可指定设备ID 或完整的UUID、Major、Minor 查询,也可批量拉取设备信息列表。]
Author: polo ([email protected])
public searchShakeAroundDevice ( array $data ) : boolean | mixed
$data array $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 +-------------------------------------------------------------------------------------------------------------
return boolean | 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." }

searchShakeAroundPage() public method

[searchShakeAroundPage 查询已有的页面,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。 提供两种查询方式,①可指定页面ID 查询,②也可批量拉取页面列表。]
Author: polo ([email protected])
public searchShakeAroundPage ( array $page_ids = [], integer $begin, integer $count = 1 ) : boolean | mixed
$page_ids array
$begin integer
$count integer ①需要查询指定页面时: { "page_ids":[12345, 23456, 34567] } +------------------------------------------------------------------------------------------------------------- ②需要分页查询或者指定范围内的页面时: { "begin": 0, "count": 3 } +-------------------------------------------------------------------------------------------------------------
return boolean | 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 页面的备注信息

sendCustomMessage() public method

发送客服消息
public sendCustomMessage ( array $data ) : boolean | array
$data array 消息结构{"touser":"OPENID","msgtype":"news","news":{...}}
return boolean | array

sendGroupMassMessage() public method

高级群发消息, 根据群组id群发图文消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
public sendGroupMassMessage ( array $data ) : boolean | array
$data 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") }
return boolean | array

sendInvite() public method

邀请成员关注 向未关注企业号的成员发送关注邀请。认证号优先判断顺序weixinid>手机号>邮箱绑定>邮件;非认证号只能邮件邀请
public sendInvite ( $userid, $invite_tips = '' ) : boolean | array
$userid 用户的userid
$invite_tips 推送到微信上的提示语(只有认证号可以使用)。当使用微信推送时,该字段默认为“请关注XXX企业号”,邮件邀请时,该字段无效。
return boolean | array 成功返回数组 array( 'errcode' => 0, 'errmsg' => 'ok', 'type' => 1 //邀请方式 1.微信邀请 2.邮件邀请 )

sendMassMessage() public method

高级群发消息, 根据OpenID列表群发图文消息(订阅号不可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。
public sendMassMessage ( array $data ) : boolean | array
$data array 消息结构 { "touser"=>array( "OPENID1", "OPENID2" ), "msgtype"=>"mpvideo", // 在下面5种类型中选择对应的参数内容 // mpnews | voice | image | mpvideo => array( "media_id"=>"MediaId") // text => array ( "content" => "hello") }
return boolean | array

sendMessage() public method

主动发送信息接口
public sendMessage ( array $data ) : boolean | array
$data array 结构体为: array( "touser" => "UserID1|UserID2|UserID3", "toparty" => "PartyID1|PartyID2 ", "totag" => "TagID1|TagID2 ", "safe":"0" //是否为保密消息,对于news无效 "agentid" => "001", //应用id "msgtype" => "text", //根据信息类型,选择下面对应的信息结构体 "text" => array( "content" => "Holiday Request For Pony(http://xxxxx)" ), "image" => array( "media_id" => "MEDIA_ID" ), "voice" => array( "media_id" => "MEDIA_ID" ), " video" => array( "media_id" => "MEDIA_ID", "title" => "Title", "description" => "Description" ), "file" => array( "media_id" => "MEDIA_ID" ), "news" => array( //不支持保密 "articles" => array( //articles 图文消息,一个图文消息支持1到10个图文 array( "title" => "Title", //标题 "description" => "Description", //描述 "url" => "URL", //点击后跳转的链接。可根据url里面带的code参数校验员工的真实身份。 "picurl" => "PIC_URL", //图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图640*320, //小图80*80。如不填,在客户端不显示图片 ), ) ), "mpnews" => array( "articles" => array( //articles 图文消息,一个图文消息支持1到10个图文 array( "title" => "Title", //图文消息的标题 "thumb_media_id" => "id", //图文消息缩略图的media_id "author" => "Author", //图文消息的作者(可空) "content_source_url" => "URL", //图文消息点击“阅读原文”之后的页面链接(可空) "content" => "Content" //图文消息的内容,支持html标签 "digest" => "Digest description", //图文消息的描述 "show_cover_pic" => "0" //是否显示封面,1为显示,0为不显示(可空) ), ) ) ) 请查看官方开发文档中的 发送消息 -> 消息类型及数据格式
return boolean | array 如果对应用或收件人、部门、标签任何一个无权限,则本次发送失败; 如果收件人、部门或标签不存在,发送仍然执行,但返回无效的部分。 { "errcode": 0, "errmsg": "ok", "invaliduser": "UserID1", "invalidparty":"PartyID1", "invalidtag":"TagID1" }

sendTemplateMessage() public method

发送模板消息
public sendTemplateMessage ( array $data ) : boolean | array
$data array 消息结构 { "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" } } }
return boolean | array

setCache() protected method

设置缓存,按需重载
protected setCache ( string $cachename, mixed $value, integer $expired ) : boolean
$cachename string
$value mixed
$expired integer
return boolean

setCardTestWhiteList() public method

设置卡券测试白名单
public setCardTestWhiteList ( string $openid = [], string $user = [] ) : boolean
$openid string 测试的 openid 列表
$user string 测试的微信号列表
return boolean

setFuncFlag() public method

设置消息的星标标志,官方已取消对此功能的支持
public setFuncFlag ( $flag )

setKFHeadImg() public method

上传客服头像
public setKFHeadImg ( string $account, string $imgfile ) : boolean | array
$account string //完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符
$imgfile string //头像文件完整路径,如:'D:\user.jpg'。头像文件必须JPG格式,像素建议640*640
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", }

setOrderDelivery() public method

设置订单发货信息
public setOrderDelivery ( string $order_id, integer $need_delivery, string $delivery_company = null, string $delivery_track_no = null, integer $is_others ) : boolean
$order_id string 订单 ID
$need_delivery integer 商品是否需要物流(0-不需要,1-需要)
$delivery_company string 物流公司 ID
$delivery_track_no string 运单 ID
$is_others integer 是否为 6.4.5 表之外的其它物流公司(0-否,1-是)
return boolean

setTMIndustry() public method

模板消息 设置所属行业
public setTMIndustry ( integer $id1, integer $id2 = '' ) : boolean | array
$id1 integer 公众号模板消息所属行业编号,参看官方开发文档 行业代码
$id2 integer 同$id1。但如果只有一个行业,此参数可省略
return boolean | array

text() public method

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

transfer_customer_service() public method

转发多客服消息 Example: $obj->transfer_customer_service($customer_account)->reply();
public transfer_customer_service ( string $customer_account = '' )
$customer_account string 转发到指定客服帐号:test1@test

trymatchMenu() public method

测试个性化菜单匹配结果(认证后的订阅号可用)
public trymatchMenu ( $data ) : boolean | array('button'=>array(....s))
$data {"user_id":"weixin"} user_id可以是粉丝的OpenID,也可以是粉丝的微信号
return boolean | array('button'=>array(....s))

unavailableCardCode() public method

设置卡券失效 设置卡券失效的操作不可逆
public unavailableCardCode ( string $code, string $card_id = '' ) : boolean
$code string 需要设置为失效的 code
$card_id string 自定义 code 的卡券必填。非自定义 code 的卡券不填。
return boolean

updateCard() public method

更改卡券信息 调用该接口更新信息后会重新送审,卡券状态变更为待审核。已被用户领取的卡券会实时更新票面信息。
public updateCard ( string $data ) : boolean
$data string
return boolean

updateCardCode() public method

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

updateDepartment() public method

更新部门
public updateDepartment ( array $data ) : boolean | array
$data array 结构体为: array( "id" => "1" //(必须)部门id "name" => "邮箱产品组", //(非必须)部门名称 "parentid" => "1", //(非必须)父亲部门id。根部门id为1 "order" => "1", //(非必须)在父部门中的次序。从1开始,数字越大排序越靠后 )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "updated" //对返回码的文本描述内容 }

updateForeverArticles() public method

修改永久图文素材(认证后的订阅号可用) 永久素材也可以在公众平台官网素材管理模块中看到
public updateForeverArticles ( string $media_id, array $data, integer $index ) : boolean | array
$media_id string 图文素材id
$data array 消息结构{"articles":[{...}]}
$index integer 更新的文章在图文素材的位置,第一篇为0,仅多图文使用
return boolean | array

updateGroup() public method

更改分组名称
public updateGroup ( integer $groupid, string $name ) : boolean | array
$groupid integer 分组id
$name string 分组名称
return boolean | array

updateGroupMembers() public method

移动用户分组
public updateGroupMembers ( integer $groupid, string $openid ) : boolean | array
$groupid integer 分组id
$openid string 用户openid
return boolean | array

updateKFAccount() public method

修改客服账号信息
public updateKFAccount ( string $account, string $nickname, string $password ) : boolean | array
$account string //完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符
$nickname string //客服昵称,最长6个汉字或12个英文字符
$password string //客服账号明文登录密码,会自动加密
return boolean | array 成功返回结果 { "errcode": 0, "errmsg": "ok", }

updateLuckyMoney() public method

更新红包金额
public updateLuckyMoney ( string $code, $balance, string $card_id = '' ) : boolean | array
$code string 红包的序列号
$balance 红包余额
$card_id string 自定义 code 的卡券必填。非自定义 code 可不填。
return boolean | array

updateMeetingCard() public method

更新门票
public updateMeetingCard ( string $data ) : boolean
$data string
return boolean

updateMemberCard() public method

会员卡交易 会员卡交易后每次积分及余额变更需通过接口通知微信,便于后续消息通知及其他扩展功能。
public updateMemberCard ( string $data ) : boolean | array
$data string 具体结构请参看卡券开发文档(6.1.2 会员卡交易)章节
return boolean | array

updateShakeAroundDevice() public method

编辑设备信息 [updateShakeAroundDevice 编辑设备的备注信息。可用设备ID或完整的UUID、Major、Minor指定设备,二者选其一。]
Author: binsee ([email protected])
public updateShakeAroundDevice ( array $data ) : boolean
$data array array( "device_identifier" => array( "device_id" => 10011, //当提供了device_id则不需要使用uuid、major、minor,反之亦然 "uuid" => "FDA50693-A4E2-4FB1-AFCF-C6EB07647825", "major" => 1002, "minor" => 1223 ), "comment" => "测试专用", //备注(非必填) ) { "data": { }, "errcode": 0, "errmsg": "success." }
return boolean

updateShakeAroundPage() public method

[updateShakeAroundPage 编辑摇一摇出来的页面信息,包括在摇一摇页面出现的主标题、副标题、图片和点击进去的超链接。]
Author: polo ([email protected])
public updateShakeAroundPage ( integer $page_id, string $title, string $description, sting $icon_url, string $page_url, string $comment = '' ) : boolean | mixed
$page_id integer
$title string 在摇一摇页面展示的主标题,不超过6 个字
$description string 在摇一摇页面展示的副标题,不超过7 个字
$icon_url sting 在摇一摇页面展示的图片, 格式限定为:jpg,jpeg,png,gif; 建议120*120 , 限制不超过200*200
$page_url string 跳转链接
$comment string 页面的备注信息,不超过15 个字,可不填
return boolean | mixed 正确返回JSON 数据示例: { "data": { "page_id": 28840 //编辑页面的页面ID } "errcode": 0, "errmsg": "success." }

updateTag() public method

更新标签
public updateTag ( array $data ) : boolean | array
$data array 结构体为: array( "tagid" => "1", "tagname" => "UI design" )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "updated" //对返回码的文本描述内容 }

updateUser() public method

更新成员
public updateUser ( array $data ) : boolean | array
$data array 结构体为: array( "userid" => "zhangsan", "name" => "张三", "department" => [1, 2], "position" => "产品经理", "mobile" => "15913215421", "gender" => 1, //性别。gender=0表示男,=1表示女 "tel" => "62394", "email" => "[email protected]", "weixinid" => "zhangsan4dev" )
return boolean | array 成功返回结果 { "errcode": 0, //返回码 "errmsg": "updated" //对返回码的文本描述内容 }

updateUserRemark() public method

设置用户备注名
public updateUserRemark ( string $openid, string $remark ) : boolean | array
$openid string
$remark string 备注名
return boolean | array

uploadArticles() public method

上传图文消息素材,用于群发(认证后的订阅号可用)
public uploadArticles ( array $data ) : boolean | array
$data array 消息结构{"articles":[{...}]}
return boolean | array

uploadForeverArticles() public method

上传永久图文素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到
public uploadForeverArticles ( array $data ) : boolean | array
$data array 消息结构{"articles":[{...}]}
return boolean | array

uploadForeverMedia() public method

上传永久素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
public uploadForeverMedia ( array $data, $type, boolean $is_video = false, array $video_info = [] ) : boolean | array
$data array {"media":'@Path\filename.jpg'}
$is_video boolean 是否为视频文件,默认为否
$video_info array 视频信息数组,非视频素材不需要提供 array('title'=>'视频标题','introduction'=>'描述')
return boolean | array

uploadImg() public method

上传图片,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。 (认证后的订阅号可用) 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
public uploadImg ( array $data ) : boolean | array
$data array {"media":'@Path\filename.jpg'}
return boolean | array

uploadMedia() public method

上传多媒体文件 (只有三天的有效期,过期自动被删除) 注意:上传大文件时可能需要先调用 set_time_limit(0) 避免超时 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
public uploadMedia ( array $data, $type ) : boolean | array
$data array {"media":'@Path\filename.jpg'}
return boolean | array { "type": "image", "media_id": "0000001", "created_at": "1380000000" }

uploadMpVideo() public method

上传视频素材(认证后的订阅号可用)
public uploadMpVideo ( array $data ) : boolean | array
$data array 消息结构 { "media_id"=>"", //通过上传媒体接口得到的MediaId "title"=>"TITLE", //视频标题 "description"=>"Description" //视频描述 }
return boolean | array { "type":"video", "media_id":"mediaid", "created_at":1398848981 }

uploadShakeAroundMedia() public method

上传在摇一摇页面展示的图片素材 注意:数组的键值任意,但文件名前必须加@,使用单引号以避免本地路径斜杠被转义
Author: binsee ([email protected])
public uploadShakeAroundMedia ( array $data ) : boolean | array
$data array {"media":'@Path\filename.jpg'} 格式限定为:jpg,jpeg,png,gif,图片大小建议120px*120 px,限制不超过200 px *200 px,图片需为正方形。
return boolean | array { "data": { "pic_url":"http://shp.qpic.cn/wechat_shakearound_pic/0/1428377032e9dd2797018cad79186e03e8c5aec8dc/120" }, "errcode": 0, "errmsg": "success." } }

valid() public method

微信验证,包括post来的xml解密
public valid ( boolean $return = false )
$return boolean 是否返回

video() public method

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

voice() public method

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

xmlSafeStr() public static method

public static xmlSafeStr ( $str )

xml_encode() public method

XML编码
public xml_encode ( mixed $data, string $root = 'xml', string $item = 'item', string $attr = '', string $id = 'id', string $encoding = 'utf-8' ) : string
$data mixed 数据
$root string 根节点名
$item string 数字索引的子节点名
$attr string 根节点属性
$id string 数字索引子节点key转换的属性名
$encoding string 数据编码
return string

Property Details

$DATACUBE_URL_ARR static_oe public_oe property

数据分析接口
static public $DATACUBE_URL_ARR

$debug public_oe property

public $debug

$errCode public_oe property

public $errCode

$errMsg public_oe property

public $errMsg

$logcallback public_oe property

public $logcallback