Some online users may be experiencing intermittent technical issues accessing FedEx Freight services. If you encounter any difficulty
in processingyour request, please reattempt later. If the issue persists, please call 866.393.4585 to speak with an agent to handle your LTL Freight shipping need.

Fedex Logo
Developer Portal

API Authorization

Introduction

Les API FedEx prennent en charge la méthode d’authentification OAuth 2.0 (jeton du porteur) pour autoriser les requêtes d’API de votre application avec les ressources FedEx. Ce jeton d’accès OAuth doit être généré à nouveau toutes les 60 minutes et fourni avec chaque opération API pour authentifier et autoriser votre accès aux ressources FedEx.

Détails de l’API d’autorisation

Cette API vous permet d’autoriser les requêtes d’API et elle est nécessaire pour authentifier les ressources FedEx. La section suivante décrit les conditions préalables pour l’API :

Lors de l’enregistrement sur le FedEx Developer Portal, FedEx fournit une combinaison composée d’un identifiant client (clé API) et d’un secret client (clé secrète) pour authentifier les requêtes d’API de votre projet. Chaque projet de votre organisation est associé à une combinaison d’ID client et de secret client, appelée identifiants API.

Remarque : les clients (Internal, Compatible, Proprietary Parent Child et Integrators) peuvent contacter un représentant commercial FedEx pour obtenir la clé API et la clé secrète.

Pour fournir une sécurité accrue, les clients FedEx® (Internal, Compatible, Proprietary Parent Child et Integrators) peuvent envoyer la clé enfant (secret client) et le secret enfant (mot de passe client) en plus de la clé API et de la clé secrète pour créer un jeton OAuth. Ce jeton est utilisé dans toutes les requêtes d’API pour l’authentification.

Vous pouvez recréer la clé secrète oubliée depuis la page Projets du FedEx Developer Portal.

Remarque : la création de nouvelles clés entraînera un changement de code dans votre application.

Informations importantes dans ce document :

  • La clé client correspond à la clé API
  • Le secret client correspond à la clé secrète
  • La clé enfant correspond à la clé client
  • Le secret enfant correspond au mot de passe client

Les identifiants API servent aux fins suivantes :

  • Identifier le projet qui appelle les API.
  • Autoriser l’accès aux API qui sont activées dans le cadre de votre projet.

Obtention des identifiants API

Les identifiants sont créés d’après les entrées dans le FedEx Developer Portal :

  • ID client : la clé API (ID client) est créée une fois qu’un projet est créé sur le FedEx Developer portal. Vous pouvez également consulter la clé API associée au projet sur la page Aperçu du projet.
  • Secret client : vous verrez la clé secrète (Secret client) sur la page de confirmation une fois qu’un projet aura été créé sur le FedEx Developer portal. Si nécessaire, la clé secrète peut également être générée à nouveau sur la page Aperçu du projet.

Remarque : les clients FedEx® (Internal, Compatible, Proprietary Parent Child et Integrators) doivent envoyer la clé enfant (secret client) et le secret enfant (mot de passe client) en plus de la clé API et de la clé secrète pour la création d’un jeton OAuth. Reportez-vous à la section API d’enregistrement des identifiants pour savoir comment obtenir la clé enfant et le secret enfant.

Fonctionnement de l’API d’autorisation

API d’autorisation

Une fois que vous avez obtenu les identifiants API sur le FedEx Developer Portal, le point de terminaison OAuth permet d’obtenir un jeton d’accès qui est utilisé comme identifiant avec chaque opération API.

Vous trouverez ci-dessous les entrées requises associées à la requête OAuth :

  • grant_type : type de client. (Valeurs valides : client_credentials, csp_credentials et client_pc_credentials)
  • client_id : se réfère à la clé API du projet.
  • client_secret : se réfère à la clé secrète API du projet.

Les clients FedEx® Internal, Compatible, Proprietary Parent Child et Integrators doivent envoyer les entrées supplémentaires ci-dessous :

  • child_id : clé client renvoyée par la requête d’API d’enregistrement des informations d’identification.
  • child_secret : mot de passe client renvoyé par la requête d’API d’enregistrement des informations d’identification.

Le résultat de cette requête devrait renvoyer les éléments ci-dessous :

  • access_token : le jeton OAuth chiffré qui doit être utilisé dans l’opération API.
  • token_type : type de jeton. Dans ce cas, il s’agit de l’authentification du porteur.
  • expires_in : délai d’expiration du jeton en millisecondes. Une heure est le délai standard d’expiration des jetons.
  • Scope : portée de l’autorisation fournie au client.

Exemples

Requête :

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=votre ID client&client_secret=Votre secret

Réponse :

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Requête pour les clients FedEx® Internal, Compatible et Integrator :

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=ID client&client_secret= Secret client&child_key=Clé enfant&child_secret=Secret enfant

Réponse :

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Requête pour les clients FedEx® Proprietary Parent Child :

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=ID client&client_secret= Secret client&child_key=Clé enfant&child_secret=Secret enfant

Réponse :

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Remarque : le jeton d’accès expire au bout d’une heure. Il peut être généré à nouveau à l’aide d’une requête POST au point de terminaison oauth/jeton.

API Authorization (1.0)

API Authorization

Use this endpoint to request the OAuth token (bearer token) to authorize your application to access FedEx resources. You can pass this bearer token in your subsequent individual FedEx API endpoint requests.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
content-type
required
string
Example: application/x-www-form-urlencoded

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.
Example: application/x-www-form-urlencoded

Request Body schema: application/x-www-form-urlencoded
grant_type
required
string

Specify Type of customer requesting the Oauth token.
Valid Values: client_credentials, csp_credentials, client_pc_credentials
Note:
client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
client_pc_credentials – should be used for Proprietary Parent Child customers.

client_id
required
string

Specify the Client ID also known as API Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

client_secret
required
string

Specify the Client secret also known as Secret Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

child_Key
string

Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

child_secret
string

Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

Responses

200

Success

401

Unauthorized

500

Failure

503

Service Unavailable

post /oauth/token

Sandbox Server

https://apis-sandbox.fedex.com/oauth/token

Production Server

https://apis.fedex.com/oauth/token

Request samples

Content type
application/x-www-form-urlencoded
Example
Copy
grant_type=client_credentials&client_id=Your_client_ID&client_secret=Your_secret

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……",
  • "token_type": "bearer",
  • "expires_in": 3600,
  • "scope": "CXS"
}
CLOSE

Response

Copy