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
}