Fedex Logo

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 ou Proprietary Parent Child) 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 ou Proprietary Parent Child) 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 ou Proprietary Parent Child) 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.

Pour les clients FedEx® Internal, Compatible ou Proprietary Parent Child, envoyez 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 or Compatible :

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.

CLOSE

Response

Copy