Vous souhaitez automatiser la gestion de vos services Infomaniak ? Créer des comptes par programmation, gérer vos domaines, interagir avec kDrive depuis vos applications ? Les API Infomaniak le permettent. Ce guide technique vous montre comment démarrer.
Vue d'ensemble des API Infomaniak
Infomaniak expose plusieurs API pour interagir avec ses services :
- API Manager – Gestion des produits, utilisateurs, facturation
- API kDrive – Gestion des fichiers, partages, métadonnées
- API Mail – Gestion des boîtes mail, alias, filtres
- API DNS – Gestion des enregistrements DNS
Les API suivent les standards REST et retournent du JSON.
Authentification
Obtenir un token API
- Connectez-vous à Infomaniak Manager
- Allez dans votre profil → "API" ou "Tokens"
- Créez un nouveau token
- Définissez les permissions (scopes) nécessaires
- Copiez le token généré (il ne sera plus affiché)
Utiliser le token
Incluez le token dans l'en-tête de vos requêtes :
``` Authorization: Bearer VOTRE_TOKEN_ICI ```Sécurité des tokens
- Ne commitez jamais un token dans un dépôt Git
- Utilisez des variables d'environnement
- Créez des tokens avec les permissions minimales nécessaires
- Révoquez les tokens inutilisés
Exemples d'utilisation
Lister vos produits (API Manager)
```bash curl -X GET "https://api.infomaniak.com/1/products" \ -H "Authorization: Bearer VOTRE_TOKEN" \ -H "Content-Type: application/json" ```Réponse :
```json { "result": "success", "data": [ { "id": 12345, "name": "Mail Hosting", "status": "active" }, { "id": 12346, "name": "kSuite", "status": "active" } ] } ```Créer un fichier sur kDrive (API kDrive)
```bash curl -X POST "https://api.infomaniak.com/2/drive/{drive_id}/files/upload" \ -H "Authorization: Bearer VOTRE_TOKEN" \ -F "file=@/chemin/vers/fichier.pdf" \ -F "directory_id=1" ```Ajouter un enregistrement DNS
```bash curl -X POST "https://api.infomaniak.com/1/domain/{domain_id}/dns/record" \ -H "Authorization: Bearer VOTRE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "type": "A", "source": "www", "target": "123.45.67.89", "ttl": 3600 }' ```SDK et bibliothèques
Vous pouvez appeler l'API directement avec n'importe quel langage capable de faire des requêtes HTTP. Quelques exemples :
Python
```python import requests API_TOKEN = "votre_token" BASE_URL = "https://api.infomaniak.com" headers = { "Authorization": f"Bearer {API_TOKEN}", "Content-Type": "application/json" } # Lister les produits response = requests.get(f"{BASE_URL}/1/products", headers=headers) products = response.json() for product in products["data"]: print(f"{product['name']}: {product['status']}") ```JavaScript (Node.js)
```javascript const axios = require('axios'); const API_TOKEN = process.env.INFOMANIAK_TOKEN; const BASE_URL = 'https://api.infomaniak.com'; const client = axios.create({ baseURL: BASE_URL, headers: { 'Authorization': `Bearer ${API_TOKEN}`, 'Content-Type': 'application/json' } }); // Lister les produits async function listProducts() { const response = await client.get('/1/products'); return response.data.data; } listProducts().then(products => { products.forEach(p => console.log(`${p.name}: ${p.status}`)); }); ```PHP
```php Cas d'usage d'automatisationProvisionnement d'utilisateurs
Automatisez la création de comptes lors de l'arrivée de nouveaux collaborateurs :
- Votre RH enregistre l'arrivée dans le SIRH
- Un script détecte la nouvelle entrée
- Via l'API, il crée le compte mail et l'accès kDrive
- Un email de bienvenue est envoyé automatiquement
Sauvegarde automatisée
Téléchargez régulièrement vos données kDrive vers un autre emplacement :
- Script planifié (cron) toutes les nuits
- Liste les fichiers modifiés récemment via l'API
- Télécharge les fichiers concernés
- Les stocke sur un NAS local ou Swiss Backup
Gestion DNS dynamique
Mettez à jour vos enregistrements DNS automatiquement :
- Votre IP publique change (connexion sans IP fixe)
- Un script détecte le changement
- Via l'API DNS, il met à jour l'enregistrement A
- Votre domaine pointe toujours vers la bonne IP
Reporting
Générez des rapports automatiques sur l'utilisation des services :
- Script hebdomadaire
- Collecte les statistiques via les différentes API
- Génère un rapport (PDF, email)
- L'envoie aux responsables
Limites et bonnes pratiques
Rate limiting
Les API ont des limites de requêtes pour éviter les abus :
- Respectez les limites documentées
- Implémentez des délais entre les requêtes si nécessaire
- Gérez les erreurs 429 (Too Many Requests)
Gestion des erreurs
Les API retournent des codes d'erreur explicites :
200– Succès400– Requête malformée401– Token invalide ou expiré403– Permissions insuffisantes404– Ressource non trouvée429– Trop de requêtes500– Erreur serveur
Gérez ces erreurs dans votre code pour des automatisations robustes.
Idempotence
Concevez vos scripts pour être idempotents : exécuter deux fois le même script ne doit pas créer de doublons ou d'erreurs.
Documentation
La documentation officielle des API Infomaniak est disponible sur le site développeur d'Infomaniak. Vous y trouverez :
- Liste complète des endpoints
- Paramètres acceptés
- Exemples de requêtes et réponses
- Changelog des versions
Besoin d'aide ?
Pour des intégrations complexes ou des développements sur mesure, InfoSwitch peut vous accompagner. Nous connaissons bien les API Infomaniak et pouvons développer les automatisations dont vous avez besoin.
Conclusion
Les API Infomaniak ouvrent de nombreuses possibilités d'automatisation. Que ce soit pour le provisionnement d'utilisateurs, la gestion de fichiers ou l'administration DNS, vous pouvez intégrer Infomaniak dans vos workflows automatisés.
Commencez par des scripts simples, testez bien, et étendez progressivement. L'investissement en développement est rapidement rentabilisé par le temps gagné au quotidien.
Prêt à migrer vers Infomaniak ?
Contactez-nous pour un audit gratuit de 15 minutes. Nous analyserons votre situation et vous fournirons un devis personnalisé.
Demander un audit gratuit