/// <summary>
        /// 拉取单个子商户信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="merchant_id">子商户数据</param>
        /// <returns></returns>
        public JsonResult <SubMerchant> GetSubMerchant(string access_token, string merchant_id)
        {
            var    obj = new { merchant_id };
            string url = $"{Config.WxApi}card/submerchant/get?access_token={access_token}";

            return(WxAPI.RequestData <SubMerchant>(url, obj, Method.POST));
        }
示例#2
0
        /// <summary>
        /// 图文消息群发,获取插入到图文中的html代码
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="card_id">卡券ID</param>
        /// <returns>data字段为卡券的html</returns>
        public JsonResult <string> GetCardHTML(string access_token, string card_id)
        {
            var    obj = new { card_id };
            string url = $"{Config.WxApi}card/mpnews/gethtml?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));//WxAPI.Reqeust<CardHtmlResult>(url, obj, Method.POST);
        }
示例#3
0
        /// <summary>
        /// 查询-单个礼品卡订单信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="order_id">礼品卡订单号,商户可以通过购买成功的事件推送或者批量查询订单接口获得</param>
        /// <returns></returns>
        public JsonResult <GiftCardOrder> GetOrder(string access_token, string order_id)
        {
            var    obj = new { order_id };
            string url = $"{Config.WxApi}card/giftcard/order/get?access_token={access_token}";

            return(WxAPI.RequestData <GiftCardOrder>(url, obj, Method.POST));
        }
示例#4
0
        /// <summary>
        /// 申请微信支付礼品卡权限
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="sub_mch_id">微信支付子商户号</param>
        /// <returns>data字段为url</returns>
        public JsonResult <string> SetPayWhiteList(string access_token, string sub_mch_id)
        {
            var    obj = new { sub_mch_id };
            string url = $"{Config.WxApi}card/giftcard/pay/whitelist/add?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#5
0
        /// <summary>
        /// 查询导入code数目
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="card_id">进行导入code的卡券ID</param>
        /// <returns>data字段为已经成功存入的code数目。</returns>
        public JsonResult <int> GetCardCodeCount(string access_token, string card_id)
        {
            var    obj = new { card_id };
            string url = $"{Config.WxApi}card/code/getdepositcount?access_token={access_token}";

            return(WxAPI.RequestData <int>(url, obj, Method.POST));
        }
        /// <summary>
        /// 获取用户身上的标签列表
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="openid">普通用户的标识,对当前公众号唯一</param>
        /// <returns></returns>
        public JsonResult <List <string> > GetUserTag(string access_token, string openid)
        {
            string url = $"{Config.WxApi}cgi-bin/tags/getidlist?access_token={access_token}";
            var    obj = new { openid };

            return(WxAPI.RequestData <List <string> >(url, obj, Method.POST));
        }
示例#7
0
        /// <summary>
        /// 查询-礼品卡货架信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="page_id">货架id</param>
        /// <returns>data字段为货架信息结构体</returns>
        public JsonResult <GiftCardShelves> GetShelves(string access_token, string page_id)
        {
            var    obj = new { page_id };
            string url = $"{Config.WxApi}card/giftcard/page/get?access_token={access_token}";

            return(WxAPI.RequestData <GiftCardShelves>(url, obj, Method.POST));
        }
示例#8
0
        /// <summary>
        /// 获取公众号/小程序所绑定的开放平台帐号
        /// </summary>
        /// <param name="access_token"></param>
        /// <param name="appid">授权公众号或小程序的 appid</param>
        public JsonResult <string> GetBindOepnPlatform(string access_token, string appid)
        {
            string url = $"{Config.WxApi}cgi-bin/open/get?access_token={access_token}";
            var    obj = new { appid };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#9
0
        /// <summary>
        /// 获取单个门店信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="poi_id">为门店小程序添加门店,审核成功后返回的门店id</param>
        /// <returns></returns>
        public JsonResult <POIBusiness> MiniprogramGetPoi(string access_token, string poi_id)
        {
            string url = $"{Config.WxApi}wxa/get_store_info?access_token={access_token}";
            var    obj = new { poi_id };

            return(WxAPI.RequestData <POIBusiness>(url, obj, Method.POST));
        }
示例#10
0
        /// <summary>
        /// 获取门店小程序配置的卡券
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="poi_id">为门店小程序添加门店,审核成功后返回的门店id</param>
        /// <returns>data字段为门店配置的卡券id</returns>
        public JsonResult <string> MiniprogramPoiGetCard(string access_token, string poi_id)
        {
            string url = $"{Config.WxApi}card/storewxa/get?access_token={access_token}";
            var    obj = new { poi_id };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#11
0
        /// <summary>
        /// 更新子商户
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="info">子商户数据</param>
        /// <returns></returns>
        public JsonResult <SubMerchant> UpdateSubMerchant(string access_token, SubMerchant info)
        {
            var    obj = new { info };
            string url = $"{Config.WxApi}card/submerchant/update?access_token={access_token}";

            return(WxAPI.RequestData <SubMerchant>(url, obj, Method.POST));
        }
        /// <summary>
        /// 获取用户开卡时提交的信息(跳转型开卡组件)
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="activate_ticket">跳转型开卡组件开卡后回调中的激活票据,可以用来获取用户开卡资料</param>
        /// <returns></returns>
        public JsonResult <MemberCardUserField> GetActiveTempInfo(string access_token, string activate_ticket)
        {
            string url = $"{Config.WxApi}card/membercard/activatetempinfo/get?access_token={access_token}";
            var    obj = new { activate_ticket };

            return(WxAPI.RequestData <MemberCardUserField>(url, obj, Method.POST));
        }
        /// <summary>
        /// 获取开卡插件参数
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="card_id">会员卡的card_id</param>
        /// <param name="outer_str">渠道值,用于统计本次领取的渠道参数</param>
        /// <returns>data字段为返回的url,内含调用开卡插件所需的参数</returns>
        public JsonResult <string> GetActiveUrl(string access_token, string card_id, string outer_str)
        {
            string url = $"{Config.WxApi}card/membercard/activate/geturl?access_token={access_token}";
            var    obj = new { card_id, outer_str };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#14
0
        /// <summary>
        /// 创建-礼品卡货架
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="page">礼品卡货架数据</param>
        /// <returns>data字段为货架id</returns>
        public JsonResult <string> CareateShelves(string access_token, GiftCardShelves page)
        {
            var    obj = new { page };
            string url = $"{Config.WxApi}card/giftcard/page/add?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
        /// <summary>
        /// 创建标签
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="name">标签名(30个字符以内)</param>
        /// <returns></returns>
        public JsonResult <TagInfo> CreateTag(string access_token, string name)
        {
            string url = $"{Config.WxApi}cgi-bin/tags/create?access_token={access_token}";
            var    obj = new
            {
                tag = new { name }
            };

            return(WxAPI.RequestData <TagInfo>(url, obj, Method.POST));
        }
示例#16
0
        /// <summary>
        /// 获得模板ID
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="template_id_short">模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式</param>
        /// <returns>data字段为template id</returns>
        public JsonResult <string> GetTemplateId(string access_token, string template_id_short)
        {
            string url = $"{Config.WxApi}cgi-bin/template/api_add_template?access_token={access_token}";
            var    obj = new
            {
                template_id_short
            };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#17
0
        /// <summary>
        /// 更改卡券信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="card_type">卡券类型 全大写</param>
        /// <param name="card_id">卡券id</param>
        /// <param name="data">卡券数据</param>
        /// <returns></returns>
        public JsonResult <bool> UpdateCard(string access_token, string card_type, string card_id, BaseCard data)
        {
            DynamicDictionary dic = new DynamicDictionary();

            dic.SetMember("card_id", card_id);
            dic.SetMember(card_type.ToLower(), data);
            string url = $"{Config.WxApi}card/update?access_token={access_token}";

            return(WxAPI.RequestData <bool>(url, dic.GetMembers(), Method.POST));
        }
示例#18
0
        /// <summary>
        /// 查询门店信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="poi_id">门店id,由微信生成</param>
        /// <returns></returns>
        public JsonResult <POIBusiness> GetPoiInfo(string access_token, string poi_id)
        {
            string url = $"{Config.WxApi}cgi-bin/poi/getpoi?access_token={access_token}";
            var    obj = new
            {
                poi_id
            };

            return(WxAPI.RequestData <POIBusiness>(url, obj, Method.POST));
        }
示例#19
0
        /// <summary>
        /// Code解码接口
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="encrypt_code">经过加密的Code码</param>
        /// <returns>data字段为解密后获取的真实Code码</returns>
        public JsonResult <string> DecryptCode(string access_token, string encrypt_code)
        {
            var obj = new
            {
                encrypt_code
            };
            string url = $"{Config.WxApi}card/code/decrypt?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#20
0
        /// <summary>
        /// 在腾讯地图中搜索门店
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="districtid">对应 拉取省市区信息接口 中的id字段</param>
        /// <param name="keyword">搜索的关键词</param>
        /// <returns></returns>
        public JsonResult <POIMapInfo> GetMapPoi(string access_token, int districtid, string keyword)
        {
            string url = $"{Config.WxApi}wxa/search_map_poi?access_token={access_token}";
            var    obj = new
            {
                districtid,
                keyword
            };

            return(WxAPI.RequestData <POIMapInfo>(url, obj, Method.POST));
        }
示例#21
0
        /// <summary>
        /// 获取门店信息列表
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="offset">获取门店列表的初始偏移位置,从0开始计数</param>
        /// <param name="limit">获取门店个数</param>
        /// <returns></returns>
        public JsonResult <List <POIBusiness> > MiniprogramGetPoiList(string access_token, int offset, int limit)
        {
            string url = $"{Config.WxApi}wxa/get_store_list?access_token={access_token}";
            var    obj = new
            {
                offset,
                limit
            };

            return(WxAPI.RequestData <List <POIBusiness> >(url, obj, Method.POST));
        }
示例#22
0
        /// <summary>
        /// 使用授权码获取授权信息
        /// </summary>
        /// <param name="component_access_token">第三方平台 access token</param>
        /// <param name="component_appid">第三方平台 appid</param>
        /// <param name="authorization_code">授权码, 会在授权成功时返回给第三方平台</param>
        /// <returns></returns>
        public JsonResult <AuthorizationInfo> GetAuthInfoByAuthCode(string component_access_token, string component_appid, string authorization_code)
        {
            string url = $"{Config.WxApi}cgi-bin/component/api_query_auth?component_access_token={component_access_token}";
            var    obj = new
            {
                component_appid,
                authorization_code
            };

            return(WxAPI.RequestData <AuthorizationInfo>(url, obj, Method.POST));
        }
示例#23
0
        /// <summary>
        /// 修改门店小程序信息
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="headimg_mediaid">门店头像的临时素材mediaid,如果不想改,参数传空值</param>
        /// <param name="intro">门店小程序的介绍,如果不想改,参数传空值</param>
        /// <returns></returns>
        public JsonResult UpdatePoiMiniprogram(string access_token, string headimg_mediaid, string intro)
        {
            string url = $"{Config.WxApi}wxa/modify_merchant?access_token={access_token}";
            var    obj = new
            {
                headimg_mediaid,
                intro
            };

            return(WxAPI.RequestData <JsonResult>(url, obj, Method.POST));
        }
示例#24
0
        /// <summary>
        /// 长链接转短链接
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="long_url">需要转换的长链接,支持http://、https://、weixin://wxpay 格式的url</param>
        /// <returns>data字段为short url</returns>
        public JsonResult <string> ToShortUrl(string access_token, string long_url)
        {
            string url = $"{Config.WxApi}cgi-bin/shorturl?access_token={access_token}";
            var    obj = new
            {
                action = "long2short",
                long_url
            };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#25
0
        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="menu">创建菜单数据</param>
        /// <param name="rule">个性化菜单匹配规则</param>
        /// <returns></returns>
        public JsonResult <string> CreateMenu(string access_token, IEnumerable <MenuData> menu, MenuMatchRule rule)
        {
            var obj = new
            {
                button    = menu,
                matchrule = rule
            };
            string url = $"{Config.WxApi}cgi-bin/menu/addconditional?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#26
0
        /// <summary>
        /// 创建门店
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="base_info">门店数据</param>
        /// <returns>data字段为poi_id</returns>
        public JsonResult <string> CreatePoi(string access_token, POIInfo base_info)
        {
            string url = $"{Config.WxApi}cgi-bin/poi/addpoi?access_token={access_token}";
            var    obj = new
            {
                business = new
                {
                    base_info
                }
            };

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#27
0
        /// <summary>
        /// 创建卡券
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="card_type">卡券类型</param>
        /// <param name="data">卡券数据</param>
        /// <returns>data字段为card_id</returns>
        public JsonResult <string> CreateCard(string access_token, string card_type, BaseCard data)
        {
            DynamicDictionary dic = new DynamicDictionary();

            dic.SetMember("card_type", card_type?.ToUpper());
            dic.SetMember(card_type?.ToLower(), data);
            var obj = new
            {
                card = dic.GetMembers()
            };
            string url = $"{Config.WxApi}card/create?access_token={access_token}";

            return(WxAPI.RequestData <string>(url, obj, Method.POST));
        }
示例#28
0
        /// <summary>
        /// 下架-礼品卡货架
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="page_id">需要下架的page_id</param>
        /// <param name="maintain"></param>
        /// <param name="all">所有的货架设置为下架</param>
        /// <returns></returns>
        public JsonResult <GiftCardShelvesControl> Obtained(string access_token, string page_id, bool maintain, bool?all)
        {
            DynamicDictionary dic = new DynamicDictionary();

            if (!string.IsNullOrEmpty(page_id))
            {
                dic.SetMember("page_id", page_id);
            }
            if (all != null)
            {
                dic.SetMember("all", all.Value);
            }
            dic.SetMember("maintain", maintain);
            string url = $"{Config.WxApi}card/giftcard/maintain/set?access_token={access_token}";

            return(WxAPI.RequestData <GiftCardShelvesControl>(url, dic.GetMembers(), Method.POST));
        }
        /// <summary>
        /// 批量获取用户基本信息,最多支持一次拉取100条。
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <param name="openid_list">openid 列表</param>
        /// <param name="lang">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语</param>
        /// <returns></returns>
        public JsonResult <List <UserInfo> > BatchGetUserInfo(string access_token, IEnumerable <string> openid_list, string lang = "zh_CN")
        {
            List <object> userList = new List <object>();

            foreach (var item in openid_list)
            {
                userList.Add(new { openid = item, lang = lang });
            }
            var obj = new
            {
                user_list = userList
            };

            string url = $"{Config.WxApi}cgi-bin/user/info/batchget?access_token={access_token}";

            return(WxAPI.RequestData <List <UserInfo> >(url, obj, Method.POST));
        }
        /// <summary>
        /// 获取公众号已创建的标签
        /// </summary>
        /// <param name="access_token">公众号access token</param>
        /// <returns></returns>
        public JsonResult <List <TagItem> > GetTagList(string access_token)
        {
            string url = $"{Config.WxApi}cgi-bin/tags/get?access_token={access_token}";

            return(WxAPI.RequestData <List <TagItem> >(url, null, Method.GET));
        }