Configuring FedEx API

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
  2. Meter Number
  3. Web Service Authentication Key
  4. Web Service Password

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. Login to your FedEx online account. 
  3. Visit FedEx Web Services Page --> FedEx Web Services --> Develop and Test --> Get your test key
  4. Complete the form and make sure you select "Global and US" , then accept the agreement to continue. 
    (If you're testing intra-country within European countries, select the right country in addtion to a US and Global account number.)
  5. Next:

  6. You'll be presented with Account Number, and Meter Number and Authentication Key
    Copy and save your credentials, you'll enter these into your UltraCart account in a little bit.
  7. Finally, check your email that is associated to your FedEx account.
    You should receive an email titled:"Your Developer Test Key Registration is complete"
    Copy and save your Test Password.

Obtaining Your Productions API Credentials

  1. Visit FedEx Web Services, then navigate:
    FedEx Web Services → Move to Production →  Get Production Key
  2. Fill out the presented forms, then accept the agreement to continue.
    See example form selections below:

  3. You'll be presented with the Production Authentication Key and Meter Number. Copy and save the credentials.
  4. Next, navigate to: 
    My Profile → Account Management
    Copy and save your Production Account Number.
  5. Finally, check your email that is associated to your FedEx account.
    You should receive an email titled:"Your developer Production Key Registration is complete"
    Copy and save your Production Password.

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

Log into your UltraCart account, then navigate:

Navigation

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.

  • For Web Service Version choose "26" from the drop down list
  • For Rating you'll choose between "List" (retail pricing) or "Discounted" (your negotiated rates)
  • Enter your Sender Address details
  • For Ground Economy (formerly SmartPost) Hub, enter your Hub ID.
  • Ground Economy (SmartPost) Rate < 1 LB (Checkbox field) select if you wish to apply SmartPost rate for packages that weight less than one pound.
  • Ground Economy (SmartPost) Ship > $100 (Fedex will only insure up to $100 with Ground Economy) (Checkbox field)
  • Ground Economy (SmartPost) Minimum Weight ____LB (Allows you to specify the minimum weight that Ground Economy Rate will be used for estimates.)

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. To enable FEDEX Label printing, navigate to the FEDEX configuration tab:

Navigation

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


  1. Scroll down the Test credentials column, to the blue button titled "Generate certification labels in test environment", then click the button.
  2. You'll be presented with a table of 10 label scenarios, click the button titled "stock test scenarios", then click the save button.
  3. Next, click the "Generate labels".
  4. Generate test labels within the FedEx test environment associated with the application and
    then submit the test labels to the FedEx label evaluation team(s) for approval.

    Note: The Bar Code Analysis group requires a three-business-day turnaround time for
    label evaluation.

    To avoid processing delays, follow the below best practices:
    Labels must be printed on the model printer that will be used in production. These labels
    must be scanned at a minimum resolution of 600 DPI to ensure clear images are available
    for the certification process. DO NOT SEND WEB SERVICES GENERATED FILES.
    • For thermal printers, the label image type must be requested in accordance with the
    printer model. Example: ZPLII for Zebra printers
    • Use the sender shipper/recipient address information when creating sample labels for
    evaluation. Only create sample labels for the specific services that are being applied for.
    • FedEx®
    Collect on Delivery (C.O.D.) label must also include the corresponding C.O.D.
    Return label.
    • FedEx International Express®
    shipments must also include the auxiliary/secondary Air
    Waybill (AWB) label.
    • Multi-piece shipments (MPS) must include one label for each package in the shipment.
    • Certain customized FedEx Ground Economy (formerly SmartPost®) labels require up to 72 hours for evaluation.
    • FedEx Freight® labels do not require evaluation.
    • Email the PDF and Label Cover sheet to: label@fedex.com

    Physical labels may be sent to:
    FedEx Services
    WTC – Business Solutions Testing
    10 FedEx Parkway
    2nd Floor Horizontal
    Collierville, TN 38017

    Note: If the scanned labels are without visible defects (such as lines going through the
    barcode, spots in the ink, or physical damage), then they may pass inspection and approval will
    be granted. However, if there are defects, physical copies will be requested.
    If sending physical labels, pay attention to print quality and accidental enlargement/shrinkage
    of labels (i.e. scaling). These are the top two reasons why labels do not pass the label evaluation
    process.
    Step 6. Label Evaluation
    The Bar Code Analysis group will evaluate the submitted test labels and approve or reject the
    labels. The Bar Code Analysis group will contact you regarding the approval or rejection of the
    submitted labels. If the labels are approved, continue to the next step. If the labels are rejected,
    correct the labels as instructed and resubmit them for approval.


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.

Web Service Version 26 required for Freight rate estimates. So, you'll need to first configure the regular FedEx API prior to configuring the FedEx Freight API.

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 > Then click on FedEx under Carriers. Then change the Web Services Version to Version 26. Then click save.
  2. 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".

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