Skip to main content

Creating FedEx Tracking API Credentials

Create a FedEx Developer Portal project with the Track API and connect it to Package Tracking in the Zembula platform

Written by Carl Thorner

Using a different carrier? See Package Tracking.

Introduction

Zembula connects to FedEx through a project that you create on the FedEx Developer Portal, with FedEx's Track API added. Zembula uses it only to look up tracking numbers. It never creates shipments or changes anything in your FedEx account.

This guide covers creating the project, copying its keys, and connecting them in the Zembula platform. You enter the keys in Zembula yourself.

Who can do this

In FedEx, you need a FedEx user ID to sign in to the FedEx Developer Portal, and a FedEx shipping account number. FedEx uses the account number to move your project to production. You also type it in Zembula when you connect FedEx.

In Zembula, only account Admins can connect FedEx. Other users can open the Package Tracking page, but they can't change it.

Before you go live

Each time an image with FedEx tracking loads, Zembula can ask FedEx for the latest scans. So each email open can use one FedEx tracking call.

FedEx sets these limits for each project:

  • Daily quota: 100,000 tracking requests a day by default. It resets at 12:00 AM GMT.

  • Rate limit: 1,400 calls in each 10-second window.

FedEx also sets a daily quota for your whole FedEx organization, across all its projects. When a limit is reached, FedEx refuses the call and the image can't show tracking for that load. Make sure these limits cover the opens you expect before a large send.

Create the project

  1. Sign in to the FedEx Developer Portal with your FedEx user ID.

  2. If your company already has an organization on the portal, ask its administrator to invite you. Otherwise, select My Projects, then Create an organization. For I work for a company that, choose Ships with FedEx and needs to integrate FedEx APIs into their own applications. Enter your company details and select Create.

  3. Add your shipping account: select Add shipping accounts on the Add accounts tile, then + Add Account. Enter your FedEx account number, a nickname and the billing address of the account, and accept the End User License Agreement.

  4. From the menu, select My Projects, open the APIs tab and choose + Create API Project.

  5. Select the Track API. FedEx's API Catalog calls it Basic Integrated Visibility.

  6. Name the project, select the countries you ship to, and accept the terms and conditions.

Copy the credentials

Open My Projects, select your project, and select the Production key tab. Copy the production API Key and Secret Key.

FedEx shows the production Secret Key only once. If you lose it, regenerate it on the project's overview page, then paste the new one in Zembula.

Use the production key, not the test key. FedEx's test key is for its test environment, and Zembula calls FedEx's production API.

Keep the Secret Key private. Don't send it by email or chat. You enter it yourself in the Zembula platform in the next step.

Connect FedEx in Zembula

  1. In the Zembula platform, open Data Sync → Integrations and select the Data integrations tab.

  2. Click Set up on the Package Tracking tile. If Package Tracking is already set up, the button reads Open instead.

  3. If Package Tracking is off, click Turn on. The page shows Setting up the builder source… and then Use INTERFACES › Package Tracking in the builder.

  4. Under Carriers, click Add on the FedEx row.

  5. The FedEx row lists API Key and Secret Key. Click Paste a key next to API Key. The Paste your FedEx keys dialog opens.

  6. The dialog has three fields: API Key, Secret Key and fedex account number. Paste the API Key and the Secret Key into the fields with their names. Type your 9-digit FedEx account number in fedex account number. FedEx tracking doesn't run without it.

  7. Click Connect.

The button reads Verifying… while Zembula saves your keys. The FedEx row then reads Connected — starts answering within the hour.

If the account number is missing, Zembula skips FedEx and nothing tracks. The Status section then reads Skipped: FedEx (missing Account number). To add it, type the number in the Account number field on the FedEx row.

Zembula doesn't test your keys with FedEx when you connect. A wrong key shows up later as missing tracking. Check it with Try it below.

If order data is live for Package Tracking, the FedEx row reads Connected — waiting: carriers and order data can't run together until the next release. To switch, click Use FedEx instead. This turns order data off and FedEx on. Content that sends only an order ID then shows your fallback.

Try it

Add INTERFACES › Package Tracking to a draft image in the builder, turn on Simulate, and preview it with a FedEx tracking number. If a number you know is real shows no tracking, check the keys and replace them if needed.

A new package can take up to 24 hours to show up in FedEx tracking, so test with a package FedEx already has.

The Status section at the bottom of the Package Tracking page also lists anything that needs attention.

Using FedEx in your content

Send each shipment's tracking number in tracking_number and its carrier in carrier. Zembula doesn't work out the carrier from the tracking number, so always send the carrier.

Any carrier value that contains fedex or federal goes to FedEx, in any case. For example: FedEx, fedex, FEDEX_GROUND, FedEx Home Delivery or Federal Express.

Send the tracking number as text, not as a number. Some FedEx numbers, such as FedEx Ground Economy, are 20 to 22 digits, too long to send as a number. Zembula removes any spaces in the number for you.

What shoppers see

  • Status: the stage of the latest scan FedEx reports when the image loads, such as Label Created, In Transit, Out for Delivery or Delivered. A FedEx scan Zembula can't classify reads In Transit.

  • Estimated delivery: FedEx's estimate, when FedEx gives one. When FedEx gives a delivery window, the image shows the end of the window, labelled Estimated Delivery By. FedEx gives an estimate only once it has the package. After delivery it reads Delivered, with the delivery time. A returned or failed shipment shows no estimate.

  • Tracking link: the package's page on fedex.com.

  • Manage delivery link: none. Tracking.manage_delivery_url stays empty for FedEx.

  • Action link: when the latest scan asks the shopper to contact FedEx, Tracking.Activities.Current.ActionRequired.action_url uses the link in FedEx's own message, or FedEx's Call us page when the message has none. After a missed delivery, it uses the link in FedEx's own message when there is one. Otherwise it links to the tracking page.

FedEx keeps tracking for 90 days after delivery. Content for older shipments may show no tracking.

FedEx doesn't return tracking for FedEx Authenticated Delivery shipments through its API, so those shipments show no tracking.

Where your credentials are kept

The API Key and Secret Key are saved as encrypted secrets. They can't be read back: the platform only shows their last four characters. They're listed under Data Sync → Secrets & Configs, and they can only be sent to FedEx's API (apis.fedex.com).

Your FedEx account number isn't a password, so it's saved as a config that belongs to this connection, not as a secret.

To change your keys, open the Package Tracking page and click Replace key next to API Key or Secret Key on the FedEx row. To stop using FedEx, click Disconnect.

More detail: Shared Secrets and Configs.

Additional resources

Did this answer your question?