The following instructions apply to setting up integration credentials for the FedEx REST API integration. The FedEx REST API integration is native in Znode versions 9.9 and later.
Step A: Access the FedEx REST API Developer Portal
The FedEx REST API Developer Portal can be found at https://developer.fedex.com/api/en-us/home.html.
Login with an existing FedEx REST API Developer Portal account or follow the “Getting started - Create organization” instructions to set up a developer account. If you need to set up a developer account, complete FedEx’s “Getting started” steps 2 through 5.
Step B: Create a Developer Portal Project
Once your organization has been created, follow the “Getting started - Create API project” instructions to obtain integration credentials. If your organization has an existing FedEx Developer project, please consult your internal team to determine whether a new project should be created.
If creating a new project, when prompted why API access is required, please select the following option.
When prompted to select the API(s) for your project, select “Ship, Rate & Other APIs”.
A grid of available APIs will be displayed below the selection. To support Znode functionality, select all that apply to your organization’s shipping needs. If you are unsure what services will be used, please select all the APIs noted below.
Select the “Address Validation API”. This API is necessary for the FedEx integration; it is not used in Znode’s native address verification feature.
If you will be using FedEx Freight LTL services (i.e. Freight Priority, Freight Economy), select the “Freight LTL API”.
If you will be using FedEx non-LTL shipping services (i.e. 2 Day, Priority Overnight, Ground), select the “Rate and Transit Times API”.
Once the required APIs are selected, select “Next” to continue the project configuration.
Provide the requested information - project name, shipping countries (for testing), notification configuration - and then select “Next” to continue. Review the setup request, review and acknowledge the terms, and select “Create”.
A test project should be created upon completion of these steps.
Step C: Test Key Credentials Configuration
Znode recommends using test key credentials for initial setup and validation. Test key credentials may also be used on an ongoing basis in non-production environments.
To complete the “Test Key” configuration, follow these steps.
Click on the “None” warning under “Shipping Location” to display a pop-up dialog with a description. Click the “Add Account Country” link.
On the “Edit Test Keys” screen, follow the instructions for selecting ship-to countries. One country is selected at a time, but you can select multiple countries one by one. FedEx will assign test shipping account numbers based on your country selections. For example, after adding United States, India, and Canada, the shipping account section contains:
At the bottom of the “Edit Test Keys” screen under “Shipping Services”, the questions should be answered in the following manner when using native Znode functionality.
Select “Save” to return to the “API Project Overview” screen. As a result of answering “Yes” to the FedEx Freight LTL test account usage question, there should be a set of LTL accounts provided for testing purposes.
You are now ready to configure Znode to work with the FedEx Sandbox environment using the “Test Key” values. Follow Step E - Configure Znode FedEx Shipping to add the Developer Portal values to Znode.
A note about testing with FedEx, FedEx has implemented Sandbox Virtualization for testing purposes. This can briefly be described as a set of prescribed inputs and outputs configured in the sandbox environment for validation purposes. As a result of this virtualization, the content of the sandbox environment estimates may not reflect the actual content for the same estimate request submitted to the production environment. More information regarding Sandbox Virtualization can be found at https://developer.fedex.com/api/en-us/guides/sandboxvirtualization.html.
Step D: Production Key Credentials Generation
Start from the FedEx Developer Portal “API Project Overview” screen.
At the top of the screen next to the “Test Key” tab, click the “Production Key” tab. Be prepared to provide a name for the production key and select the account number to be used as the production shipping account.
Click “Next” and your Production keys will be available. IMPORTANT: The “Secret Key” should be copied and stored in a secure location. You will not be able to get this value again. The “API Key” should be stored with the secret; you will be able to see this value in the “API Project Overview” screen.
Click “Done” to be redirected back to the “API Project Overview” screen.
Step E: Configure Znode FedEx Shipping
The following instructions apply to configuring either the test key or the production key.
If you are configuring the test key for testing, then the values mentioned in these screens must be obtained from the “Test Key” tab. Using the “Test Key” configuration sends requests to FedEx’s sandbox virtualized environment.
If you are configuring the production key, then the values mentioned in these screens must be obtained from the “Production Key” tab. Using the “Production Key” configuration sends requests to FedEx’s production environment.
Step E.1: FedEx Estimate Request URL (FedEx Developer Portal)
The URL is the FedEx “address” where Znode will send requests for shipping estimates.
The URL value in the FedEx Developer Portal can be found in the “API Project Overview” as identified in the following screenshots.
Step E.2: FedEx Integration Credentials (FedEx Developer Portal)
The credential values to be input into the Znode admin must be obtained from the FedEx Developer Portal.
FedEx Account Number. The value under the “Account” heading is associated with the Test/Production Key in the Developer Portal. One account will be listed in the summary display; additional account numbers associated with the Test/Production key credentials can be reviewed by clicking the ellipsis.
For the “Test Key”, the Account value may be a fictitious number provided by FedEx during the setup of your test key credential.
For the “Production Key”, the Account value should be your shipping account number. This value should be the same as it was with the previous integration; this integration change does not require the creation of a new business account.
API Key. This value is found under the “API Key” header in the FedEx Developer Portal. The “API Key” values are different for Test and Production environments.
Secret Key. This value is found under the “Secret Key” header in the FedEx Developer Portal. The “Secret Key” values are different for Test and Production environments.
Step E.3: Configure FedEx Environment in Znode
The FedEx environment URLs are configured in the web.config file along with the indicator that determines test versus production environment usage. The below values should already be configured for you, however, please verify the values in accordance with the instructions herein.
web.config file Snippet
The “FedExSandboxURL” value should match the Test URL value from the FedEx Developer Portal.
The “FedExProductionURL” value should match the Production URL value from the FedEx Developer Portal.
The “IsFedExRestGatewayTestMode” value identifies whether Znode should be sending requests to the FedEx test or production environment. A value of “true” will direct requests to the FedEx test environment. A value of “false” will direct requests to the FedEx production environment.
Step E.4: Configure FedEx Credentials in Znode
This configuration is needed for each store that uses FedEx.
In the Znode Admin, browse to the “Stores & Reps” > “Stores” > “Shipping Origin” screen and scroll to the “Fedex” section.
Shipping Account Number. This is the account number to be used for non-LTL shipping requests. This value is a FedEx Account Number associated with the FedEx environment Znode will send requests to for FedEx.
LTL Account Number. This is the account number to be used for LTL shipping requests. This value is a FedEx Account Number associated with the FedEx environment Znode will send requests to for FedEx.
If you do not use FedEx LTL shipping, this “LTL Account Number” field can be left blank.
If you use FedEx LTL shipping and you did not have a separate LTL account number previously, you do not need to have one created. The same shipping account number may be used for both LTL and non-LTL shipments. The same account number value should be entered in both Znode Account Number fields.
Znode’s FedEx implementation requires the use of a single Account API Key and Account Secret Key. If you have separate non-LTL and LTL shipping account numbers, both must be associated with a single FedEx Developer Portal Project (i.e. Account API Key, Account Secret Key pair).
Account API Key. This is the “API Key” value from the FedEx Developer Portal. Since the “API Key” values are different for test and production environments, be sure the correct value for the configured environment is copied to Znode.
Account Secret Key. This is the “Secret Key” value from the FedEx Developer Portal. Since the “Secret Key” values are different for test and production environments, be sure the correct value for the configured environment is copied to Znode.
Use FedEx Discount Rate. No changes have been made to this functionality.
Declare Package Value. Formerly labeled “Add Insurance”. No changes have been made to this functionality.
FedEx Integration FAQs
Do I need new business account numbers?
No! The existing business account numbers you have with your shipping vendors should remain the same. The technical logins and credentials created as part of these documented instructions should be tied to your existing business account numbers.
What are key configurations that need modification when converting from test to production environments?
Converting the native Znode installation from test to production shipping vendor environments, the following are key configuration activities that need to be completed.
If you use FedEx, update the web.config file “IsFedExRestGatewayTestMode” value to “false” to indicate FedEx requests should be sent to the production FedEx environment. (Refer to Step E.3: Configure FedEx Environment in Znode)
Update the Znode store FedEx configuration to reflect the FedEx production environment credentials. (Refer to Step E.2: FedEx Integration Credentials and E.4: Configure FedEx Credentials in Znode)
How do I associate multiple account numbers with my FedEx key values?
FedEx will allow you to associate multiple account numbers with a single set of API keys. Znode supports only two account numbers for FedEx for a single store - one intended for non-LTL shipping and one intended for LTL shipping.
To add both the non-LTL and LTL shipping account numbers to a single set of FedEx key values, browse to the “API Project Overview” screen and select the ellipses to the left of the key record.
Select “Edit” and on the “Edit Key” screen, you can manage the accounts linked to the key values.
The non-LTL and LTL account numbers must then be added to Znode store configuration for use when requesting shipping estimates.
What happens when I hit “Regenerate” on the Secret Key in the FedEx Developer Portal?
Regenerating a “Secret Key” is only available in the FedEx production environment.
If the Secret Key is regenerated, ensure the value is stored in a secure location as it will not be visible after displaying once to the user that regenerated it. This new Secret Key value will need to be updated in Znode.
FedEx shipping estimates will not work until the “Secret Key” value from the FedEx Developer Portal matches the “Client Secret Key” value in Znode. Thus, regenerating the “Secret Key” should be planned carefully.
What is another name for FedEx’s test environment?
FedEx refers to its test environment as the “Sandbox” environment.