Site iconSite icon Anthony Jacob

Comment utiliser l’API d’OVH avec Postman

Temps de lecture estimé: 5 minutes

Salut !!

j’avais déjà utilisé l’api d’OVH pour créer un Token pour manipuler mes zones DNS dans le cadre de la mise en place d’un certificat SSL Wildcard Let’s Encrypt.
Récemment, j’ai aussi mis en place le renouvellement automatique d’un certificat Let’s Encrypt pour mon homelab VMware ESXi.

puis je me suis dis que j’allais m’occuper de mon NAS Synology pour lequel je remplace manuellement le certificat tous les 90 jours (Je prépare un article pour la mise en place d’un renouvellement automatique)

En tâtonnant sur cette mise en place, j’ai créé quelques Tokens d’accès pour mes tests. maintenant qu’ils sont créés, je ne trouvais pas de moyen de les lister ou les supprimer.

Après quelques recherches, je suis tombé sur des articles de ce genre (sans réponse)

Donc je me suis dit que je n’étais pas le seul

Après, la réponse n’était pas forcement très loin non plus

https://help.ovhcloud.com/csm/fr-api-getting-started-ovhcloud-api?id=kb_article_view&sysparm_article=KB0042789

dans cet article je vais reprendre quelques bases sur l’API OVH en m’inspirant du guide ci-dessus et expliquer comment configurer Postman pour appeler directement l’API OVH.

Comment lister les applications de l’API OVH

pour ça, il suffit de se rendre sur la documentation de l’API OVH. Depuis cette interface, tu peux t’authentifier et tester les endpoints directement.

comme:

Configurer Postman pour utiliser l’API OVH

OK on peut tester des appels depuis la spécification de l’API OVHcloud. mais maintenant pour aller un peu plus loin j’aimerai configurer Postman.

Créer une application

rendez vous sur https://api.ovh.com/createApp/ pour créer une application et récupérer l’Application key et l'Application secret

Bien sur ces données doivent rester confidentielles !! Et ne t’inquiète pas, le screenshot c’est pour l’exemple, j’ai depuis supprimé l’application en question!!

Initialiser Postman

dans Postman, j’ai créé une nouvelle collection pour l’API d’OVH

ce qui me permet de définir des variables de Collection avec leur valeur pour

pour en savoir plus sur les variables Postman, c’est par ici

Demande de credentials

avant de pouvoir faire des appels à l’API, un premier appel est nécessaire pour obtenir des credentials, la consumerKey et une url pour l’autorisation. ça se fait avec le endpoint POST auth/credential.

je créer donc une nouvelle requête dans ma collection en utilisant les variables que j’ai créées juste avant.

Après envoi, j’ai obtenu une réponse similaire à celle-ci:


j’ouvre le lien dans mon navigateur pour valider l’autorisation

j’ai validé l’autorisation, je peux maintenant ajouter la consumerKey à ma variable Postman et j’ai toutes les variables qu’il me faut.

Comment lister et supprimer les credentials et les applications

maintenant, nous avons tout ce qu’il faut pour effectuer un « vrai » appel. moi j’ai ajouté tout ce qu’il fallait pour gérer l’authentification insi que tout ce qui est nécessaire pour lister et supprimer mes applications et mes credentials créés précédemment.

Ajouter les headers X-Ovh-Timestamp et X-Ovh-Signature

à partir de maintenant, pour appeler l’API, il faut ajouter aux appels une signature et le timestamp correspondant. ces headers sont construits dynamiquement, Pour cela, on va utiliser les scripts Pre-request de Postman.

je te mets directement le script ci dessous:

Rien de bien sorcier. J’ai d’abord ajouté des console.log pour suivre les étapes de la construction de ma signature, que je peux retrouver dans la console de Postman.

Ensuite, pour continuer avec l’explication du script :

  1. on appelle l’API OVH pour connaître le timestamp d’OVH.
  2. Cela nous permet de calculer le delta avec notre PC (s’il y en a un) et de générer la signature correcte avec le bon timestamp.
  3. On récupère les variables nécessaires pour construire la signature.
  4. On construit la signature au format attendu.
  5. On ajoute les headers X-Ovh-Timestamp et X-Ovh-Signature à la requête.

Voilà, à partir de là, le champ des possibles est ouvert.

Lister les credentials créés pour l’API d’OVH

Avec ce script Pre-request et les variables définies, tu peux maintenant lister et obtenir les détails de tous les credentials déjà créés.

déjà lister avec le endpoint GET /me/api/credential

Récupérer les détails d’un credential créé pour l’API d’OVH

Ensuite, tu peux obtenir les détails d’un credential spécifique que tu as créé en utilisant le endpoint GET /me/api/credential/{credentialId}

Supprimer un credential créé pour l’API d’OVH

et finalement, pour supprimer une autorisation / un credential, utilise le endpoint DELETE /me/api/credential/{credentialId}

Lister les applications créées pour l’API d’OVH

Après les credentials, tu peux faire la même chose avec les applications que tu as déjà créées avec le endpoint GET /me/api/application

Récupérer les détails d’une application créée pour l’API d’OVH

de la même manière, tu peux obtenir les détails d’une application spécifique que tu as créées avec le endpoint GET /me/api/application/{applicationId}

Supprimer une application créée pour l’API d’OVH

et pour finir, pour supprimer une application, utilise le endpoint DELETE /me/api/application/{applicationId}

Pour aller plus loin

l’article touche à sa fin. Pour aller plus loin, tu peux explorer tous les endpoints disponibles depuis la page OVHcloud API specification. Si tu développes tu peux également te faire tes propres outils en utilisant les wrappers disponibles pour différents langages.

Voilà ! Si tu es arrivé jusqu’ici, j’espère que cet article t’a été utile ! N’hésite pas à me faire un retour s’il t’a aidé ou s’il y a une correction à apporter.

En attendant je te dis à bientôt pour de nouvelles aventures!!

Partagez l'article:
Quitter la version mobile