FedEx

The FedEx integration is one of the most advanced integrations in UltraCart.  By configuring your FedEx API information, UltraCart will not only be able to estimate rates using the discounts that you have with FedEx, but also print domestic shipping labels directly to PDF. 

If you do not have complete product FedEx web service credentials on file, then UltraCart will only be able to obtain estimates limited to standard list rates for shipments originating in the US or destined for the US only.

FEDEX Credentials

There are two sets of API credentials required for the FEDEX API integration:

  1. "Sandbox " Test Credentials (Used to complete the Label Certification)
  2. Production Credentials 

The 4 API credentials are:

  1. Account Number (found on fedex.com in your account settings)
  2. Meter Number (found on fedex.com in your account settings)
  3. API Key (aka Client ID)
  4. Secret Key (aka Client Secret)

Obtaining Your Sandbox Test Credentials

Your test credentials are required to complete the Label printing certification step. 


To obtain your FEDEX Test API credentials:

  1. Register for a FedEx developer account if you do not already have one.
  2. Click on the "My Projects" link in the left menu.
  3. Click on the large orange "Create API Project" button.
  4. When the "Tell us about your API needs" popup displays, choose the option "I work for a company that Ships with FedEx and needs to integrate FedEx APIs into their system".
  5. On the Step 1 - Select API(s) for your project screen, select "Ship, Rate & Other APIs".
  6. Scrolling down on that same screen is a list of all APIs.  Check the "Rates and Transit Times API" and optionally (Ship API) if you will be printing labels as well.
  7. On the Step 2 - Configure project screen, give your project a name (does not matter to UltraCart) and select your country.  There are two options as well:
    1. Do you plan on shipping using FedEx SmartPost Returns - UltraCart does not support processing returns through the FedEx API.
    2. Do you plan on shipping using FedEx Freight LTL - select Yes or No depending on your need.
  8. On the Step 3 - Confirm details screen, check both boxes.
  9. When finished, you will be redirected to your Project screen where you will find your development API Key, Secret Key, and Account Number.   Record those values.

Obtaining Your Production API Credentials

  1. Visit the FedEx Developer Portal, then navigate:
    Menu → My Projects → Click on your project (create one if you do not have one)   Production Key tab ( this is at the top of the screen below "API Project overview")
  2. On the Configure Project screen, provide a Key name (UltraCart does not care about this name) and choose your Account Number to associated with the project.
  3. The next screen titled Production keys will display your API key and Secret key.   Record those safely, as you will not see the secret again.  You should also have your Shipping Account which is easily viewed from your project page at any time.

Now that we have our Test and Production API credentials, we can configure them within UltraCart.

Log into your UltraCart account, then navigate:

Main Menu → Configuration → (middle menu) Checkout → Shipping → (Middle Menu) Under "Carriers", click "FedEx"

The FedEx configuration shown below. Fill in your Test and Production Credentials:


Now that you have your Test and Production credentials saved, you'll need to complete the rest of the UltraCart FEDEX Configuration form.

General Settings

There are 5 general settings for the API:

  1. Web Service Environment (Choose either: Test or Production)
    *Select test during the Label Certification then switch to Production after the Label Certification step is completed.
  2. Sender Label Type: Choose "4x6" or "Half Sheet" and also optional setting "( packing slip with 4x6 label)"

    There are two types of labels that FedEx can print (half sheet and 4x6).  Most merchants get a Zebra LP2844 label printer and print the 4x6 labels.  The signature type option allows you to control how the customer will be required to sign for the package.  The label reference allows you to print custom fields 1-5 on the label.


  3. Signature Type: Choose "Indirect", "Direct", or "Adult"
  4. Include Clearance Entry Fee (Checkbox field)

Customs

FieldDescription
Include Clearance Entry FeeSelect this checkbox to include Clearance Entry Fee in the shipping cost presented to the customer during checkout.
Merchant Paid DutiesSelect this checkbox to designate duties to be paid by merchant.
Electronic Trade Docs (ETD)Select this checkbox to instruct FedEx to submit customs documents electronically. See ITN and the notes on screen for more details.
Hard CopySelect checkbox if using ETD, but still wish provide local copy of customs for printing.
LetterheadUpload your letterhead in either *.gif or *.png (Attention: Max Size for image 700x50 pixels.)
SignatureUpload your digital signature in either *.gif or *.png (Attention: Max Size for image 240x25 pixels.)

Completing the FedEx Label Certification Step

Most likely you'll want to take advantage of FedEx label printing directly within the UltraCart Shipping department.  This requires label certification from FedEx.

Direct your web browser to https://developer.fedex.com/api/en-us/certification.html

Work through the steps listed.  Step 1 and Step 2 will be completed during your rate estimation setup.


FedEx Freight

The new FedEx Freight configuration area will now allow your UltraCart account to pull rates directly from FedEx Freight. Theses settings will be different from the regular FedEx account. Please make sure you are not using the same credentials in both sections.


All Address fields must be provided for FedEx Freight. They will not estimate properly if all fields are not provided.


Once you have completed the setting for FedEx Freight you will still need to add the shipping methods for FedEx Freight within the Shipping Method configuration section.

Configure FedEx One Rate

To configure FedEx One Rate you need to take the following steps:

  1. Navigate to Main Menu > Configuration > Checkout > Shipping > Packages. From you you need to add in the FedEx One Rate Packages. You can do this one at a time or by clicking on the "Add FedEx One Rate Packages". This will add all the packages at once.

FEDEX API Troubleshooting

FedEx API Errors

Frequently Asked Questions

Q: We have configured the FEDEX API and we can print labels for domestic orders, but when we try printing the FEDEX labels for orders shipping via Fedex: Ground to Canada an error is "No domestic fedex orders were selected.", why is that?
 

A: The Fedex API integration Web Service Version 10 will only print orders shipping within the United States. For international delivery labels, change the Web Service Version to "26".   Note: As of June 1st, all web services will be retired.  So if you receive this error after that time and are using the latest FedEx REST API, please contact UltraCart Support.

Q: I have had my FEDEX credentials configured for a long time, but I am now getting an error when attempting to print a FEDEX label that I need to configure the FEDEX credentials, why am I suddenly encountering this error?
    

A: The UltraCart-FedEx  integration recently was updated to support FedEx One Rate. In this update, UltraCart made a change to the Label printing service so that the from address is calculated against the address configured within the shipping Distribution Center, instead of from the FedEx Sender Address details listed in the FEDEX API section. This change was made to prevent scenarios where the FedEx API Sender Address was configured differently than the DC address, which would potentially cause the printed labels to be generated from a different "from" address than the address used in the Shipping estimate the customer received during the checkout process.

To resolve this error, navigate to the shipping Distribution Center and update the address details in the top section of the DC editor to match the address configured in the FedEx API Sender Address:


      and 


Related Documents

https://www.fedex.com/us/developer/downloads/pdf/CertificationGuidelines.pdf

FedEx API Error Codes:
https://www.fedex.com/templates/components/apps/wpor/secure/fsms/pdf/100/FSMS_1061_TCR_Aug2010.pdf