| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | <?php/** * MpAdApi.php  UTF-8 * 广告行为数据上报接口 * * @date    : 2018/11/16 11:08 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author  : chenbingling <cbl@huosdk.com> * @version : HuoMp 1.0 */namespace huoMpAd;use huo\controller\common\Base;use huoMpMsg\controller\Common;use huoMpMsg\status\OfficialAccountStatus;class MpAdApi extends Base {    /**     * 创建数据源     *     * @param string $wx_app_id     第三方用户唯一凭证     * @param string $wx_app_secret 第三方用户唯一凭证密钥,即appsecret     * @param array  $data          请求参数     *     * @return array     */    public function createDataSource($wx_app_id, $wx_app_secret, $data) {        $_url = 'https://api.weixin.qq.com/marketing/user_action_sets/add?version=v1.0';        $_access_token = Common::getAccessToken($wx_app_id, $wx_app_secret);        $_url = $_url.'&access_token='.$_access_token;        $_param = json_encode($data, JSON_UNESCAPED_UNICODE);        $_header = ['Content-Type: application/json; charset=utf-8'];        $_ret = Common::curl($_url, $_param, 'POST', $_header);        $_rdata = [];        if (Common::isJson($_ret)) {            $_rdata = json_decode($_ret, true);        }        if (isset($_rdata['errcode']) && '0' != $_rdata['errcode']) {            $_code = $_rdata['errcode'];            return $this->huoError($_code, $_rdata['errmsg']);        }//        $_rdata['data'] = [//            'user_action_set_id' => '9999999'//        ];        $_code = OfficialAccountStatus::NO_ERROR;        return $this->huoSuccess($_code, OfficialAccountStatus::getMsg($_code), $_rdata['data']);    }    /**     * 回传数据     *     * @param string $wx_app_id     第三方用户唯一凭证     * @param string $wx_app_secret 第三方用户唯一凭证密钥,即appsecret     * @param array  $data          请求参数     * @param bool   $read_cache     *     * @return array     */    public function dataReport($wx_app_id, $wx_app_secret, $data, $read_cache = true) {        $_url = 'https://api.weixin.qq.com/marketing/user_actions/add?version=v1.0';        $_access_token = Common::getAccessToken($wx_app_id, $wx_app_secret, $read_cache);        $_url = $_url.'&access_token='.$_access_token;        $_param = json_encode($data, JSON_UNESCAPED_UNICODE);        $_header = ['Content-Type: application/json; charset=utf-8'];        $_ret = Common::curl($_url, $_param, 'POST', $_header);        $_rdata = [];        if (Common::isJson($_ret)) {            $_rdata = json_decode($_ret, true);        }        if (isset($_rdata['errcode']) && '0' != $_rdata['errcode']) {            if ($_rdata['errcode'] == '40001' && $read_cache) {                return $this->dataReport($wx_app_id, $wx_app_secret, $data,false);            }            $_code = $_rdata['errcode'];            return $this->huoError($_code, $_rdata['errmsg']);        }        $_code = OfficialAccountStatus::NO_ERROR;        return $this->huoSuccess($_code, OfficialAccountStatus::getMsg($_code));    }    /**     * 数据源报表     *     * @param string $wx_app_id     第三方用户唯一凭证     * @param string $wx_app_secret 第三方用户唯一凭证密钥,即appsecret     * @param array  $data          请求参数     *     * @return array     */    public function getDataSourceReport($wx_app_id, $wx_app_secret, $data) {        $_url = 'https://api.weixin.qq.com/marketing/user_action_set_reports/get?version=v1.0';        $_access_token = Common::getAccessToken($wx_app_id, $wx_app_secret);        $_url = $_url.'&access_token='.$_access_token.'&'.http_build_query($data);        $_ret = Common::curl($_url, '', 'GET');        $_rdata = [];        if (Common::isJson($_ret)) {            $_rdata = json_decode($_ret, true);        }        if (isset($_rdata['errcode']) && '0' != $_rdata['errcode']) {            $_code = $_rdata['errcode'];            return $this->huoError($_code, $_rdata['errmsg']);        }        $_code = OfficialAccountStatus::NO_ERROR;        return $this->huoSuccess($_code, OfficialAccountStatus::getMsg($_code), $_rdata['data']);    }    /**     * 数据源查询     *     * @param string $wx_app_id     第三方用户唯一凭证     * @param string $wx_app_secret 第三方用户唯一凭证密钥,即appsecret     * @param array $data     *     * @return array     */    public function getDataSourceInfo($wx_app_id, $wx_app_secret, $data) {        $_url = 'https://api.weixin.qq.com/marketing/user_action_sets/get?version=v1.0';        $_access_token = Common::getAccessToken($wx_app_id, $wx_app_secret);        $_url = $_url.'&access_token='.$_access_token.'&'.http_build_query($data);        $_ret = Common::curl($_url, '', 'GET');        $_rdata = [];        if (Common::isJson($_ret)) {            $_rdata = json_decode($_ret, true);        }        if (isset($_rdata['errcode']) && '0' != $_rdata['errcode']) {            $_code = $_rdata['errcode'];            return $this->huoError($_code, $_rdata['errmsg']);        }        $_code = OfficialAccountStatus::NO_ERROR;        return $this->huoSuccess($_code, OfficialAccountStatus::getMsg($_code), $_rdata['data']);    }}
 |