FedEx Shipping Services
FedEx is a global courier delivery service company delivering goods in more than 220 countries and territories (i.e. all over the world).
In order to integrate with FedEx:
- Your products must have weights in kg/lbs in their product details – read more about weight here
- Orders must be created with a delivery zip, city and address specified
In this document, the basic setup for integrating Dynamicweb with FedEx is presented – if more extensive information about the FedEx shipping service is needed, please refer to the FedEx website and the FedEx technical documentation.
Tracking services and delivery time estimations are not a part of this integration.
You can use the FedEx Address Validation Service to validate Canadian, US and Puerto Rican addresses.
Creating a test account
To get started with using FedEx shipping services, please go to the FedEx Developer Resource Center and request a developer test key.
After you’ve successfully signed up for a developer test key, the following credentials will be mailed to you:
- A test Key
- A test Account
- A test Meter Number
- A test Password
For more details, see the FedEx migration guide.
Configuring the FedEx shipping provider
Once you’ve obtained your test credentials, you must configure your FedEx shipping provider in Dynamicweb.
To do so:
- Create or edit a shipping method in the Management Center > Ecommerce > Orders > Shipping following the regular procedure
- Select the FedEx (beta) shipping provider from the dropdown menu
- Fill in the necessary parameters (Figure 3.1)
You must:
- Enter a serviceURL – the url for testing is https://wsbeta.fedex.com:443/web-services/rate. When going live, you will replace this with the production url, which is https://ws.fedex.com:443/web-services/rate
- Enter your test credentials – which you obtained from FedEx; your key, account number, meter number and password (provided to you by email)
- Select the service type, drop-off type and packing type relevant to what you’re offering. Read much more about the different FedEx services in their service guide
- Enter the origin address details relevant to your test scenario – make sure your service type is available for the scenario, or things will break
- Check the Use Residential Rates and debug checkboxes if needed. The debug creates a log file of requests and responses in \System\Log\eCom\ShippingProvider\Dynamicweb.eCommerce.Cart.ShippingProviders.FedEx
Residential and commercial rates
FedEx operates with both commercial and residential rates. Commercial rates are usually cheaper than residential rates, but occasionally a customer will get quotes a commercial rate by mistake, and you will then have to eat the difference when it is discovered that the customer is not eligible for the commercial rate.
To avoid this, check the use residential rates checkbox to force the provider to always supply residential rates.
Testing
Before going live, test your setup thoroughly.
You may find these web service error messages useful.
Please ensure that your ServiceURL is the testing URL: https://wsbeta.fedex.com:443/web-services/rate
The following template tags are available from within the Shippingmethods loop, for testing purposes:
- Ecom:Cart.Shippingmethod.Error
Render any technical or incorrect settings errors, that are can happened during the rate calculation service requests. If any error is present, delivery price is not calculated (equal to 0) and order can’t be passed to the checkout step – because it doesn’t pass precheckout validation. - Ecom:Cart.Shippingmethod.Warning
Renders any non-critical messages, which does not prevent the calculation of the shipping rate; and other (potentially) unanticipated results that also occur.
Going live
Once you’ve finished testing your setup, you are ready to go live.
To do so:
- Replace your test credentials – meter number, authentication key and password – with a set of production credentials. You need a unique production meter number for each location you ship from, but your key and password can be used for multiple locations.
- Replace the test ServiceURL with the production ServiceURL: https://ws.fedex.com:443/web-services/rate