using APIForCustomer.Utility; using NetLibrary.Log; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using TPSVService; using System.Net; using System.IO; using NetLibrary.sflink; namespace NetLibrary.Express { public class sfApi { public string url{get;set;} /// /// 接入码 /// public string UserCode { get; set; } /// /// 校验码 /// public string CheckCode { get; set; } /// /// 语言 /// public string Lang { get; set; } public sfApi() { // url = "http://bsp-oisp.sf-express.com/bsp-oisp/ws/expressService?wsdl"; url = "http://ibu-ibse.sit.sf-express.com:1091/CBTA/ws/sfexpressService?wsdl"; Lang = "en"; } #region 顺丰E宝跟踪码申请 public string SendGoods(sf_Order model, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } if (string.IsNullOrEmpty(CheckCode) == true) { ErrorMessage = "校验码不能为空"; return null; } sf_OrderResult model2=GetOrderResult(model, out ErrorMessage); if (string.IsNullOrEmpty(ErrorMessage) == false) return ErrorMessage; //bool bk = OrderConfirm(model.Orderid, model2.mailno, 1, out ErrorMessage); //if (string.IsNullOrEmpty(ErrorMessage) == false) return ""; //if (bk == false) return ""; if (model2 != null && model2.mailno != "") { if (model.express_type == "10") { return model2.agent_mailno+","+model2.mailno; } else { return model2.mailno; } } else return ""; } public string SendGoods2(sf_Order2 model, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } if (string.IsNullOrEmpty(CheckCode) == true) { ErrorMessage = "校验码不能为空"; return null; } var sfmodel= GetOrderResult2(model, out ErrorMessage); if (string.IsNullOrEmpty(ErrorMessage) == false) return ErrorMessage; return sfmodel.mailno; } #endregion #region 顺丰欧美跟踪码申请 public string SendOU(sf_Order model, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } sf_OrderResult model2 = GetOrderResult(model, out ErrorMessage); if (string.IsNullOrEmpty(ErrorMessage) == false) return ErrorMessage; if (model2 != null && model2.mailno != "") { return model2.mailno; } else return ""; } #endregion #region 读取运单号 public sf_OrderResult GetOrderResult(sf_Order model, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } if (string.IsNullOrEmpty(CheckCode) == true) { ErrorMessage = "校验码不能为空"; return null; } //if (string.IsNullOrEmpty(url) == false) //obj.Url = this.url; ErrorMessage = ""; StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append("" + this.UserCode + "," + this.CheckCode + ""); sb.Append("" + model.ToXml() + ""); sb.Append(""); string data = sb.ToString(); string XmlContent = ""; try { //string url = "http://bsp-oisp.sf-express.com/bsp-oisp/ws/expressService?wsdl"; string url = "http://ibu-ibse.sit.sf-express.com:1091/CBTA/ws/sfexpressService?wsdl"; string name = "sfexpressService"; WebServiceProxy wsd; try { wsd = new WebServiceProxy(url, name); } catch (Exception ex) { throw new Exception("创建代理对象异常", ex); } //p.Country == "Russian Federation" //string suc = wsd.Execute(name, data); XmlContent = wsd.Execute(name, data);// obj.sfexpressService(data); } catch (Exception ex) { ErrorMessage = ex.Message; ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message); return null; } XmlContent = XmlContent.ToLower(); XElement doc = XElement.Parse(XmlContent); string head = CustomIO.GetXmlElement(doc, "head"); if (head == "err") { ErrorMessage = CustomIO.GetXmlElement(doc, "error"); return null; } doc = doc.Element("body").Element("orderresponse"); sf_OrderResult model2 = new sf_OrderResult(); model2.orderid = CustomIO.GetXmlAttribute(doc, "orderid"); model2.mailno = CustomIO.GetXmlAttribute(doc, "mailno"); model2.return_tracking_no = CustomIO.GetXmlAttribute(doc, "return_tracking_no"); model2.agent_mailno = CustomIO.GetXmlAttribute(doc, "agent_mailno"); model2.origincode = CustomIO.GetXmlAttribute(doc, "origincode"); model2.destcode = CustomIO.GetXmlAttribute(doc, "destcode"); model2.filter_result = CustomIO.GetXmlAttribute(doc, "filter_result"); model2.remark = CustomIO.GetXmlAttribute(doc, "remark"); return model2; } #endregion #region 读取运单号 public sf_OrderResult GetOrderResult2(sf_Order2 model, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } if (string.IsNullOrEmpty(CheckCode) == true) { ErrorMessage = "校验码不能为空"; return null; } //if (string.IsNullOrEmpty(url) == false) // obj.Url = this.url; ErrorMessage = ""; StringBuilder sb = new StringBuilder(); // sb.Append(""); sb.Append(""); sb.Append("" + this.UserCode+""); sb.Append("" + model.ToXml() + ""); sb.Append(""); string xml = sb.ToString(); string XmlContent = ""; try { string check_word = CheckCode; string verifyCode = MD5Base64(xml + check_word); //example format: ODA4RUExMzFDRDRFM0ZFOThFOTUwQjAyNDgyOERGNjQ= SfexpressServiceClient service = new SfexpressServiceClient(); //service.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://ibu-ibse.sit.sf-express.com:1091/CBTA/ws/sfexpressService?wsdl"); //string name = "sfexpressService"; //WebServiceProxy wsd; //try //{ // wsd = new WebServiceProxy(url, name); //} //catch (Exception ex) //{ // throw new Exception("创建代理对象异常", ex); //} XmlContent = service.sfexpressService(xml, verifyCode); XmlContent = XmlContent.ToLower(); XElement doc = XElement.Parse(XmlContent); string head = CustomIO.GetXmlElement(doc, "head"); if (head == "err") { XElement doc3 = doc.Element("error"); string code = CustomIO.GetXmlAttribute(doc3, "code"); ErrorMessage ="错误代码:"+code+","+CustomIO.GetXmlElement(doc, "error"); return null; } doc = doc.Element("body").Element("orderresponse"); sf_OrderResult model2 = new sf_OrderResult(); model2.orderid = CustomIO.GetXmlAttribute(doc, "orderid"); model2.mailno = CustomIO.GetXmlAttribute(doc, "mailno"); // model2.return_tracking_no = CustomIO.GetXmlAttribute(doc, "return_tracking_no"); model2.agent_mailno = CustomIO.GetXmlAttribute(doc, "agent_mailno"); model2.skybill_code = CustomIO.GetXmlAttribute(doc, "skybill_code"); //model2.destcode = CustomIO.GetXmlAttribute(doc, "destcode"); //model2.filter_result = CustomIO.GetXmlAttribute(doc, "filter_result"); //model2.remark = CustomIO.GetXmlAttribute(doc, "remark"); return model2; //return response; } catch (Exception ex) { ErrorMessage = ex.Message; return null; // return ex.Message; } return null; //try //{ // //string url = "http://bsp-oisp.sf-express.com/bsp-oisp/ws/expressService?wsdl"; // string url = "http://ibu-ibse.sit.sf-express.com:1091/CBTA/ws/sfexpressService?wsdl"; // string name = "sfexpressService"; // WebServiceProxy wsd; // try // { // wsd = new WebServiceProxy(url, name); // } // catch (Exception ex) // { // throw new Exception("创建代理对象异常", ex); // } // //p.Country == "Russian Federation" // //string suc = wsd.Execute(name, data); // XmlContent = wsd.Execute(name, data);// obj.sfexpressService(data); //} //catch (Exception ex) //{ // ErrorMessage = ex.Message; // ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message); // return null; //} //XmlContent = XmlContent.ToLower(); //XElement doc = XElement.Parse(XmlContent); //string head = CustomIO.GetXmlElement(doc, "head"); //if (head == "err") //{ // ErrorMessage = CustomIO.GetXmlElement(doc, "error"); // return null; //} //doc = doc.Element("body").Element("orderresponse"); //sf_OrderResult model2 = new sf_OrderResult(); //model2.orderid = CustomIO.GetXmlAttribute(doc, "orderid"); //model2.mailno = CustomIO.GetXmlAttribute(doc, "mailno"); //model2.return_tracking_no = CustomIO.GetXmlAttribute(doc, "return_tracking_no"); //model2.agent_mailno = CustomIO.GetXmlAttribute(doc, "agent_mailno"); //model2.origincode = CustomIO.GetXmlAttribute(doc, "origincode"); //model2.destcode = CustomIO.GetXmlAttribute(doc, "destcode"); //model2.filter_result = CustomIO.GetXmlAttribute(doc, "filter_result"); //model2.remark = CustomIO.GetXmlAttribute(doc, "remark"); //return model2; } #endregion public static string MD5Base64(string input) { string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(input, "MD5"); byte[] by = System.Text.Encoding.UTF8.GetBytes(pwd); return Convert.ToBase64String(by); } #region 读取顺丰欧美运单号 public sf_OrderResult GetOrderResultOU(sf_Order model, out string ErrorMessage) { Lang = "zh-CN"; if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return null; } //if (string.IsNullOrEmpty(url) == false) //obj.Url = this.url; ErrorMessage = ""; StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append("" + this.UserCode + ""); sb.Append("" + model.ToOUXml() + ""); sb.Append(""); string data = sb.ToString(); string XmlContent = ""; try { XmlContent = RequestUtility.SubmitRequest(data.Replace("\r", "").Trim());//sfobj.sfexpressService(data, this.UserCode); } catch (Exception ex) { ErrorMessage = ex.Message; ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message); return null; } XmlContent = XmlContent.ToLower(); XElement doc = XElement.Parse(XmlContent); string head = CustomIO.GetXmlElement(doc, "head"); if (head == "err") { ErrorMessage = CustomIO.GetXmlElement(doc, "error"); return null; } doc = doc.Element("body").Element("orderresponse"); sf_OrderResult model2 = new sf_OrderResult(); model2.orderid = CustomIO.GetXmlAttribute(doc, "orderid"); model2.mailno = CustomIO.GetXmlAttribute(doc, "mailno"); model2.return_tracking_no = CustomIO.GetXmlAttribute(doc, "return_tracking_no"); model2.agent_mailno = CustomIO.GetXmlAttribute(doc, "agent_mailno"); model2.origincode = CustomIO.GetXmlAttribute(doc, "origincode"); model2.destcode = CustomIO.GetXmlAttribute(doc, "destcode"); model2.filter_result = CustomIO.GetXmlAttribute(doc, "filter_result"); model2.remark = CustomIO.GetXmlAttribute(doc, "remark"); return model2; } #endregion #region 发货确认 /// /// 发货确认 /// /// 订单号 /// 运单号 /// 1运单确认2消单 /// 错误消息 /// true成功false失败 public bool OrderConfirm(string orderid, string mailno, int dealttype, out string ErrorMessage) { if (string.IsNullOrEmpty(UserCode) == true) { ErrorMessage = "接入码不能为空"; return false; } if (string.IsNullOrEmpty(CheckCode) == true) { ErrorMessage = "校验码不能为空"; return false; } // if (string.IsNullOrEmpty(url) == false) obj.Url = this.url; ErrorMessage = ""; StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append("" + this.UserCode + "," + this.CheckCode + ""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); sb.Append(""); string data = sb.ToString(); string XmlContent = ""; try { // XmlContent = obj.sfexpressService(data); } catch (Exception ex) { ErrorMessage = ex.Message; ErrorFollow.TraceWrite(ex.TargetSite.Name, ex.StackTrace, ex.Message); return false; } XmlContent = XmlContent.ToLower(); XElement doc = XElement.Parse(XmlContent); string head = CustomIO.GetXmlElement(doc, "head"); if (head == "err") { ErrorMessage = CustomIO.GetXmlElement(doc, "error"); return false; } doc = doc.Element("body").Element("orderconfirmresponse"); string res_status = CustomIO.GetXmlAttribute(doc, "head"); if (res_status == "1") return false; return true; } #endregion public string PostXml(string url, string strPost) { string result = string.Empty; //Our postvars //ASCIIEncoding.ASCII.GetBytes(string str) //就是把字符串str按照简体中文(ASCIIEncoding.ASCII)的编码方式, //编码成 Bytes类型的字节流数组; // 要注意的这是这个编码方式,还有内容的Xml内容的编码方式,如果没有注意对应会出现文末的错误 byte[] buffer = Encoding.UTF8.GetBytes(strPost); StreamWriter myWriter = null; //根据url创建HttpWebRequest对象 //Initialisation, we use localhost, change if appliable HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url); //Our method is post, otherwise the buffer (postvars) would be useless objRequest.Method = "POST"; //The length of the buffer (postvars) is used as contentlength. //Set the content length of the string being posted. objRequest.ContentLength = buffer.Length; //We use form contentType, for the postvars. //Set the content type of the data being posted. objRequest.ContentType = "text/xml";//提交xml //objRequest.ContentType = "application/x-www-form-urlencoded";//提交表单 try { //We open a stream for writing the postvars myWriter = new StreamWriter(objRequest.GetRequestStream()); //Now we write, and afterwards, we close. Closing is always important! myWriter.Write(strPost); } catch (Exception e) { return e.Message; } finally { myWriter.Close(); } //读取服务器返回信息 //Get the response handle, we have no true response yet! //本文URL:http://www.bianceng.cn/Programming/csharp/201410/45576.htm HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse(); //using作为语句,用于定义一个范围,在此范围的末尾将释放对象 using (StreamReader sr = new StreamReader(objResponse.GetResponseStream())) { //ReadToEnd适用于小文件的读取,一次性的返回整个文件 result = sr.ReadToEnd(); sr.Close(); } return result; } } #region 订单 public class sf_Order { /// /// 客户订单号 /// public string orderid { get; set; } /// /// 快件产品类别1 标准快递2 顺丰特惠9 顺E宝平邮10 顺E宝挂号此处传产品代码 /// 目前支持如下 ///E1:顺丰国际小包平邮 ///E2: 顺丰国际小包挂号 ///E3: 顺丰国际电商专递 /// public string express_type { get; set; } /// /// 寄件方公司名称 /// public string j_company { get; set; } /// /// 寄件方联系人 /// public string j_contact { get; set; } /// /// 寄件方电话 /// public string j_tel { get; set; } /// /// 寄件方手机 /// public string j_mobile { get; set; } /// /// 寄件方详细地址 /// public string j_address { get; set; } /// /// 到件方公司名称,没有的话就传联系人名称 /// public string d_company { get; set; } /// /// 到件方联系人 /// public string d_contact { get; set; } /// /// 到件方联系电话 /// public string d_tel { get; set; } /// /// 到件方手机 /// public string d_mobile { get; set; } /// /// 到件方详细地址 /// public string d_address { get; set; } /// /// 包裹数 /// public int? parcel_quantity { get; set; } /// /// 付款方式:1:寄方付 2:收方付 3:第三方付 /// public int? pay_method { get; set; } /// /// 寄件方所在省份 /// public string j_province { get; set; } /// /// 寄件方所属城市名称 /// public string j_city { get; set; } /// /// 到件方所在省份 /// public string d_province { get; set; } /// /// 到件方所属城市名称 /// public string d_city { get; set; } /// /// 托寄物声明价值 /// public decimal? declared_value { get; set; } /// /// 托寄物声明价值币别:CNY: 人民币HKD: 港币USD: 美元NTD: 新台币RUB: 卢布EUR: 欧元MOP: 澳门元SGD: 新元JPY: 日元KRW: 韩元MYR: 马币VND: 越南盾THB: 泰铢AUD: 澳大利亚元MNT: 图格里克 /// public string declared_value_currency { get; set; } /// /// 月结卡号 /// public string custid { get; set; } /// /// 模板选择 /// public string template { get; set; } /// /// 寄方国家 /// public string j_country { get; set; } /// /// 寄件人所在县/区 /// public string j_county { get; set; } /// /// 寄件方代码 /// public string j_shippercode { get; set; } /// /// 寄方邮编 /// public string j_post_code { get; set; } /// /// 到方国家 /// public string d_country { get; set; } /// /// 到件人所在县/区 /// public string d_county { get; set; } /// /// 到件方代码 /// public string d_deliverycode { get; set; } /// /// 到方邮编 /// public string d_post_code { get; set; } /// /// 订单货物总重量 /// public decimal? cargo_total_weight { get; set; } /// /// 要求上门取件开始时间,格式:YYYY-MM-DD HH24:MM:SS,示例:2012-7-30 09:30:00,默认为系统收到订单的系统时间 /// public DateTime? sendstarttime { get; set; } /// /// 运单号 /// public string mailno { get; set; } /// /// 签回单单号 /// public string return_tracking { get; set; } /// /// 备注 /// public string remark { get; set; } /// /// 是否需要签回单号,1:需要 /// public string need_return_tracking_no { get; set; } /// /// 是否下call 1-下call,其他否SYSTEM表示如果不提供,将从系统配置获取 /// public string is_docall { get; set; } /// /// 是否申请运单号 1-申请运单号,其他否SYSTEM表示如果不提供,将从系统配置获取 /// public int? is_gen_bill_no { get; set; } /// /// 是否生成电子运单图片 1-生成,其他否SYSTEM表示如果不提供,将从系统配置获取 /// public int? is_gen_eletric_pic { get; set; } /// /// 图片格式:如果需要顺丰系统推送图片,则要传这个值。1:A42:A5 /// public int? waybill_size { get; set; } /// /// 长 /// public decimal? cargo_length { get; set; } /// /// 宽 /// public decimal? cargo_width { get; set; } /// /// 高 /// public decimal? cargo_height { get; set; } /// /// 物品信息 /// public List ListGoods { get; set; } /// /// 增值服务 /// public List ListService { get; set; } public sf_Order() { ListGoods = new List(); ListService = new List(); } #region 转成XML public string ToXml() { StringBuilder sb = new StringBuilder(); sb.Append(""); foreach (var item in this.ListGoods) { sb.Append(""); sb.Append(""); } //foreach (var item in this.ListService) //{ // sb.Append(""); // sb.Append(""); //} sb.Append(""); return sb.ToString(); } #endregion #region 欧美转成XML public string ToOUXml() { StringBuilder sb = new StringBuilder(); sb.Append(""); foreach (var item in this.ListGoods) { sb.Append(""); sb.Append(""); } sb.Append(""); return sb.ToString(); } #endregion } #endregion #region 订单 public class sf_Order2 { /// /// 客户订单号 /// public string orderid { get; set; } /// /// 快件产品类别1 标准快递2 顺丰特惠9 顺E宝平邮10 顺E宝挂号此处传产品代码 /// 目前支持如下 ///E1:顺丰国际小包平邮 ///E2: 顺丰国际小包挂号 ///E3: 顺丰国际电商专递 /// public string express_type { get; set; } /// /// 寄件方公司名称 /// public string j_company { get; set; } /// /// 寄件方联系人 /// public string j_contact { get; set; } /// /// 寄件方电话 /// public string j_tel { get; set; } /// /// 寄件方手机 /// public string j_mobile { get; set; } /// /// 寄件方详细地址 /// public string j_address { get; set; } /// /// 到件方公司名称,没有的话就传联系人名称 /// public string d_company { get; set; } /// /// 到件方联系人 /// public string d_contact { get; set; } /// /// 到件方联系电话 /// public string d_tel { get; set; } /// /// 到件方手机 /// public string d_mobile { get; set; } /// /// 到件方手机 /// public string d_email { get; set; } /// /// 操作表示(0.新增,1.新增并确认订单) /// public string operate_flag{ get; set; } /// /// 到件方详细地址 /// public string d_address { get; set; } /// /// 包裹数 /// public int? parcel_quantity { get; set; } ///// ///// 付款方式:1:寄方付 2:收方付 3:第三方付 ///// //public int? pay_method { get; set; } /// /// 寄件方所在省份 /// public string j_province { get; set; } /// /// 寄件方所属城市名称 /// public string j_city { get; set; } /// /// 到件方所在省份 /// public string d_province { get; set; } /// /// 到件方所属城市名称 /// public string d_city { get; set; } /// /// 寄方国家 /// public string j_country { get; set; } /// /// 寄方国家 /// public string j_post_code { get; set; } /// /// 到方国家 /// public string d_country { get; set; } /// /// 到方邮编 /// public string d_post_code { get; set; } /// /// 订单货物总重量,单位KG /// public decimal? cargo_total_weight { get; set; } /// /// 客户ERP的标识码 /// public string returnsign { get; set; } /// /// 月结卡号 /// public string pit_code { get; set; } /// /// 模板选择 /// public string length { get; set; } /// /// 模板选择 /// public string width { get; set; } /// /// 模板选择 /// public string height { get; set; } /// /// 寄件方代码 /// public string d_identify_code { get; set; } /// /// VAT税号 /// public string vat_code { get; set; } /// /// 是否有电,默认为空,有点则填写Y,不带电填写N(俄罗斯专递必填、其它选填) /// public string is_battery { get; set; } /// /// 保价服务 /// public string is_insurance { get; set; } /// /// 物品信息 /// public List ListGoods { get; set; } /// /// 增值服务 /// // public List ListService { get; set; } public sf_Order2() { ListGoods = new List(); // ListService = new List(); } #region 转成XML public string ToXml() { StringBuilder sb = new StringBuilder(); sb.Append(""); foreach (var item in this.ListGoods) { sb.Append(""); sb.Append(""); } //foreach (var item in this.ListService) //{ // sb.Append(""); // sb.Append(""); //} sb.Append(""); return sb.ToString(); } #endregion } #endregion #region 物品信息 public class sf_Goods { /// /// 货物名称 /// public string name { get; set; } //货物英文名 public string ename { get; set; } /// /// 货物数量 /// public int? count { get; set; } /// /// 货物单位 /// public string unit { get; set; } /// /// 货物单位重量 /// public decimal? weight { get; set; } /// /// 货物单价 /// public decimal? amount { get; set; } /// /// 货物单价的币别 /// public string currency { get; set; } /// /// 原产地国别 /// public string source_area { get; set; } } public class sf_Goods2 { /// /// 货物中文品名,用于海关申报 /// public string name { get; set; } /// /// 货物英文申报品名,用于海关申报 /// public string ename { get; set; } /// /// 海关编码,用于海关申报(顺丰国际电商专递欧洲流向必填、其它选填) /// public string hscode { get; set; } /// /// 货物数量 /// public Int32? count { get; set; } /// /// 货物单位默认为PCE /// public string unit { get; set; } /// /// 货物单位重量 /// public decimal? weight { get; set; } /// /// 货物单价默认为美元 /// public decimal? amount { get; set; } /// /// 配货备注 /// public string diNote { get; set; } /// ///配货名称 /// public decimal? diPickName { get; set; } } #endregion #region 服务名 public class sf_Service { /// /// 增值服务名 /// public string name { get; set; } /// /// 增值服务值1 /// public string value { get; set; } /// /// 增值服务值2 /// public string value1 { get; set; } /// /// 增值服务名3 /// public string value2 { get; set; } /// /// 增值服务名4 /// public string value3 { get; set; } /// /// 增值服务名5 /// public string value4 { get; set; } } #endregion #region 运单号分配 public class sf_OrderResult { /// /// 订单号 /// public string orderid { get; set; } /// /// 运单号,可多个单号,如子母件,以逗号分隔 /// public string mailno { get; set; } /// /// 签单返还运单号 /// public string return_tracking_no { get; set; } /// /// 代理运单号,可多个单号,如子母件,以逗号分隔 /// public string agent_mailno { get; set; } /// /// 原寄地代码 /// public string origincode { get; set; } /// /// 目的地代码 /// public string destcode { get; set; } /// /// 筛单结果:1-人工确认,2-可收派 3-不可以收派 /// public string filter_result { get; set; } /// /// 1-收方超范围,2-派方超范围,3-其他原因 /// public string remark { get; set; } public string skybill_code { get; set; } } #endregion }