Business Rules and Validation Process
- One shipping account number cannot be used in multiple Advanced Integrated Visibility.
- The destination URL/endpoint created by the customer must:
- Be of HTTPs host.
- Respond to POST requests and parse JSON payloads.
- Character limit to 200 characters
- Your URL will be blocked if it includes:
- RFC1918 IP space
- fedex.com or any of its subdomains
- IP addresses in the URL (including localhost, 127.0.0.1)
- Be of HTTPs host.
- Advanced Integrated Visibility Security: Only HTTPS connections using TLS (SSL) 1.2 or higher protocol versions that is configured with a certificate from a valid certificate authority (CA) is supported. Whitelist the below IP addresses to receive updates from FedEx servers without any interruptions:
Prod Clients can whitelist: “nat.fxconnect.eastus2.heap-prod.fedex.io”
Using CIDR "20.65.16.22/31"
- Customers may sometimes receive the tracking event updates out of order and must look at the scan event time stamp for the correct order.
- Deleting Account(s) in FedEx Developer Portal:
- User/Customer cannot delete the account(s):
- If it is associated with any active Advanced Integrated Visibility.
- If the account is available or associated with a project, and
- If it is the only account in a project/Advanced Integrated Visibility.
Note: User/Customer needs to remove the account from the project/Advanced Integrated Visibility first and then delete it from the organization.
- If it is associated with any active Advanced Integrated Visibility.
- User/customer can delete the account(s):
- The account must belong to the same organization.
- User/Customer must be an admin to delete accounts from the organization.
- User/Customer cannot delete the account(s):
Common Constraints
- All customer shipments associated with the FedEx 9-digit account numbers of operating companies- FedEx Express®, FedEx Ground® and FedEx Ground® Economy (formerly known as FedEx SmartPost®) are in scope irrespective of destination or origin (inbound, outbound, international, domestic, etc.).
- Advanced Integrated Visibility webhook only supports 9-digit enterprise/parcel enabled accounts. Enterprise accounts enable the creation of shipments associated with all FedEx operating companies including FedEx Express and FedEx Ground.
- Customers must manage the order of the shipment tracking events received on their end.
- Automated email notifications are sent whenever there is any activity (Saved/Failed/Create/Update/Cancel/Delete) on the subscribed Advanced Integrated Visibility webhook.
- Translations:
- Tracking payload translations are supported in 41 languages (locales).(Coming Soon)
Click here to view the list of supported languages. - Currently tracking payload translation is supported in English (United States).
- Email notification translations is available for languages supported by U.S. regions only. (Locale: en-US, es-US)
- Tracking payload translations are supported in 41 languages (locales).(Coming Soon)
FedEx Developer Portal User roles:
Within the FedEx Developer Portal, you can perform specific functions based on the configured role.
To learn more about FedEx Developer Portal, refer to the Organization Administration Guide.
Advanced Integrated Visibility Validation Process
What is a MAC/HMAC and how is it used in the validation process?
A message authentication code (MAC) provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key. Typically, MACs are used between two parties that share a secret key to validate information transmitted between the two parties.
A MAC mechanism that is based on cryptographic hash functions is referred to as HMAC. HMAC can be used with any cryptographic hash function, e.g., SHA256, in combination with a secret shared key. HMAC is specified in RFC 2104. FedEx Advanced Integrated Visibility webhook will use HMAC SHA256.
SHA256( security token + payload) = Base 64 encoded fdx-signature as part of payload Header
Example (of a pseudocode snippet to illustrate an HMAC SHA256 hashing):
- First, initialize MAC using HmacSHA256 algorithm and the security token as the secret key.
- Then, finalize the MAC operation by hex encoding the request payload sent by FedEx.
- This final hash should match with the value of the header fdx-signature in the PUSH sent by FedEx.
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(secureToken.getBytes(), "HmacSHA256"));
return new String(Base 64 encoded(mac.doFinal(payLoad.getBytes())));
Note: The secret key used is the secure token that you will provide when setting up the Advanced Integrated Visibilityor when testing the Advanced Integrated Visibility URL.
Latency Calculcation
The Event Create Time represents when an event actually occurred in the network.
Until the event is logged into the system (indicated by the Message Create Timestamp), neither webhooks nor any other systems can process or deliver it.
Recommendation
Customers should use the Message Create Timestamp to measure latency, as it best represents when the event became available to digital systems. This timestamp aligns most closely with the timing of FedEx digital updates and is typically faster than—or closely aligned with—updates visible on fedex.com.
Validation Rules:
- Advanced Integrated Visibility webhook Name should be unique.
- Advanced Integrated Visibility webhook Destination URL must be in Standardized Syntactical format.
- All the required fields for creating a Advanced Integrated Visibility webhook must not be empty.
- At least one available FedEx shipping account number should be associated for creating a Advanced Integrated Visibility webhook .
- For Successful validation:
- When a Advanced Integrated Visibility webhook is created successfully, customer will receive a confirmation message.
Sample Confirmation Message: <<Advanced Integrated Visibility webhook name>> successfully created. Changes may take up to 10 minutes to go into effect.
- When a Advanced Integrated Visibility webhook is created successfully, customer will receive a confirmation message.
- For Unsuccessful/Failed validation:
- If FedEx receives any response other than 200 (OK) or 202 (Accepted), then the validation of the Advanced Integrated Visibility webhook destination URL will be considered as failed.
Response