FedEx Pipe
Manage your FedEx shipments through your Tadabase app. Use the Fedex API to validate addresses, search for FedEx locations, request package pickups, get shipment rates, and track packages.
Getting Started
Prerequisites:
-
- A FedEx business account
In order to use FedEx with Tadabase, it is necessary to have a FedEx business account. If you do not have one, you can create a FedEx account at https://www.fedex.com/register.
Install the FedEx Pipe
To connect your FedEx account to Tadabase you need to obtain your FedEx API Keys and insert it in the dialog window that pops up when you install the pipe.
You must set up a project in the FedEx developer portal to obtain your API Keys:
1. Log in to the FedEx developer portal at https://developer.fedex.com with your FedEx Business Account User ID and Password.
2. Click My Projects > Create an Organization and fill out all required fields.
3. Click Create a Project and fill out all required fields. Select all the API's you would like access to. If you aren't sure which ones you'll need, select all of them.
4. You will then be redirected to your Test Keys to view your Test API Keys. To use the FedEx pipe in sandbox mode, copy these API Keys and the test Account ID into the FedEx Pipe dialog window. For production mode, continue with steps 5 and 6.
5. Go to the Production Key tab, and click Add Account and fill in all the required fields.
6. Then go back to the Project Overview > Production Key and add the newly created account. Click Next and then Done.
7. You will then be directed to your Production API Keys. To use the FedEx Pipe in production mode, copy these API Keys and your FedEx Account ID into the FedEx Pipe dialog window.
Global Parameters
There are four Global Parameters in this pipe. The default values for these parameters are automatically set when you install the pipe. You can change these values at any time in the Global Parameters tab of your installed FedEx pipe.
- FedEx API Key - Your FedEx API Key is generated once you create a project in the FedEx Developer portal.
- FedEx Client Secret - Your FedEx API Secret gets generated once you create a project in the FedEx Developer portal.
- FedEx Account - Enter your FedEx account number.
- Environment - Options: sandbox or production. The default option is sandbox. If you're using your Test API Keys, choose the sandbox environment, and if you're using your production API Keys, choose production.
You must sign up for a FedEx developer account to get API keys. Once you sign up, you need to create an organization and a project. You will then be navigated to your project overview where you can view your Client ID (API Key) and Client Secret. Certain API calls require certification.
All API calls below must contain the authorization details in the global parameters.
API Calls
- Validate Address (US)
- Validate Address (Global)
- Search Locations by Postal Code (US)
- Create a Pickup Request
- Check Pickup Availability
- Cancel Pickup
- Get Rates and Transit Times
- Create Shipment
- Cancel Shipment
- Create Asynchronous Multi-Piece Shipment
- Retrieve Asynchronous Shipments
- Validate Shipment
- Create Tag
- Track Multiple Piece Shipment
- Send Notification
- Track by Tracking Number
Validate Address (US)
For more details and examples, go to the FedEx API Documentation - Address Validation.
Parameters
- Street Line 1* - (Example: 4221 Wilshire Boulevard)
- Street Line 2 - (Example: Apt. 400) (Optional)
- State Code - Enter the 2 letter state code. (Optional)
- Postal Code* - (Either Postal Code or City is required.)
- City* - (Either Postal Code or City is required.)
- Country Code - Enter the 2 letter country code. Default: US (Required)
*Required
Response
If the address returned includes the following values for the below attributes, then the address is valid:
- Address State is Standardized
- Attributes of Resolved address are True
- Delivery Point Valid (DPV) is True
If these are not listed, then use the additional attributes to determine the possible problems with the address values.
Validate Address (Global)
For more details and examples, go to the FedEx API Documentation - Address Validation.
Note: Address Validation API might not be applicable for all the countries. Refer to the FedEx API Documentation - Address Validation for the list of supported countries.
Parameters
- Street Line 1* - (Example: 4221 Wilshire Boulevard)
- Street Line 2 - (Example: Apt. 400) (Optional)
- State Code - Enter the 2 letter state code. (Optional)
- Postal Code* - (Either Postal Code or City is required.)
- City* - (Either Postal Code or City is required.)
- Country Code - Enter the 2 letter country code. Default: US
- Urbanization - An urbanization name denotes an area, sector, or residential development within a geographic area.
*Required
Response
If the address returned includes the following values for the below attributes, then the address is valid:
- Address State is Standardized
- Attributes of Resolved address are True
- Delivery Point Valid (DPV) is True
If these are not listed, then use the additional address attributes to determine the possible problems with the address values.
Search Locations by Postal Code
For more details and examples, go to FedEx API Documentation - Locations Search.
Parameters
- Postal Code* - (Example: 90010)
- Country Code - Enter the 2 letter country code. (Default: US)
*Required
Response
- Matched Address - Details of address matched to inputted postal code.
- Location 1 - Closest location.
- Location 2 - Next closest location.
- Location 3 - Third closes location.
Create a Pickup Request
This API Call requires Basic Certification. Contact FedEx support with the following information: production API Key and the name of the APIs that need basic certification. Their contact information can be found on the Support page.
For more details and examples, go to FedEx API Documentation - Pickup Requests.
Parameters
- Associated Account Number* - Enter your FedEx account number. (Your test account number can be found below your Test API Keys in the FedEx developer portal.)
- Name*
- Phone Number*
- Street Line 1* (Example: 441 Wilshire Boulevard)
- Street Line 2* (Example: Apt. 355)
- City*
- State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Postal Code* - Maximum length is 10. Example: 38017
- Country Code - The two-letter code used to identify a country. Default: US
- Package Location - Options: "FRONT", "REAR", "SIDE", "NONE" Default: "FRONT"
-
Ready Date* - Indicates the date when the freight shipment/package is ready for pick up. Format: YYYY-MM-DD
Format: YYYY-MM-DD (Example: 2020-04-02) - Ready Time - Indicates the time when the freight shipment/package is ready for pick up. Format: HH:MM (Example: 14:00) Default: 09:00
- Customer Close Time - Indicates the latest local time at which the driver can gain access to pickup the package(s). Format HH:MM. (Example 18:00) Note: This must be earlier than the FedEx pickup cutoff time. Default: 14:00
-
Carrier Code* - Specify the four letter code of a FedEx operating company that meets your requirements. Default: FDXG
Examples of FedEx Operating Companies are :- FDXE- FedEx Express
- FDXG- FedEx Ground
- FXSP- FedEx SmartPost
- FXCC- FedEx Custom Critical
*Required
Response
- Transaction ID
- Customer Transaction ID
- Pickup Confirmation Code
- Output Alerts (array)
Check Pickup Availability
For more details and examples, go to FedEx API Documentation - Check Pickup Availability
Parameters
- Street Line 1* (Example: 441 Wilshire Boulevard)
- Street Line 2* (Example: Apt. 355)
- City*
- State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Postal Code* - Maximum length is 10. Example: 38017
- Country Code - The two-letter code used to identify a country. Default: US
-
Carrier Code* - Specify the four letter code of a FedEx operating company that meets your requirements. Default: FDXG
Examples of FedEx Operating Companies are :- FDXE- FedEx Express
- FDXG- FedEx Ground
- FXSP- FedEx SmartPost
- FXCC- FedEx Custom Critical
- Pickup Request Type - Options: SAME_DAY or FUTURE_DAY Default: SAME_DAY
- Domestic or International - Options: DOMESTIC or INTERNATIONAL. Default: DOMESTIC
*Required
Response
- Transaction ID
- Available (true or false)
- Ready Time Options (array)
- Default Ready Time
*Required
Cancel Pickup
This API Call requires Basic Certification. Contact FedEx support with the following information: production API Key and the name of the APIs that need basic certification. Their contact information can be found on the Support page.
For more details and examples, go to FedEx API Documentation - Cancel Pickup
Parameters
- Associated Account Number* - Enter your FedEx account number. (Your test account number can be found below your Test API Keys in the FedEx developer portal.)
- Pickup Confirmation Code* - The confirmation number provided by FedEx to the customer when the pickup was scheduled or requested.
- Scheduled Date* - Date the pickup dispatch occurs. Format YYYY-MM-DD Example: 2019-10-15
*Required
Response
- Transaction ID
- Customer Transaction ID
- Pickup Confirmation Code
- Cancel Confirmation Message
Get Rates and Transit Times
For more details and examples, go to FedEx API Documentation - Get Rates and Transit Times
Parameters
- Account Number* - Enter your FedEx account number.
- Shipper Postal Code*
- Recipient Postal Code*
- Pickup Type* - Indicate the pickup type method by which the shipment to be tendered to FedEx. Options: ON_CALL, PACKAGE_RETURN_PROGRAM, or REGULAR_STOP. See FedEx Pickup Types for a full list of pickup type options.
- Package Weight* - Enter the weight in pounds. (Example: 1.2)
*Required
Response
- Transaction ID
- Alerts (array)
- Rate Reply Details (array)
- Quote Date
- Encoded
Create Shipment
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Create a Shipment
Parameters
- Shipper Street Line 1*
- Shipper Street Line 2*
- Shipper City*
- Shipper State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Shipper Country Code* - The two-letter code used to identify a country. Default: US
- Shipper Name*
- Shipper Phone Number* - Minimum 10 digits.
- Recipient Street Line 1*
- Recipient Street Line 2*
- Recipient City*
- Recipient State or Province Code* -Enter the 2 letter state or province code. (Example: CA)
- Recipient Country Code* - The two-letter code used to identify a country. Default: US
- Recipient Name*
- Recipient Phone Number* - Minimum 10 digits.
- Pickup Type* - Indicate the pickup type method by which the shipment to be tendered to FedEx. Examples: "CONTACT_FEDEX_TO_SCHEDULE" "DROPOFF_AT_FEDEX_LOCATION" "USE_SCHEDULED_PICKUP" Default: DROPOFF_AT_FEDEX_LOCATION. See FedEx Pickup Types for a full list of pickup type options.
- Service Type* - Indicate the FedEx service type used for this shipment. Examples: FEDEX_2_DAY, FIRST_OVERNIGHT, FEDEX_GROUND Default: FEDEX_GROUND. See FedEx Service Types for a full list of service options.
- Packaging Type* - Specify the packaging used. Examples: YOUR_PACKAGING, FEDEX_ENVELOPE, FEDEX_SMALL_BOX Default: YOUR_PACKAGING. See FedEx Packaging Types for a full list of package types.
- Payment Type - Options :"SENDER", "RECIPIENT", "THIRD_PARTY", "COLLECT"
- Shipper Zip Code*
- Recipient Zip Code*
- Account Number* - Enter your FedEx account number.
- Weight* - Enter the weight in pounds. (Example: 1.2)
*Required
Response
- Transaction ID
- Ship Date Stamp
- FedEx Carrier Code
- Delivery Date
- Delivery Day of the Week
- Transit Time
- Total Cost
- Total Base Charge
- Total Surcharges
- Label URL
- Tracking Number
Cancel Shipment
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Cancel a Shipment
Parameters
- Associated Account Number* - Enter your FedEx account number that was used to create the shipment.
- Tracking Number* - The Tracking Number returned by the Create Shipment API call.
*Required
Response
- Transaction ID
- Cancelled Shipment
- Cancelled History
Create Asynchronous-Multipiece Shipment
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Create a Shipment
Parameters
- Shipper Street Line 1*
- Shipper Street Line 2*
- Shipper City*
- Shipper State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Shipper Country Code* - The two-letter code used to identify a country. Default: US
- Shipper Name*
- Shipper Phone Number* - Minimum 10 digits.
- Recipient Street Line 1*
- Recipient Street Line 2*
- Recipient City*
- Recipient State or Province Code* -Enter the 2 letter state or province code. (Example: CA)
- Recipient Country Code* - The two-letter code used to identify a country. Default: US
- Recipient Name*
- Recipient Phone Number* - Minimum 10 digits.
- Pickup Type* - Indicate the pickup type method by which the shipment to be tendered to FedEx. Examples: CONTACT_FEDEX_TO_SCHEDULE, DROPOFF_AT_FEDEX_LOCATION, USE_SCHEDULED_PICKUP Default: DROPOFF_AT_FEDEX_LOCATION. See FedEx Pickup Types for a full list of pickup type options.
- Service Type* - Indicate the FedEx service type used for this shipment. Examples: FEDEX_2_DAY, FIRST_OVERNIGHT, FEDEX_GROUND Default: FEDEX_GROUND. See FedEx Service Types for a full list of service options.
- Packaging Type* - Specify the packaging used. Examples: YOUR_PACKAGING, FEDEX_ENVELOPE, FEDEX_SMALL_BOX Default: YOUR_PACKAGING. See FedEx Packaging Types for a full list of package types.
- Payment Type - Options: SENDER, RECIPIENT, THIRD_PARTY, COLLECT
- Shipper Zip Code*
- Recipient Zip Code*
- Package Count - Enter the total number of packages in the shipment.
- Label Stock Type* - Indicate the label stock type used. Examples: PAPER_4X6, PAPER_4X675, PAPER_4X8, STOCK_4X6 Default: PAPER_4X6. See FedEx Label Stock Types for a full list of label format types.
-
Image Type* - Specify the image format used for a shipping document. Examples: ZPLII, EPL2, PDF, PNG
Default: PDF. See FedEx Label Format Types ('Image Type' section) for a full list of image types. - Weight* - Enter the weight in pounds. (Example: 1.2)
-
Label Response Options* - Specify the label response. Either LABEL - encoded bytecode, or URL ONLY - label URL (Note: The URL will only be active for 12 hours once created). Default: LABEL.
Note: For shipments over 40 packages, only the value "LABEL" is supported. - Account Number* - Enter your FedEx account number.
*Required
Response
- Transaction ID
- Ship Date Stamp
- FedEx Carrier Code
- Delivery Date
- Delivery Day of the Week
- Transit Time
- Total Cost
- Total Base Charge
- Total Surcharges
- Label URL
- Tracking Number
- Job ID
Retrieve Asynchronous Shipments
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Retrieve Asynchronous Shipments
Parameters
- Account Number* - Enter your FedEx account number.
- Job ID* - Specify the Job ID returned from the 'Create Asynchronous-Multipiece Shipment' API Call.
*Required
Response
- Transaction ID
- Master Tracking Number
- Service Type
- Delivery Date Stamp
- Package Sequence Number
- Package Net Rate Amount
- Package Net Charge Amount
- Package Documents
- FedEx Carrier Code
- Service ID
- Packaging Description
- Service Category
Validate Shipment
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Validate Shipment
Parameters
- Shipper Street Line 1*
- Shipper Street Line 2*
- Shipper City*
- Shipper State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Shipper Country Code* - The two-letter code used to identify a country. Default: US
- Shipper Name*
- Shipper Phone Number* - Minimum 10 digits.
- Recipient Street Line 1*
- Recipient Street Line 2*
- Recipient City*
- Recipient State or Province Code* -Enter the 2 letter state or province code. (Example: CA)
- Recipient Country Code* - The two-letter code used to identify a country. Default: US
- Recipient Name*
- Recipient Phone Number* - Minimum 10 digits.
- Pickup Type* - Indicate the pickup type method by which the shipment to be tendered to FedEx. Examples: "CONTACT_FEDEX_TO_SCHEDULE" "DROPOFF_AT_FEDEX_LOCATION" "USE_SCHEDULED_PICKUP" Default: USE_SCHEDULED_PICKUP. See FedEx Pickup Types for a full list of pickup type options.
- Service Type* - Indicate the FedEx service type used for this shipment. Examples: FEDEX_2_DAY, FIRST_OVERNIGHT, FEDEX_GROUND Default: FEDEX_GROUND. See FedEx Service Types for a full list of service options.
- Packaging Type* - Specify the packaging used. Examples: YOUR_PACKAGING, FEDEX_ENVELOPE, FEDEX_SMALL_BOX Default: YOUR_PACKAGING. See FedEx Packaging Types for a full list of package types.
- Payment Type - Options :"SENDER", "RECIPIENT", "THIRD_PARTY", "COLLECT" Default: SENDER.
- Shipper Zip Code*
- Recipient Zip Code*
- Account Number* - Enter your FedEx account number.
- Weight* - Enter the weight in pounds. (Example: 1.2)
- Label Stock Type* - Indicate the label stock type used. Examples: PAPER_4X6, PAPER_4X675, PAPER_4X8, STOCK_4X6 Default: PAPER_4X6. See FedEx Label Stock Types for a full list of label format types.
-
Image Type* - Specify the image format used for a shipping document. Examples: ZPLII, EPL2, PDF, PNG
Default: PDF. See FedEx Label Format Types ('Image Type' section) for a full list of image types. - Ship Date Stamp* - Current date. Format: YYYY-MM-DD
*Required
Response
- Transaction ID
Create Tag
This API Call contains known issues according to FedEx support.
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Create Tag
Parameters
- Shipper Street Line 1*
- Shipper Street Line 2*
- Shipper City*
- Shipper State or Province Code* - Enter the 2 letter state or province code. (Example: CA)
- Shipper Country Code* - The two-letter code used to identify a country. Default: US
- Shipper Name*
- Shipper Phone Number* - Minimum 10 digits.
- Recipient Street Line 1*
- Recipient Street Line 2*
- Recipient City*
- Recipient State or Province Code* -Enter the 2 letter state or province code. (Example: CA)
- Recipient Country Code* - The two-letter code used to identify a country. Default: US
- Recipient Name*
- Recipient Phone Number* - Minimum 10 digits.
- Pickup Type* - Indicate the pickup type method by which the shipment to be tendered to FedEx. Examples: "CONTACT_FEDEX_TO_SCHEDULE" "DROPOFF_AT_FEDEX_LOCATION" "USE_SCHEDULED_PICKUP" Default: USE_SCHEDULED_PICKUP. See FedEx Pickup Types for a full list of pickup type options.
- Service Type* - Indicate the FedEx service type used for this shipment. Examples: FEDEX_2_DAY, FIRST_OVERNIGHT, FEDEX_GROUND Default: FEDEX_GROUND. See FedEx Service Types for a full list of service options.
- Packaging Type* - Specify the packaging used. Examples: YOUR_PACKAGING, FEDEX_ENVELOPE, FEDEX_SMALL_BOX Default: YOUR_PACKAGING. See FedEx Packaging Types for a full list of package types.
- Payment Type - Options :"SENDER", "RECIPIENT", "THIRD_PARTY", "COLLECT" Default: SENDER.
- Shipper Zip Code*
- Recipient Zip Code*
- Account Number* - Enter your FedEx account number.
- Weight* - Enter the weight in pounds. (Example: 1.2)
- Ship Date Stamp* - Date must be the same as 'Ready' and 'Latest' Pickup Times. Format: YYYY-MM-DD
- Ready Pickup Date/Time* - Specify the time and date the package will be ready for pickup. Date must be the same as 'Ship' and 'Latest' Pickup Times. For example: 2022-08-25T14:00:00Z
- Latest Pickup Date/Time* - Specify the last possible pickup date and time. Date must be the same as 'Ready' and 'Ship' Pickup Times. For example: 2022-08-25T14:00:00Z
- Special Service Types* - Specify the special services requested for the shipment. Examples: HOLD_AT_LOCATION, RETURN_SHIPMENT, BROKER_SELECT_OPTION. See FedEx Special Service Types for a full list of special service types.
- Return Type* - Specify Return Type. For printed return label shipments, "PRINT_RETURN_LABEL" type is required. For email return label shipments, "PENDING" type is required.
*Required
Response
- Transaction ID
- Master Tracking Number
- Service Type
- Ship Timestamp
- Tag Confirmation Number
- Location
- Dispatch Date
Cancel Tag
This API Call requires Shipping Label Certification in production mode.
For more details and examples, go to FedEx API Documentation - Cancel Tag
Parameters
- Account Number* - Enter your FedEx account number.
- Service Type* - Indicate the FedEx service type used for this shipment. Examples: FEDEX_2_DAY, FIRST_OVERNIGHT, FEDEX_GROUND Default: FEDEX_GROUND. See FedEx Service Types for a full list of service options.
- Tag Confirmation Number* - The 'Tag Confirmation Number' returned from the 'Create Tag' API Call.
- Dispatch Date* - Specify the dispatch date for the FedEx Tag to be cancelled. Format: YYYY-MM-DD
- Tracking Number* - Specify the tracking number for the Express or Ground Tag to be cancelled.
*Required
Response
- Transaction ID
- Cancelled Tag
- Cancelled History
- Success Message
Track Multiple-Piece Shipment
This API Call only works in production mode and requires a tracking number from your account.
For more details and examples, go to FedEx API Documentation - Track Multiple-Piece Shipment
Parameters
- Associated Shipment Type* - Specify the associated shipment type. Options: OUTBOUND_LINK_TO_RETURN, STANDARD_MPS, GROUP_MPS Default: STANDARD_MPS
- Tracking Number* - Specify the tracking number returned from the 'Create Shipment' and 'Create Asynchronous-Multipiece Shipment' API Calls.
*Required
Response
- Transaction ID
- Tracking Results (array)
Send Notification
In order to test this API Call in sandbox mode, use this mock tracking number: 449044304137821, otherwise this API Call only works in production mode. See the FedEx API Documentation for more information on mock tracking numbers.
For more details and examples, go to FedEx API Documentation - Send Notification
Parameters
- Tracking Number* - Specify the tracking number returned from the 'Create Shipment' and 'Create Asynchronous-Multipiece Shipment' API Calls.
- Sender Email Address* - Specify the email address of the sender from which the shipment notification will be sent.
- Sender Name* - Specify the name of the sender from which the shipment notification will be sent.
- Notification Event Type 1* - Specify the event for which the client is requesting notifications. Possible Values are: ON_DELIVERY, ON_ESTIMATED_DELIVERY, ON_EXCEPTION, ON_TENDER. Default: ON_DELIVERY
- Notification Event Type 2* - Specify the event for which the client is requesting notifications. Possible Values are: ON_DELIVERY, ON_ESTIMATED_DELIVERY, ON_EXCEPTION, ON_TENDER. Default: ON_TENDER
- Notification Type* - Specify the format of the notification. Valid values are 'HTML' or 'TEXT'. Default: HTML
- Receiver Email Address* - Specify the email address to which the user wants to get notified for various registered events.
*Required
Response
- Transaction ID
- Tracking Number
- Tracking Number Unique ID
- Tracking Number Carrier Code
- Destination City
- Destination State/Province Code
- Destination Country Code
- Destination Address Residential
- Destination Country Name
- Recipient Details (array)
Track by Tracking Number
In order to test this API Call in sandbox mode, use this mock tracking number: 449044304137821, otherwise this API Call only works in production mode. See the FedEx API Documentation for more information on mock tracking numbers.
For more details and examples, go to FedEx API Documentation - Track by Tracking Number
Parameters
- Tracking Number* - Specify the tracking number returned from the 'Create Shipment' and 'Create Asynchronous-Multipiece Shipment' API Calls. (You can only track packages created with your FedEx account.)
*Required
Response
- Transaction ID
- Tracking Results (array)
- Last Updated City
- Last Updated State/Province Code
- Last Updated Country Code
- Last Updated Residential
- Last Updated Country Name
- Estimated Delivery Time Window
More Details
To learn more about this Pipe and see additional Examples, please see the FedEx API Catalog.
We'd love to hear your feedback.