/// <summary> /// 下单XML /// </summary> /// <param name="entity"></param> /// <returns></returns> private static String GetOrderServiceRequestXml(SFDataEntity entity) { StringBuilder strBuilder = new StringBuilder(); strBuilder.Append("<Request service='OrderService' lang='zh-CN'>"); strBuilder.Append("<Head>" + ClientCode + "</Head>"); strBuilder.Append("<Body>"); strBuilder.Append("<Order").Append(" "); strBuilder.Append("orderid='" + entity.SFOrderId + "" + "'").Append(" "); //返回顺丰运单号 strBuilder.Append("is_gen_bill_no='1'").Append(" "); strBuilder.Append("express_type='6'").Append(" ");//express_type=6即日快 //寄件方信息 strBuilder.Append("j_company='" + entity.ShopName + "'").Append(" "); strBuilder.Append("j_contact='" + entity.SendRealName + "'").Append(" "); strBuilder.Append("j_tel='" + entity.SendTel + "'").Append(" "); strBuilder.Append("j_address='" + entity.SendAddress + "'").Append(" "); //收件方信息 strBuilder.Append("d_company='" + entity.ResvRealName + "'").Append(" "); strBuilder.Append("d_contact='" + entity.ResvRealName + "'").Append(" "); strBuilder.Append("d_tel='" + entity.ResvTel + "'").Append(" "); strBuilder.Append("d_address='" + entity.ResvAddress + "'").Append(" "); strBuilder.Append("parcel_quantity='" + entity.ParcelQuantity + "'").Append(" ");//包裹数量为不为1则返回子母单 strBuilder.Append("pay_method='" + entity.PayMethod + "'").Append(" "); if (entity.PayMethod == 1) { strBuilder.Append("custid='" + entity.SFYueJieCode + "'").Append(" "); } strBuilder.Append(" > "); //货物信息 strBuilder.Append("<Cargo").Append(" "); strBuilder.Append("name='" + entity.GoodsName + "'").Append(" "); strBuilder.Append("count='" + entity.GoodsNum + "'").Append(" "); strBuilder.Append("unit='个'").Append(">"); strBuilder.Append("</Cargo>"); //其他服务信息 具体代码看 4.2.6. 增值服务下单属性说明 if (!string.IsNullOrEmpty(entity.COD)) { strBuilder.Append("<AddedService").Append(" "); strBuilder.Append("name='COD'").Append(" "); //代收货款 strBuilder.Append("value='" + entity.COD + "'").Append(" "); //代收价格 strBuilder.Append("value1='" + entity.SFYueJieCode + "'").Append(">"); //代收卡号 strBuilder.Append("</AddedService>"); } if (!string.IsNullOrEmpty(entity.Insure))//此值不为空就说明保价了 { strBuilder.Append("<AddedService").Append(" "); strBuilder.Append("name='INSURE'").Append(" "); //保价服务 strBuilder.Append("value='" + entity.Insure + "'").Append(">"); //保值 strBuilder.Append("</AddedService>"); } strBuilder.Append("</Order>"); strBuilder.Append("</Body>"); strBuilder.Append("</Request>"); return(strBuilder.ToString()); }
/// <summary> /// 下单 返回订单号 /// </summary> /// <param name="entity"></param> /// <returns></returns> public static OrderResponse OrderSubmit(SFDataEntity entity) { string xml = GetOrderServiceRequestXml(entity); string verifyCode = MD5ToBase64String(xml + Checkword); string result = DoPost(requestUrl, xml, verifyCode);//这就得到了返回结果 SFExpressResponse response = XMLSerializer.DeserializeXML <SFExpressResponse>(result); if (response.Head == "OK") { return(response.Body.OrderResponse); } else { throw new Exception(response.ERROR.text ?? response.ERROR.code); } }