Aide aux développeurs API en mode OAuth2


Les aides proposées par l'AIFE vous permettront de faire les premiers tests et appels API vers la qualification puis vers la production. Ces aides sont à partager avec la communauté de développeurs API. Vous pouvez contribuer à l'enrichissement de ces aides en nous contactant par e-mail.

Table des matières

1     Rappel des prérequis

Voici les pré requis pour pouvoir faire des appels API en qualification :

Ces trois étapes vous permettent de faire des appels API en qualification.

2     1er test API avec SOAP UI

2.1       Principe

La plateforme Chorus Pro permet de gérer par webservice les factures envoyées aux clients institutionnels. Pour réaliser la connexion, il faut : - une structure identifiée (SIRET de la société maîtresse) qui supervise éventuellement d’autres structures (autres SIRET) - un utilisateur gestionnaire (principal ou secondaire) - un compte utilisateur technique attaché à la structure - activer les droits d’accès à l’API pour cette structure.

 

2.2       Prérequis

 

2.3       Procédure

Au préalable de l’exécution de l’appel API Chorus Pro, l’utilisateur doit récupérer un « Access Token ». La récupération de ce jeton est décrite dans le guide utilisateur de PISTE.

Afin de procéder à l’appel, suivre les étapes suivantes pour paramétrer le SOAPui :

Depuis la fenêtre de l’appel SOAPui, cliquer sur « Auth » (encadré rouge ci-dessous).

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Suite au clic, le bloc d’authentification s’affiche comme illustré ci-dessous :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Sélectionner « Add new authorization », une nouvelle pop-in s’affiche :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Préciser dans le champ « type », la valeur OAuth2.0 et choisir un profil.

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Suite à la validation, la nouvelle authorization est créée :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Cliquer sur « Get Token ».

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Une fois l’access Token généré, procéder à l’appel API Chorus Pro comme décrit ci-dessous :

 

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Procéder à la création d’un Header en cliquant sur le bouton [Headers] et sur le « + » :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

Saisir « cpro-account » comme nom de header et valider :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.


Le
format d'encodage attendu : l’encodage du contenu doit être obligatoirement en UTF-8 (Content-Type: charset=UTF-8).

 

3     Récupération de l'access Token pour procéder à un appel API Chorus Pro en mode OAuth2 avec la commande Curl

 

De même que pour l’exécution de l’appel API Chorus Pro (depuis soapUi), l’utilisateur doit premièrement récupérer un « Access Token » via la commande Curl.

 

Le jeton est obtenu en curl en utilisant la commande suivante depuis Internet :

curl –k –H "content-type :application/x-www-form-urlencoded" –d "grant_type=client_credentials&client_id=XXXXX&client_secret=XXXXXXX&scope=openid" –X POST https://sandbox-oauth.piste.gouv.fr/api/oauth/token

Ou la commande ci-dessous depuis le Réseau Interministériel de l'État (RIE):

curl –k –H "content-type :application/x-www-form-urlencoded" –d "grant_type=client_credentials&client_id=XXXXX&client_secret=XXXXXXX&scope=openid" –X POST https://sandbox-oauth.aife.finances.rie.gouv.fr/api/oauth/token

 

4     Consommation de l'API en Curl

 

Pour consommer l’API, il faut effectuer la requête suivante (en ajoutant l’entête Authorization: Bearer à chaque requête) depuis internet :

curl -k -H "content-type: application/json; charset=UTF-8" -H "Authorization:Bearer <access_token>" -H "cpro-account:<logintechnique:password encodée en base 64>" --data '{votre_body_json}' –X POST https://sandbox-api.piste.gouv.fr/{votre_API}

Ou la commande suivante depuis le réseau interministériel de l'État (RIE):

curl -k -H "content-type: application/json; charset=UTF-8" -H "Authorization:Bearer <access_token>" -H "cpro-account:<logintechnique:password encodée en base 64>" --data '{votre_body_json}' –X POST https://sandbox-api.aife.finances.rie.gouv.fr/{votre_API}

La réponse retournée est similaire à la capture écran ci-dessous :

Cette image est décorative et n'apporte pas d'information utile aux lecteurs d'écran.

 

5     Liste des URL PISTE pour accéder aux API Chorus Pro

 

https://sandbox-api.piste.gouv.fr (type d’accès : consommation SANDBOX) ;

https://api.piste.gouv.fr (type d’accès : consommation PRODUCTION) ;

https://piste.gouv.fr/ (type d’accès : portail PISTE) ;

https://sandbox-oauth.piste.gouv.fr/api/oauth/token (type d’accès : obtention d’un jeton SANDBOX) ;

https://oauth.piste.gouv.fr/api/oauth/token (type d’accès : obtention d’un jeton PRODUCTION).

https://api.aife.finances.rie.gouv.fr (type d’accès : consommation PRODUCTION) ;

https://oauth.aife.finances.rie.gouv.fr/api/oauth/token (type d’accès : obtention d’un jeton PRODUCTION) ;

https://sandbox-api.aife.finances.rie.gouv.fr (type d’accès : consommation SANDBOX) ;

https://sandbox-oauth.aife.finances.rie.gouv.fr/api/oauth/token (type d’accès : obtention d’un jeton SANDBOX).