using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Http; using Codeplex.Data; namespace Deepleo.Weixin.SDK.Card.Special { /// /// 特殊卡票接口=> 飞机票 /// 飞机票与其他卡券相比具有更强的时效性和特殊性,故机票生成后无需经过微信审核,即时生效。 /// 机票使用场景主要分为以下两种: /// 1、通过微信购买后直接添加至卡包,可值机时段由卡包在线办理登机牌。 /// 2、在微信商户(一般为航空公司)公众号内完成值机后,添加至微信卡包。 /// 第一种场景:用户点击商户H5页面“添加至卡包”的JSAPI(2.2添加到卡包JSAPI)后,商户根据用户机票信息,调用接口创建卡券(1.1创建卡券接口),获取card_id后, /// 将机票下发给用户。在可值机时段,用户点击商户指定的URL在线办理登机牌。办理成功后,商户调用选座接口(6.3.1在线选座接口),将值机信息同步。 /// 第二种场景:用户点击商户H5页面提供的JSAPI(2.2添加到卡包JSAPI)后,商户根据用户机票信息,调用接口生成卡券(1.1创建卡券接口),获取card_id后,将机票下发 /// 给用户。并立即调用选座接口(6.3.1.在线选座接口),将值机信息同步。 /// public class AirTickectAPI { /// /// 更新电影票 /// 领取电影票后通过调用“更新电影票”接口update电影信息及用户选座信息。 /// /// /// /// { ///"code":"198374613512", ///"card_id":"p1Pj9jr90_SQRaVqYI239Ka1erkI", ///"passenger_name":"乘客姓名",//乘客姓名,上限为15个汉字。 ///"class":"舱等",//舱等,如头等舱等,上限为5个汉字。 ///"seat":"座位号",//乘客座位号。 ///"etkt_bnr":"电子客票号",//电子客票号,上限为14个数字 ///"qrcode_data":"二维码数据",//乘客用于值机的二维码字符串,微信会通过此数据为用户生成值机用的二维码。 ///"is_cancel ":false//填写true或false。true代表取消,如填写true上述字段(如calss等)均不做判断,机票返回未值机状态,乘客可重新值机。默认填写false /// } /// /// /// { ///"errcode":0, ///"errmsg":"ok" ///} /// public static dynamic CheckinBoardingPass(string access_token, dynamic tickect) { var url = string.Format("https://api.weixin.qq.com/card/boardingpass/checkin?access_token={0}", access_token); var client = new HttpClient(); var result = client.PostAsync(url, new StringContent(DynamicJson.Serialize(tickect))).Result; if (result.IsSuccessStatusCode) return string.Empty; return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result); } } }