FedEx Dataworks (Preview)
FedEx Corp. provides customers and businesses worldwide with a broad portfolio of transportation, e-commerce, and business services. Connect to Transportation Selection Service API to receive ranking and service recommendation on transportation plans.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | Microsoft Dynamics |
| URL | https://aka.ms/iomsupport |
| iomdri@microsoft.com |
| Connector Metadata | |
|---|---|
| Publisher | Microsoft |
| Website | https://www.fedex.com/ |
| Privacy policy | https://www.fedex.com/en-us/trust-center.html |
| Categories | Commerce;Business Management |
FedEx Dataworks connector has been specifically developed to be used for Dynamics 365 Intelligent Order Management's Provider integration.
Prerequisites
Contact FedEx for the onboarding process.
Note: It is recommended to use this connector specifically to set up the Dynamics 365 Intelligent Order Management FedEx provider.
How to get credentials
- As part of the onboarding process, each brand will be required to generate a PGP key pair so that the Dataworks development team can encrypt their Microsoft Entra ID credentials. The public key must be sent to the Dataworks Development team to perform the encryption.
- PGP key pair can be generated using GnuPG. It can be downloaded from the given link: https://gpg4win.org/get-gpg4win.html
- After the client secret is provisioned by the Dataworks Development team, the key will be sent to the brand. Once the brand is in possession of the key then it can be decrypted.
- Additional details will be shared as part of onboarding process.
Getting started with your connector
Follow https://docs.microsoft.com/en-us/dynamics365/intelligent-order-management/work-providers#set-up-a-provider to enable FedEx Provider with the Client Credentials.
Known issues and limitations
This connector has been specifically developed to be used for Dynamics 365 Intelligent Order Management's FedEx Provider integration. Support for use cases outside of Dynamics 365 Intelligent Order Management will be limited.
Creating a connection
The connector supports the following authentication types:
| Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
| Name | Type | Description | Required |
|---|---|---|---|
| Client ID | string | FedEx Dataworks Client ID | True |
| Client Secret | securestring | FedEx Dataworks Client Secret | True |
Throttling Limits
| Name | Calls | Renewal Period |
|---|---|---|
| API calls per connection | 100 | 60 seconds |
| Frequency of trigger polls | 1 | 15 seconds |
Actions
| Delete Webhook registration for a given company by event |
Delete Webhook registration for a given company by event. |
| Delete Webhook subscription for a given company by event |
Delete Webhook subscription for a given company by event. |
| Get information on list of Webhook registrations by event for a given company |
Get information on list of Webhook registrations by event for a given company. |
| Get information on list of Webhook subscriptions for a given company |
Get information on list of Webhook subscriptions for a given company. |
| Get Predictive Delivery Estimates |
Get Predictive Delivery Estimates. |
| Get Transportation Plan Scores |
Get Transportation Plan Scores. |
| Validate Webhook Notification HMACSHA256 Signature |
Validate Webhook Notification HMACSHA256 Signature. |
| Webhook subscription for a given company by event |
Webhook subscription for a given company by event. |
Delete Webhook registration for a given company by event
Delete Webhook registration for a given company by event.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Registration Id
|
registrationId | string |
Registration Id to delete. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
successful
|
successful | boolean |
True or False. |
|
errorCode
|
errorCode | string |
Error Code. |
|
errorMessage
|
errorMessage | string |
Error Message. |
Delete Webhook subscription for a given company by event
Delete Webhook subscription for a given company by event.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Subscripton Id
|
subscriptionId | True | string |
Subscripton Id to delete. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
successful
|
successful | boolean |
True or False. |
|
errorCode
|
errorCode | string |
Error Code. |
|
errorMessage
|
errorMessage | string |
Error Message. |
|
subscriptionId
|
subscriptionId | string |
Deleted Subscription Id. |
Get information on list of Webhook registrations by event for a given company
Get information on list of Webhook registrations by event for a given company.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
successful
|
successful | boolean |
True or False. |
|
errorCode
|
errorCode | string |
Error Code. |
|
errorMessage
|
errorMessage | string |
Error Message. |
|
events
|
events | array of object |
List events a given company has signed up for. |
|
authUrl
|
events.authUrl | string |
Client's OAuth2 authorization endpoint. |
|
callbackUrl
|
events.callbackUrl | string |
Client's callback URL used for sending updates. |
|
callbackClientId
|
events.callbackClientId | string |
Client Id used for client environment authorization. |
|
callbackSignatureAlgorithm
|
events.callbackSignatureAlgorithm | string |
The signature algorithim is used to generate the signature for this payload using the hmac-sha256. |
|
registrationId
|
events.registrationId | string |
An identifier that uniquely identifies the given registration. |
Get information on list of Webhook subscriptions for a given company
Get information on list of Webhook subscriptions for a given company.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
successful
|
successful | boolean |
True or False. |
|
errorCode
|
errorCode | string |
Error Code. |
|
errorMessage
|
errorMessage | string |
Error Message. |
|
subscriptionId
|
subscriptionId | array of string |
List of Subscription Ids Fetched. |
Get Predictive Delivery Estimates
Get Predictive Delivery Estimates.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
originofpackage
|
responsebody.originofpackage | string |
Origin of package |
|
destinationofpackage
|
responsebody.destinationofpackage | string |
Destination of package |
|
datetimeofpossession
|
responsebody.datetimeofpossession | string |
Datetime of possession |
|
edds
|
responsebody.edds | array of object |
edds |
|
requestid
|
responsebody.metadata.requestid | string |
Requestid |
|
shipperId
|
responsebody.metadata.shipperId | string |
ShipperId |
Get Transportation Plan Scores
Get Transportation Plan Scores.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
httpStatusCode
|
httpStatusCode | integer |
Http Status code of response. |
|
responseDateTime
|
data.responseDateTime | string |
Date time of response. |
|
transportationPlanScores
|
data.transportationPlanScores | array of object |
List of transportation plan with scores. |
|
planId
|
data.transportationPlanScores.planId | string |
Unique identifier of plan. |
|
value
|
data.transportationPlanScores.score.value | string |
Ordinal ascending scale of integers. |
|
confidence
|
data.transportationPlanScores.score.confidence | string |
Confidence details. |
|
shipmentServiceConditions
|
data.transportationPlanScores.shipmentServiceConditions | array of object |
Shipment delivery service conditions. |
|
shipmentId
|
data.transportationPlanScores.shipmentServiceConditions.shipmentId | string |
Unique identifier of shipment. |
|
serviceCode
|
data.transportationPlanScores.shipmentServiceConditions.recommendedTransportationService.serviceCode | string |
Service code for delivery of shipment. |
|
carrier
|
data.transportationPlanScores.shipmentServiceConditions.recommendedTransportationService.carrier | string |
Carrier information. |
|
estimatedDeliveryDate
|
data.transportationPlanScores.shipmentServiceConditions.recommendedTransportationService.estimatedDeliveryDate | string |
Estimated delivery date of shipment. |
|
results
|
results | array of object |
List of results containing status. |
|
status
|
results.status | array of object | |
|
code
|
results.status.code | string |
Error or Informational Code for responses. |
|
severity
|
results.status.severity | string |
Severity of the status in response can be ERROR/FATAL/INFO. |
|
message
|
results.status.message | string |
Message describing the code above. |
|
path
|
results.status.path | string |
Path of the field for which the status is provided. |
|
helpUrl
|
results.status.helpUrl | string |
URL for getting more information about the code and message. |
|
recommendedRetryMinutes
|
results.status.recommendedRetryMinutes | integer |
Retry minutes for which same request can be tried again. |
|
version
|
version | string |
Version of the API. |
|
requestTimeStamp
|
requestTimeStamp | string |
Date time of request. |
Validate Webhook Notification HMACSHA256 Signature
Validate Webhook Notification HMACSHA256 Signature.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Message Signature
|
MessageSignature | True | string |
Message Signature to validate against. |
|
Secret Key
|
SecretKey | True | string |
Secret Key for HMAC. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
isValid
|
isValid | boolean |
isValid |
Webhook subscription for a given company by event
Webhook subscription for a given company by event.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
event
|
event | True | string |
Type of event- EDD_CHANGED or EDTW_CHANGED. |
|
registrationId
|
registrationId | True | string |
WebhookId generated when registering for the webhook. |
|
callbackUrl
|
callbackUrl | string |
Client's callback URL used for sending updates if they choose to override the ones used in registration. |
|
|
key
|
key | True | string |
Allowable ways a company could track their information- trackingNumber. |
|
values
|
values | True | array of string |
Tracking IDs interested in receiving status updates. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
successful
|
successful | boolean |
True or False. |
|
errorCode
|
errorCode | string |
Error Code. |
|
errorMessage
|
errorMessage | string |
Error Message. |
|
subscriptionId
|
subscriptionId | array of string |
List of Subscription Ids Inserted. |
Triggers
| Webhook registration for a given company by event |
Webhook registration for a given company by event. |
Webhook registration for a given company by event
Webhook registration for a given company by event.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
event
|
event | True | string |
Type of event- EDD_CHANGED or EDTW_CHANGED. |
|
callbackSignatureSecretKey
|
callbackSignatureSecretKey | True | string |
Client provides the secret to produce the signature with the callback. |
|
callbackAuthUrl
|
callbackAuthUrl | string |
Client's OAuth2 authorization endpoint. |
|
|
callbackClientId
|
callbackClientId | string |
Client Id used for client environment authorization. |
|
|
callbackClientSecret
|
callbackClientSecret | string |
Encrypted Client's Secret used for client environment authorization. |
|
|
callbackSignatureAlgorithm
|
callbackSignatureAlgorithm | True | string |
The signature algorithim is used to generate the signature for this payload using the hmac-sha256. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
ftmTrackingNumber
|
ftmTrackingNumber | string |
Shipment Identifier. |
|
ftmTrackingQualifier
|
ftmTrackingQualifier | string |
Qualifier is used to uniquely identify the shipment within the OpCo. |
|
ftmTrackingCarrier
|
ftmTrackingCarrier | string |
Package carrier OpCo. |
|
eddTime
|
eddTime | string |
Estimated delivery date prediction from GDPP. |
|
eddPrevTime
|
eddPrevTime | string |
Previous EDD. |
|
eddStatus
|
eddStatus | string |
EARLY or ONTIME or DELAYED. |
|
eddChanged
|
eddChanged | string |
Flag which indicate that EDD prediction changed. 1 represents there has been an EDD change. |
|
eddDelaysRiskScore
|
eddDelaysRiskScore | string |
EDD Risk score which allows consumers to make decisions about how to use the prediction information. |
|
eddDelayTypeCode
|
eddDelayTypeCode | string |
Delay reason code. Example OP – Operational, WE – Weather. |
|
edtwBegin
|
edtwBegin | string |
Beginning of Estimated Delivery Time Window. |
|
edtwEnd
|
edtwEnd | string |
End of Estimated Delivery Time Window. |
|
edtwPrevBegin
|
edtwPrevBegin | string |
Previous Estimated Delivery Time Window begin value. |
|
edtwPrevEnd
|
edtwPrevEnd | string |
Previous Estimated Delivery Time Window end value. |
|
edtwChanged
|
edtwChanged | string |
Flag which indicate that EDTW prediction changed. 1 represents there has been an EDTW change. |
|
edtwDelaysRiskScore
|
edtwDelaysRiskScore | string |
EDTW Risks score for downstream consumer thresholding. |