Fedex Logo

Introduction

Les API FedEx prennent en charge la méthode d’authentification OAuth 2.0 (jeton du porteur) pour autoriser les demandes API de votre application avec les ressources FedEx. Le jeton d’accès OAuth doit être généré de nouveau à chaque 60 minutes et fourni avec chaque transaction 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 demandes d’API et elle est nécessaire pour authentifier les ressources FedEx. La section suivante décrit les conditions préalables de l’API :

Lors de l’inscription au FedEx Developer Portal, FedEx fournit une combinaison composée d’un ID client (clé API) et d’un secret client (clé secrète) pour authentifier les demandes d’API de votre projet. Chaque projet de votre organisation est associé à cette combinaison d’ID client et de secret client, appelée identifiants API.

Remarque : Les clients (Internal, Compatible ou Proprietary Parent Child) peuvent communiquer avec un représentant FedEx pour obtenir l’API et les clés secrètes.

Pour fournir un niveau supplémentaire de sécurité, les clients FedExMD (Internal, Compatible ou Proprietary Parent Child) peuvent envoyer une clé secondaire (secret client) et un secret secondaire (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 demandes d’API pour l’authentification.

Vous pouvez recréer une clé secrète oubliée à partir de la page Projets du FedEx Developer Portal.

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

Renseignements importants dans ce document :

  • Clé client comme clé API
  • Secret client comme clé secrète
  • Clé secondaire comme clé client
  • Secret secondaire comme mot de passe client

Les identifiants API servent aux fins suivantes :

  • Ils identifient le projet qui fait un appel aux API.
  • Ils autorisent l’accès aux API qui sont activées dans le cadre de votre projet.

Comment obtenir les identifiants d’API

Les identifiants sont créés sur la base des données saisies dans le FedEx Developer Portal :

  • ID client : la clé API (ID client) est créée lorsqu’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 FedExMD (Internal, Compatible ou Proprietary Parent Child) doivent envoyer la clé secondaire (secret client) et le secret secondaire (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’inscription au moyen d’identifiants pour savoir comment obtenir la clé secondaire et le secret secondaire.

Fonctionnement de l’API d’autorisation

Autorisation d’API

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

Voici les renseignements d’entrée requis pour cette demande OAuth :

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

Pour les clients FedExMD Internal, Compatible ou Proprietary Parent Child, envoyez les entrées supplémentaires ci-dessous :

  • child_id : clé client renvoyée par la demande d’API d’inscription au moyen d’identifiants.
  • child_secret : mot de passe client renvoyé par la demande d’API d’inscription au moyen d’identifiants.

Le résultat de cette demande devrait renvoyer les éléments ci-dessous :

  • access_token : le jeton OAuth chiffré qui doit être utilisé dans la transaction 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. Le délai standard d’expiration des jetons est d’une heure.
  • Scope : portée de l’autorisation fournie au consommateur.

Exemples

Demande :

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″
}

Demande pour les clients FedExMD Internal ou Compatible :

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=Client ID&client_secret= Secret client&child_key=Child key&child_secret=Secret secondaire

Réponse :

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

Demande de clients FedExMD Proprietary Parent Child :

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=Client ID&client_secret= Secret client&child_key=Child key&child_secret=Secret secondaire

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 demande POST au point de terminaison oauth/jeton.

CLOSE

Response

Copy