Example #1
0
File: kf.php Project: qujian/ydwx
/**
 * 为公众号删除客服帐号
 *
 * @param unknown $accessToken
 * @param unknown $kfaccount 账号前缀@公众号微信号
 * @param unknown $nickname
 * @param unknown $password
 * @throws YDWXException
 * @return YDWXResponse
 */
function ydwx_kfaccount_del($accessToken, $kfaccount, $nickname, $password)
{
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "customservice/kfaccount/del?access_token={$accessToken}", ydwx_json_encode(array("kf_account" => $kfaccount, "nickname" => $nickname, "password" => $password)));
    $rst = new YDWXResponse($info);
    if (!$rst->isSuccess()) {
        throw new YDWXException($rst->errmsg);
    }
    return $rst;
}
Example #2
0
File: menu.php Project: qujian/ydwx
/**
 * 创建菜单
 * 
 * @param unknown $accessToken
 * @param unknown $menus YDWXMenu数组
 * @return boolean
 * @see http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html
 */
function ydwx_menu_create($accessToken, $menus)
{
    if (YDWX_WEIXIN_ACCOUNT_TYPE == YDWX_WEIXIN_ACCOUNT_TYPE_SUBSCRIBE && !YDWX_WEIXIN_IS_AUTHED) {
        throw new YDWXException("不支持创建菜单");
    }
    $http = new YDHttp();
    $save_menus = array();
    foreach ($menus as $menu) {
        $save_menus['button'][] = $menu->toArray();
    }
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "menu/create?access_token=" . $accessToken, ydwx_json_encode($save_menus));
    $res = new YDWXResponse($info);
    if ($res->isSuccess()) {
        return true;
    }
    throw new YDWXException($res->errmsg, $res->errcode);
}
Example #3
0
/**
 * 母商户可以通过该接口批量拉取子商户的相关信息,一次调用最多拉取 100  个子商户
 * 的信息,可以通过多次拉去满足不同的查询需求。
 * 
 * @param unknown $accessTokent  第三方平台的access token
 * @throws YDWXException
 * @return YDWXCardMPMerchantBatchGetResponse
 */
function ydwx_card_batchget_mpmerchant($accessToken, $next_get)
{
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "component/batchget_card_merchant?access_token={$accessToken}", ydwx_json_encode(array("next_get" => $next_get)));
    $msg = new YDWXCardMPMerchantBatchGetResponse($info);
    if ($msg->isSuccess()) {
        return $msg;
    }
    throw new YDWXException($msg->errmsg, $msg->errcode);
}
Example #4
0
File: msgs.php Project: qujian/ydwx
/**
 * 设置行业可在MP中完成,每月可修改行业1次,账号仅可使用所属行业中相关的模板,
 * 为方便第三方开发者,提供通过接口调用的方式来修改账号所属行业
 * 
 * @param String $accessToken
 * @param String $id1 见 YDWX_INDUSTRY_XX
 * @param String $id2 见 YDWX_INDUSTRY_XX
 * 
 * @return void
 */
function ydwx_message_template_set_industry($accessToken, $id1, $id2)
{
    if (!YDWX_WEIXIN_IS_AUTHED || YDWX_WEIXIN_ACCOUNT_TYPE != YDWX_WEIXIN_ACCOUNT_TYPE_SERVICE) {
        throw new YDWXException("发送模板消息, 要求是认证的服务号");
    }
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "template/api_set_industry?access_token={$accessToken}", ydwx_json_encode(array("industry_id1" => $id1, "industry_id2" => $id2)));
    $rst = new YDWXResponse($info);
    if (!$rst->isSuccess()) {
        throw new YDWXException($rst->errmsg);
    }
}
Example #5
0
 public function toJSONString()
 {
     $this->valid();
     $args = YDWXRequest::ignoreNull($this->sortArg());
     return ydwx_json_encode($args);
 }
Example #6
0
File: card.php Project: qujian/ydwx
/**
 * 拉取会员卡数据接口
 * 
 * 为支持开发者调用API查看卡券相关数据,微信卡券团队封装数据接口并面向具备卡券功能权限的开发者开放使用。开发者调用该接口可获取本商户下的所有卡券相关的总数据以及指定卡券的相关数据。开发过程请务必注意以下事项:
 * 1.查询时间区间需<=62天,否则报错{errcode: 61501,errmsg: "date range error"};
 * 2.传入时间格式需严格参照示例填写”2015-06-15”,否则报错{errcode":61500,"errmsg":"date format error"};
 * 3.需在获取卡券相关数据前区分卡券创建渠道:公众平台创建、调用卡券接口创建。
 * 
 * 支持开发者调用该接口拉取公众平台创建的会员卡相关数据。
 * @param unknown $accessToken
 * @param unknown $begindate
 * @param unknown $enddate
 * @param unknown $cond_source
 * @throws YDWXException
 * @return multitype:YDWXCardCardStatistic
 */
function ydwx_card_datacube_getmembercardinfo($accessToken, $begindate, $enddate, $cond_source)
{
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL2 . "datacube/getcardmembercardinfo?access_token={$accessToken}", ydwx_json_encode(array("begin_date" => $begindate, "end_date" => $enddate, "cond_source" => $cond_source)));
    $msg = new YDWXResponse($info);
    if ($msg->isSuccess()) {
        $array = array();
        foreach ($msg->list as $info) {
            $obj = new YDWXMemberCardStatistic();
            foreach ($info as $name => $value) {
                $obj->{$name} = $value;
            }
            $array[] = $obj;
        }
        return $array;
    }
    throw new YDWXException($msg->errmsg);
}
Example #7
0
/**
 * 新增视频类型永久素材
 *
 * @param unknown $accessToken
 * @param unknown $media
 * @param unknown $title 视频素材的标题
 * @param unknown $introduction 视频素材的描述
 * @throws YDWXException
 * @return YDWXMaterialResponse
 */
function ydwx_media_add_material_video($accessToken, $media, $title, $introduction)
{
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "material/add_material?access_token={$accessToken}&type=video", array("media" => "@" . $media, "description" => ydwx_json_encode(array("title" => $title, "introduction" => $introduction))), true);
    $msg = new YDWXMaterialResponse($info);
    if ($msg->isSuccess()) {
        return $msg;
    }
    throw new YDWXException($msg->errmsg);
}
Example #8
0
/**
 * 批量拉取子商户信息接口
 * 母商户 可以通过该接口批量拉取 子商户的相关信息,一次调用最多拉起100个子商户的信息,可 以通过多次拉去满足不同的查询需求
 * @param unknown $accessToken  第三方平台的access token
 * @param unknown $begin_id merchant_id
 * @param unknown $limit 数量 最大100
 * @param unknown $status YDWX_CARD_MERCHANT_XX
 * @throws YDWXException
 * @return YDWXCardSubmerchantBatchGetResponse
 */
function ydwx_card_submerchant_batchget($accessToken, $begin_id, $limit, $status)
{
    if ($limit > 100) {
        throw new YDWXException("商户批量查询数量最大100");
    }
    $http = new YDHttp();
    $info = $http->get(YDWX_WEIXIN_BASE_URL2 . "card/submerchant/batchget?access_token={$accessToken}", ydwx_json_encode(array("begin_id" => intval($begin_id), "limit" => intval($limit), "status" => $status)));
    $msg = new YDWXCardSubmerchantBatchGetResponse($info);
    if ($msg->isSuccess()) {
        return $msg;
    }
    throw new YDWXException($msg->errmsg, $msg->errcode);
}
Example #9
0
File: zb.php Project: qujian/ydwx
/**
 * 批量查询页面统计数据接口
 * 接口说明 查询指定时间商家帐号下的每个页面进行摇周边操作的人数、次数,点击摇周边消息的人数、次数。
 * 只能查询最近90天内的数据,且一次只能查询一天。
 * 此接口无法获取当天的数据,最早只能获取前一天的数据。由于系统在凌晨处理前一天的数据,太早调用此接口可能获取不到数据,建议在早上8:00之后调用此接口。
 * 注意:对于摇周边人数、摇周边次数、点击摇周边消息的人数、点击摇周边消息的次数都为0的页面,不在结果列表中返回。
 * @param unknown $accessToken
 * @param unknown $date
 * @param unknown $page
 * @throws YDWXException
 * @return YDWXZBPageStatisticResult
 */
function ydwx_shakearound_statistics_pagelist($accessToken, $date, $page)
{
    $http = new YDHttp();
    $array = array();
    $array['page_index'] = $page;
    $array['date'] = $date;
    $info = $http->post(YDWX_WEIXIN_BASE_URL2 . "shakearound/statistics/pagelist?access_token={$accessToken}", ydwx_json_encode($array));
    $msg = new YDWXZBPageStatisticResult($info);
    if ($msg->isSuccess()) {
        return $msg;
    }
    throw new YDWXException($msg->errmsg);
}
Example #10
0
/**
 * 该 API 用于第三方平台确认接受公众号将某权限集高级权限的授权
 * @param unknown $appid
 * @param unknown $funcscope_category_id 功能集合,见YDWX_FUNC_XX常量
 * @param boolean $confirm true 确认 false取消
 * @throws YDWXException
 * @return boolean
 */
function ydwx_agent_confirm_authorization($appid, $funcscope_category_id, $confirm)
{
    $accessToken = YDWXHook::do_hook(YDWXHook::GET_AGENT_ACCESS_TOKEN);
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "component/api_confirm_authorization?component_access_token={$accessToken}", ydwx_json_encode(array("component_appid" => YDWX_WEIXIN_COMPONENT_APP_ID, "authorizer_appid" => $appid, "funcscope_category_id" => $funcscope_category_id, "confirm_value" => $confirm ? 1 : 2)));
    $msg = new YDWXResponse($info);
    if ($msg->isSuccess()) {
        return true;
    }
    throw new YDWXException($msg->errmsg);
}
Example #11
0
File: poi.php Project: qujian/ydwx
/**
 * 删除门店
 * 商户可以通过该接口,删除已经成功创建的门店。请商户慎重调用该接口,门店信息被删除后,可能会影响其他与门店相关的业务使用,如卡券等。同样,该门店信息也不会在微信的商户详情页显示,不会再推荐入附近功能。
 * 
 * @param unknown $accessToken
 * @param unknown $poiid
 * @throws YDWXException
 * @return boolean
 */
function ydwx_poi_delete($accessToken, $poiid)
{
    $http = new YDHttp();
    $info = $http->post(YDWX_WEIXIN_BASE_URL . "poi/delpoi?access_token={$accessToken}", ydwx_json_encode(array("poi_id" => $poiid)));
    $msg = new YDWXResponse($info);
    if ($msg->isSuccess()) {
        return true;
    }
    throw new YDWXException($msg->errmsg);
}