Share via


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
Email 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.