/// <summary> /// 订单筛选接口,客户系统通过此接口向顺丰系统发送主动的筛单请求,用于判断客户的收、派地址是否属于顺丰的收派范围。 /// <para> /// 详细说明请查看丰桥API说明<seealso cref="https://qiao.sf-express.com/pages/developDoc/index.html?level2=226758"/> /// </para> /// </summary> /// <param name="expressOrderQuery">快递订单搜索对象</param> /// <param name="saveRequestXmlAction">落地请求报文的委托</param> /// <param name="saveResponseXmlAction">落地响应报文的委托</param> /// <returns>返回地址的筛选结果</returns> public async Task <ExpressOrderFilterResult> OrderFilterAsync(ExpressOrderFilter expressOrderFilter, Action <string> saveRequestXmlAction = null, Action <string> saveResponseXmlAction = null) { var request = new Request <OrderFilterRequestBody>(new OrderFilterRequestBody(expressOrderFilter), options.ClientCode); string xmlContent = request.ToXml(); saveRequestXmlAction?.Invoke(xmlContent); var responseStr = await httpClient.PostAsync(xmlContent, BuidVerifyCode(xmlContent)); saveResponseXmlAction?.Invoke(responseStr); if (responseStr.IsNullOrWhiteSpace()) { return(null); } Response <OrderFilterResponseBody> orderResponse = new Response <OrderFilterResponseBody>() { Body = new OrderFilterResponseBody() }; orderResponse.Fill(responseStr.ToXmlDocument()); if (orderResponse.Error != null) { throw SFExpressException.ThrowException(orderResponse.Error); } return(orderResponse.Body.Result); }
public OrderFilterRequestBody(ExpressOrderFilter expressOrderFilter) { Data = expressOrderFilter; }