新普金娱乐网址


地理大英帝国病人

(言情)黄土白骨,我凑你百春无忧(2)

地理C#开发微信门户及运用(36)–微信卡劵管理之包裹操作

  • 十二月 19, 2018
  • 地理
  • 没有评论

咱精晓,微信公众号及供销社号还提供了一个官方的Web后台,方便我们针对微信账号的布局,以及有关数据的管住职能,对于微信公司号以来,有报导录中的团体架构管理、标签管理、人士管理、以及音讯之发送等效果,其中微信集团号的社架构和标签可以添加相应的人口,音讯发送可以涵盖文本、图片、语音、视频、图文、文件等情节。对于商家号吧,官方的接口几乎可无限的出殡音讯,由此构建一个管理后台,管理公司号的人口,以及因而来让庄成员发送音信就是一个不行好之意义亮点,有时候可以增强大家商家内部的音报道效能与一般性工作管理效用。本文探索依照Winform的客户端情势来落实这些意义操作。

前边几篇介绍了微信支付点的情节,本篇继续微信接口的片别方的始末:卡劵管理。卡劵管理是微信接口里面异常复杂的一个局部,里面的接口相当多,我花费了不少时针对其举行了打包处理,重构优化等等工作,卡劵在营销方面是一个相比好之路子,可以利用在会员管理、店铺打折等地方的位移,可是万层高楼于底起,我们需要将卡劵管理之系接口夯实完善,才可以当其的根基及进展更进一步的以操作。

1、公司号参数的布处理

俺们精晓,微信(包括公众号、集团号当)的服务器架于了客户手机和开发者服务器的一个桥梁,通过音信之传递及应,实现了与用户的互动操作,下边是它们的音讯流程图。

地理 1

因而,在利用好布置的微信网站系统前,需要登陆微信官后台开头化一些信息,并收获相应的参数设置,通过这么些参数音信,在好之网站体系中进行配备,才可以构建一个完好无缺的链路,实现音讯之传递及应。

当我们配备好【开发者服务器】的劳务和【微信服务器】的连结后,我们啊即兑现了主导的音讯交互过程了。这样大家虽可以配备好店号客户端举办利用了。

1)网站系统参数配置

大家为了贯彻消息的链路,需要在网站体系里面配备好相应的参数,这样我们才会拿微信官后台的回调形式成功。

第一登陆我们温馨【开发服务器】上之微信集团后台管理。

地理 2

地理 3

啊铺面号账号配置好相关的参数音信。

地理 4

重组微信服务器上的回调处理操作,完成全体网站参数的部署操作。

地理 5

地理 6

 

2)集团号客户端参数配置

在微信公司号客户端功效使用前,需要以【参数配置】里面配备好相应的参数音信,这样才可以正确和微信后台举行报道,获取服务器上的多寡。

地理 7

万一面客户端软件对话框的参数,除了用回调设置中的一些参数外,还得结合微信后台的组成部优异参数,这样大家才会配置好和微信服务器的联网操作。

地理 8

CorpID:唯一标识公司号:集团号开通后即有一个CorpID,不同集团号的CorpID是殊的,这一定给店号的地位标识;启动开发连接时,集团开发者必须先行用CorpID和Secret来换取Access_Token,之后才会调用集团号相关接口。

Secret:管理组凭证密钥,系统管理员在集团号管理后台创造管理组时,集团号后台为该管理组分配一个唯一的secret。通过该secret能够规定管理组,及管理组所兼有的指向下、通讯录、接口的走访权限。

 

1、微信卡券接口表达

微信卡券效用是腾讯为商提供的均等模仿完整的电子卡券解决方案,商户可每当律允许的限定外通过该意义实现电子卡券生成、下发、领取、核销的闭环,并运用对账、卡券管理等配套功效。微信卡券功能而分为API接口效用与群众平台卡券功用,使用简单种植力量全只是实现卡券生成、下发、领取、核销,有开意愿的商人可使用API接口效用,无开发意愿商户可应用公众平台卡券效率。

微信公众平台这一次增添了微信卡券功效,开放接口供公司以。
扶助开发者调用接口创制多体系型的卡券,通过发信息、二维码、JS-SDK等方法开展投放,在用户以时经API接口或卡券商户援手就核销。
同时扶助接口获取总括数据,以及各类环节给予开发者事件推送。 

脚下支撑优惠券(代金券、折扣券、礼品券、团购券)、会员卡、景点门票、电影票、飞机票、红包、会议门票等多卡券类型。
开发者可以经过卡券接口快捷完成制券、发券及销券流程:

1、创造卡券接口 开发者可通过该接口,创造卡券,导入/拉取卡券适用门店、获取卡券颜色列表。

2、卡券投放接口 开发者可通过该接口,生成卡券领取二维码,也只是在网页内调用JavaScript接口,指点用户领取卡券。

3、卡券核销接口

调用核销接口可对点名卡券进行核销。帮忙网页内调用JavaScript接口拉取卡券列表,用户接纳卡券后即可完成核销。

4、卡券管理接口 开发者可由此该接口,对曾开立的卡券举行查询、删除、更改、设置失效等操作。同时,在卡券通过核对、卡券被取、卡券被删去时,均会推送事件通报开发者。

5、特殊卡票接口 扶助特别卡票券(会员卡、电影票、飞机票、红包、会议门票)的适用场景,提供相应的接口能力,包括激活/绑定会员卡、会员卡交易、更新电影票、在线选座、更新红包余额、更新会门票等接口。

6、设置测试用户白名单 开发者可安装测试用户白名单,无论卡券是否经过查处均只是提卡券,测试整个卡券的行使流程。

为打探是卡劵的纷繁,大家先来瞧她的官的卡劵内容流程图

地理 9

这图里面涉及的情节多,同样卡劵管理的API接口也杀多,然则我们连希望化繁为简,由此我们得以一步步来打听任何卡劵的情节。

 

2、协会部门的治本功能

 我于小说《C#出微信门户及应用(17)-微信公司号的通讯录管理出的部门管理》里面介绍了店号社团单位的军事管制操作。

默认我们可于后台先成立一个根节点,然后在这么些节点上举行拍卖即可。

地理 10

介绍了那么多,好像还从未见这么些店铺号Winform客户端的界面效能,这儿软件重要也即便是应用来开展常规化的一些数码操作,可是大凡直接调用微信公司号API的机能而已,这一个API就是前面体系介绍的接口实现。

上边是商家号Winform客户端的界面,这么些重中之重运用我传统样式的Winform结构来处理,实现多文档的操作界面。

【协会机关列表】管理模块里面,会于树状列表中列有相关的通讯录社团结构,选用不同之公司层次,可以列出所属的照应人士,界面如下所示。

地理 11

经过地方的藏黄色框的职能操作,我们得观望协会部门的连带效用点,包括发生新建子部门、删除部门、修改部门,以及为机构贯彻之人士管理:添加成员、删除成员、修改成员、移动成员、禁用或者启用人员相当于力量,而左边部门的列表通过树形列表举办显示,这多少个操作全体凡从来调用API举办拍卖的,提交后底结果向来会以店铺号后台就看到。

那么些功效点,都是效仿商店号后台的效率点落实,不过大凡因Winform的点子,可以成本地的数码处理,实现更助长的界面及数量管理。

累加成员,则提供一个输入界面给用户填写对应的信息,效用实现的界面如下所示。

地理 12

只如果动成员,那么会弹来一个机构列表,供用户挑选要活动到实际的部门内部,确认后虽举行移动处理。

地理 13

 

2、卡劵的波通报

卡劵的相干事件,会由微信后台通知大家的劳务后台,因而大家可针对卡劵的创导、使用非凡各类方面都出相关的风波通报,大家于对应之波上实现我们的卡劵管理逻辑吗是老有益之。

下列有卡劵管理中的后台音讯通知分类。

地理 14

这多少个音信对应之风波,我们可以放请求的波类中,这样我们以集合调动用事件的时刻,就得本着她们开展分了。

 

地理 15

这般我们当微信信处理的入口,就可分级针对这个事件进行拍卖了。WeixinApiDispatch就是一个分发的管理类,它取请求音信的情,并构建不同门类的音信参数,传递让不同的响应函数举行拍卖,然后回来封装好之XML内容,作为响应。

切实的代码处理逻辑如下图所示。

地理 16

然大家当代码里面纵使可以对相应个事件展开处理了。

地理 17

里头我们注意到,我们本着卡劵的两样事件,把它们的轩然大波信息对象化后开展相应的拍卖的,如下代码所示。

                            case RequestEvent.card_pass_check:      //卡劵通过审核
                            case RequestEvent.card_not_pass_check:  //卡劵未通过审核
                                {
                                    // 卡券通过审核(或审核不通过)
                                    RequestEventCardCheck info = XmlConvertor.XmlToObject<RequestEventCardCheck>(postStr);
                                    if (info != null)
                                    {
                                    }
                                    LogTextHelper.Info(eventName + ((info == null) ? "info is null" : info.ToJson()));
                                }
                                break;

 

3、标签的治本效用

【标签列表】管理模块里面,在左手的树状列表中列有富有的可见标签,如果标签下有相应的机关集体或人士,那么会于列表中列有,具体界面如下所示。

拖欠模块包含的效能操作有:新建标签、删除标签、修改标签;添加标签成员、删除标签成员等操作。

地理 18

 标签的保管好粗略,紧如若维护一个近似组另外定义,我们得以新建、修改或去相应之标签。

地理 19

再者大家呢堪吗标签添加对应的机构、人士集结,添加标签成员操作实际如下所示。

地理 20

 

3、卡劵的归类和创建操作

1)卡劵分类

眼前介绍了,微信卡劵近年来支撑让利券(代金券、折扣券、礼品券、团购券)、会员卡、景点门票、电影票、飞机票、红包、会议门票等多卡券类型。我们在微信后台,可以手工创设打折卷,如下图所显示。

地理 21

鉴于各种卡劵之间的多少发生同样之片,也有一对的片段,我们得在类的层面上对她们举行不同的信息建模。

地理 22

俺们更来定义一个卡劵类型的枚举,方便我们在代码中运用,这一个枚举对象啊含有了咱眼前介绍到的这一个卡劵类型了。

    /// <summary>
    /// 卡券类型
    /// </summary>
    public enum CardType
    {
        /// <summary>
        /// 折扣券
        /// </summary>
        DISCOUNT = 0,
        /// <summary>
        /// 代金券
        /// </summary>
        CASH = 1,
        /// <summary>
        /// 礼品劵、兑换券
        /// </summary>
        GIFT = 2,
        /// <summary>
        /// 优惠券/通用券
        /// </summary>
        GENERAL_COUPON = 3,
        /// <summary>
        /// 团购券
        /// </summary>
        GROUPON = 4,

        /// <summary>
        /// 会员卡
        /// </summary>
        MEMBER_CARD = 5,
        /// <summary>
        /// 门票
        /// </summary>
        SCENIC_TICKET = 6,
        /// <summary>
        /// 电影票
        /// </summary>
        MOVIE_TICKET = 7,
        /// <summary>
        /// 飞机票
        /// </summary>
        BOARDING_PASS = 8,
        /// <summary>
        /// 红包
        /// </summary>
        LUCKY_MONEY = 9,
        /// <summary>
        /// 会议门票
        /// </summary>
        MEETING_TICKET = 10,
        /// <summary>
        /// 汽车票
        /// </summary>
        BUS_TICKET,
    }

是因为不同连串卡劵的信息不同,因而大家用封闭创制那些对应之卡劵类,以有利于构建对应的音讯用于成立操作。

 

4、信息的发送操作

【发送信息】效能模块,是得采取发送对象,包括组织单位、标签、人员都得以择;而音讯的发送内容,包括暴发字、图片、语音、视频、图文、文件等情节。

 地理 23

比方挑选人员是供一个多力量的精选界面,包括可选用部门、标签、人士,最后得透过【完成采取】重临接纳的靶子。

地理 24

选拔对象并录入对应的出殡内容后,单击【发送】举办音讯的殡葬处理,就可以以对应之积极分子手机上查占星最新的信息了,下边是一个接受到图片、文字的商号号界面。

另外如录像、语音等情节还要求达到传来服务器后以发送,发送处理操作一样,不以赘述。

地理 25

 

假定对这多少个《C#开微信门户及选择》体系感兴趣,可以关心自我的旁作品,连串小说如下所示:

C#付出微信门户及运用(25)-微信公司号的客户端管住力量

C#开微信门户及以(24)-微信小店货架新闻保管

C#付出微信门户及采取(23)-微信小店商品管理接口的包裹和测试

C#出微信门户及利用(22)-微信小店的开发和以

C#支出微信门户及以(21)-微信集团号的音信和波之接受处理以及解密 

C#开微信门户及接纳(20)-微信集团号的菜单管理

C#付出微信门户及运用(19)-微信公司号的信息发送(文本、图片、文件、语音、视频、图文消息等)

C#支出微信门户及下(18)-微信集团号的通讯录管理支付之成员管理

C#开微信门户及利用(17)-微信集团号的通讯录管理支付的部门管理

C#付出微信门户及以(16)-微信公司号的布置和行使

C#开微信门户及使用(15)-微信菜单增添扫一扫、发图片、发地理地点效率

 C#开发微信门户及用(14)-在微信菜单中选用重定向得到用户数量

C#支出微信门户及采用(13)-使用地理地点增添相关应用

C#出微信门户及应用(12)-使用语音处理

C#支付微信门户及运用(11)–微信菜单的有余表现形式介绍

C#开发微信门户及动(10)–在保管体系面临一头微信用户分组音信

C#支付微信门户及使用(9)-微信门户菜单管理及交至微信服务器

C#开发微信门户及运用(8)-微信门户应用管理序列功用介绍

C#开微信门户及动(7)-微信多客服效能及开并

C#付出微信门户及接纳(6)–微信门户菜单的田间管理操作

C#出微信门户及利用(5)–用户分组音信保管

C#支出微信门户及用(4)–关注用户列表及详细音讯管理

C#开发微信门户及下(3)–文本信及图文音讯的答疑

C#支付微信门户及使用(2)–微信音讯之处理同回答

C#付出微信门户及运用(1)–起先接纳微信接口

2)创造卡券

创设卡券的接口调用顺序

地理 26

中达成传图片,就是使用通用的图纸及传接口上传即可,上传后得到相应的图URL地址。

上传图片接口调用请求表明

HTTP请求方式: POST/FROM
URL:https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN

打折劵的背景象,在微信里有局部参阅色样,如下图所出示。

地理 27

开创卡券接口是微信卡券的根底接口,用于创制同接近新的卡券,获取card_id,创制成功并经审查后,商家可以经文档提供的别接口将卡券下发给用户,每一回成功取,库存数量相应扣除。

接口调用请求表明

HTTP请求方式: POST
URL: https://api.weixin.qq.com/card/create?access_token=ACCESS_TOKEN

 

参数表明

参数 是否必须 说明
access_token 调用接口凭证
POST数据 Json数据

 

 

 

几栽不同序列的卡劵,他们POST的JSON对象音讯依然无极端一致的,如团购劵的实体音讯如下所示。

 

团购券

参数名 必填 类型 示例值 描述
card_type string(24) GROUPON 团购券类型。
base_info JSON结构 见上述示例。 基本的卡券数据,见下表,所有卡券类型通用。
deal_detail string(3072) 双人套餐\n -进口红酒一支。\n孜然牛肉一份。 团购券专用,团购详情。

 

 

 

 

 

 

 

 

团购劵JSON示例

{
 "card": {
     "card_type": "GROUPON",
     "groupon": {
         "base_info": {
         ················
         },
          "advanced_info": {
         ················
          },
         "deal_detail": "示例"
     }
 }
}

 

倘代表金券提交的信如下所示。

代金券

参数名 必填 类型 示例值 描述
card_type string(24) CASH 代金券类型。
base_info JSON结构 见上述示例。 基本的卡券数据,见下表,所有卡券通用。
least_cost int 10000 代金券专用,表示起用金额(单位为分),如果无起用门槛则填0。
reduce_cost int 10000 代金券专用,表示减免金额。(单位为分)

 

 

 

 

 

 

 

 

代金券JSON示例

{
 "card": {
     "card_type": "CASH",
     "cash": {
         "base_info": {
         ················
         },
          "advanced_info": {
         ················
          },
         "least_cost": 1000,
         "reduce_cost": 100,
     }
 }
}

眼前另外几栽类型个卡劵也各有不同,不在一一赘述,可以见见各类种卡劵指导的信,有一对雷同,有一些不同,不过她创制卡劵的时刻,使用的凡与一个接口,那种接口情势在卡劵接口里面特别常见。

内部卡劵里面的base_info(卡券基础消息)字段-必填字段、base_info(卡券基础音讯)字段-非必填字段、Advanced_info(卡券高级信息)字段相比较复杂,具体要参考相关的字段表明列表。

 

始建卡劵的回来表明

数示例:

{
   "errcode":0,
   "errmsg":"ok",
   "card_id":"p1Pj9jr90_SQRaVqYI239Ka1erkI"
}

 

参数名 描述
errcode 错误码,0为正常。
errmsg 错误信息。
card_id 卡券ID。

 

 

 

 

4、创造卡劵的类定义和API封装

遵照这多少个音信,大家创制卡劵的时节,大家得以定义不同的音信实体,如下所示是卡劵基类和折扣劵的类定义音讯。

    /// <summary>
    /// 卡劵基类信息
    /// </summary>
    public class CardJson
    {
        /// <summary>
        /// 基础信息
        /// </summary>
        public CardBaseInfo base_info { get; set; }

        /// <summary>
        /// 高级字段
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public CardAdvanceInfo advanced_info{ get; set; }
    }

    /// <summary>
    /// 折扣券数据
    /// </summary>
    public class DisCountCardJson : CardJson
    {
        /// <summary>
        /// 折扣券专用,表示打折额度(百分比)。填30就是七折。
        /// </summary>
        [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
        public int discount { get; set; }
    }

别卡劵的音讯为是近乎,依据需要扩充即可,如会员卡的信息,我们好遵从点的存续关系举行字段的互补即可。

    /// <summary>
    /// 会员卡的详细信息,是CardDetailJson的子类
    /// </summary>
    public class MemberCardJson : CardJson
    {
        /// <summary>
        /// 显示积分,填写true或false,如填写true,积分相关字段均为必填。
        /// </summary>
        [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
        public bool supply_bonus { get; set; }

        /// <summary>
        /// 是否支持储值,填写true或false。如填写true,储值相关字段均为必填。
        /// </summary>
        [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
        public bool supply_balance { get; set; }

        /// <summary>
        /// 特权说明
        /// 非必填
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string prerogative { get; set; }

        /// <summary>
        /// 设置为true时用户领取会员卡后系统自动将其激活,无需调用激活接口
        /// </summary>
        [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
        public bool auto_activate { get; set; }

        /// <summary>
        /// 设置为true时会员卡支持一键激活,不允许同时传入activate_url字段,否则设置wx_activate失效。
        /// 非必填
        /// </summary>
        [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
        public bool wx_activate { get; set; }

        ..........

还发出其他体系的数,如会议卡劵,电影卡劵消息等类库也一样处理,其他的依那些规则增加即可。

    /// <summary>
    /// 会议门票数据
    /// </summary>
    public class MettingTicketJson : CardJson
    {
        /// <summary>
        /// 会议详情
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string meeting_detail { get; set; }

        /// <summary>
        /// 会场导览图
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string map_url { get; set; }
    }

    /// <summary>
    /// 门票数据
    /// </summary>
    public class ScenicTicketJson : CardJson
    {
        /// <summary>
        /// 票类型,例如平日全票,套票等
        /// 非必填
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string ticket_class { get; set; }
        /// <summary>
        /// 导览图url
        /// 非必填
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string guide_url { get; set; }
    }

有矣这一个信,我们就得透过合并的接口函数举办卡劵的始建操作了。

地理 28

在贯彻函数的末梢,我们尽管是调用接口的URL,提交相应的数码就好了

            var url = string.Format("https://api.weixin.qq.com/card/create?access_token={0}", accessToken);
            var result = JsonHelper<CardCreateResultJson>.ConvertJson(url, cardData);
            return result != null ? result.card_id : null;

 

倘诺对这么些《C#付出微信门户及动》连串感兴趣,可以关注自我的旁随笔,连串小说如下所示:

C#支付微信门户及使用(36)–微信卡劵管理之卷入操作

C#开发微信门户及运用(35)–微信支付的局会封装操作

C#支付微信门户及动(34)–微信裂变红包

C#付出微信门户及采用(33)–微信现金红包的卷入及使用

C#开微信门户及运用(32)–微信支付接入和API封装使用

C#付出微信门户及以(31)–微信语义了解接口的兑现和处理

C#开微信门户及接纳(30)–音的群发处理及预览效能

C#付出微信门户及利用(28)–微信“摇一摇·周边”功能的运用以及接口的落实

C#开微信门户及以(27)-公众号模板音信管理 

C#支出微信门户及下(26)-公众号微信资料管理

C#出微信门户及应用(25)-微信集团号的客户端管住效果

C#支出微信门户及用(24)-微信小店货架信息保管

C#开发微信门户及动(23)-微信小店商品管理接口的包和测试

C#支付微信门户及使用(22)-微信小店的开同应用

C#付出微信门户及运用(21)-微信集团号的信及事件的接受处理同解密 

C#支付微信门户及动(20)-微信集团号的菜谱管理

C#开发微信门户及应用(19)-微信集团号的信发送(文本、图片、文件、语音、视频、图文消息等)

C#支出微信门户及以(18)-微信公司号的通讯录管理支付之成员管理

C#开微信门户及采纳(17)-微信公司号的通讯录管理支付的部门管理

C#付出微信门户及利用(16)-微信公司号的安排和用

C#开微信门户及以(15)-微信菜单扩充扫一扫、发图、发地理地方功效

C#开发微信门户及使用(14)-在微信菜单中运用重定向得到用户数量

C#支付微信门户及运用(13)-使用地理地方扩张相关以

C#付出微信门户及动(12)-使用语音处理

C#开微信门户及采用(11)–微信菜单的多展现方法介绍

C#付出微信门户及利用(10)–在保管网中同步微信用户分组信息

C#开微信门户及以(9)-微信门户菜单管理及交到微信服务器

C#付出微信门户及选拔(8)-微信门户应用管理网机能介绍

C#出微信门户及应用(7)-微信多客服功效及开销并

C#支出微信门户及用(6)–微信门户菜单的保管操作

C#开发微信门户及动(5)–用户分组音信保管

C#开微信门户及使用(4)–关注用户列表及详细音信管理

C#付出微信门户及利用(3)–文本信和图文消息之对答

C#出微信门户及以(2)–微信音讯之处理同应

C#支出微信门户及下(1)–开端下微信接口

 

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图