I have setup FedEx as my shipping options and checked all the possible shipping methods to show up. When I test it on the cart page, only 6 of the options show up. I'm specifically trying to get FedEx SmartPost to show up.
I have gone to FedEx.com and checked the rates online and even run a few rate calculators and SmartPost shows up as an option. So, the account is set up correctly at FedEx.
When I un-check everything but SmartPost I get "Shipping options could not be loaded" on the shopping cart page after clicking "estimate shipping".
Does anyone know how I can get FedEx SmartPost to show up as a shipping option?
Also, I have selected both FedEx Ground Delivery and FedEx Ground Home Delivery so customers can choose between shipping to a residentail or business address. Yet, only one of the options shows up regardless of address or settings.
I don't think the nopC plugin supports it. Although the option is available in the config page, a SmartPost request requires additional elements (http://www.fedex.com/us/developer/product/WebServices/MyWebHelp/Transactions/WS/r_SmartPostRequestElements.html). The way the plugin works now (and is similar for UPS), is that it makes a "general" request (without specifying specific service types), and then when it gets all the results back, it just keeps the ones checked off in the config page. Since SmartPost requires additional elements, it may also require another independent rate request. Custom coding would be required to support it.
AM Is this something that will be resolved? We need to have access to all shipping options from shippers. I get much cheaper rates with SmartPost than ground and want to be able to provide this as an option to customers.
Anyone know if this is possible?
If not, can it be added as a work item?
Great! I hope it gets enough support to be added. Thanks again!
AM I was able to use your code to get the FedEx smart post rate response, however in order to get multiple FedEx rate options you need to make multiple requests with FedEx. I added a Boolean to your code and method which requires the GetShippingOptionResponse to make to two requests if the smart post is selected. Also note your FedEx account has to be activated with smart post otherwise you won't get a response or possibly an error. This is not a elegant fix, but I couldn't think of another way to make multiple requests using the same properties and methods.
SetShipmentDetails - Modification
if (_fedexSettings.CarrierServicesOffered != null && _fedexSettings.CarrierServicesOffered.Contains("SMART_POST") && smartPostRequest)
GetShippingOptionResponse - Modification
var request = CreateRateRequest(getShippingOptionRequest, out requestedShipmentCurrency, false);
var request2 = CreateRateRequest(getShippingOptionRequest, out requestedShipmentCurrency, true); // Inscio - JK
var service = new RateService(); // Initialize the service
service.Url = _fedexSettings.Url;
// This is the call to the web service passing in a RateRequest and returning a RateReply
var reply = service.getRates(request); // Service call
var reply2 = service.getRates(request2); // Inscio - JK 4/27/2016 Added Smart Post Request