Authentification
L'Eaternity API utilise l'authentification Basic avec votre clé API pour sécuriser toutes les requests.
Aperçu
| Exigence | Détails |
|---|---|
| Type d'authentification | HTTP Basic Auth |
| Nom d'utilisateur | Votre clé API |
| Mot de passe | Vide (laisser vide) |
| Protocole | HTTPS uniquement (SSL/TLS obligatoire) |
| Prise en charge SNI | Server Name Indication obligatoire |
Obtenir votre clé API
Pour obtenir une clé API :
- Contactez Eaternity — E-mail : info@eaternity.ch. Indiquez le nom de votre entreprise, votre use case et le volume de requests estimé.
- Recevez la clé API — Vous recevez une clé API unique par e-mail sécurisé.
- Activez la licence — Votre clé API est associée à une ou plusieurs cuisines sous licence. Les cuisines sans licence renvoient des erreurs
403 Forbidden.
Votre clé API donne accès à vos données et génère des frais d'utilisation. Ne la partagez jamais publiquement et ne la versionnez jamais dans un système de contrôle de version.
Méthodes d'authentification
cURL
Utilisez l'option -u avec votre clé API comme nom d'utilisateur et un mot de passe vide (notez les deux-points) :
curl -u YOUR_API_KEY: https://co2.eaternity.ch/api/kitchens/
En-tête HTTP
Construisez manuellement l'en-tête Basic Auth :
# Base64 encode "YOUR_API_KEY:"
echo -n "YOUR_API_KEY:" | base64
# Result: WU9VUl9BUElfS0VZOg==
curl -H "Authorization: Basic WU9VUl9BUElfS0VZOg==" \
https://co2.eaternity.ch/api/kitchens/
Python
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://co2.eaternity.ch/api"
# Method 1: Using auth parameter
response = requests.get(
f"{BASE_URL}/kitchens/",
auth=(API_KEY, "")
)
# Method 2: Using headers
import base64
auth_header = base64.b64encode(f"{API_KEY}:".encode()).decode()
response = requests.get(
f"{BASE_URL}/kitchens/",
headers={"Authorization": f"Basic {auth_header}"}
)
JavaScript (Node.js)
// Using fetch with Buffer (Node.js)
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://co2.eaternity.ch/api';
const authHeader = Buffer.from(`${API_KEY}:`).toString('base64');
fetch(`${BASE_URL}/kitchens/`, {
headers: {
'Authorization': `Basic ${authHeader}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
Exigences SSL/TLS
Toutes les requests API doivent utiliser HTTPS. Le serveur API exige la prise en charge de Server Name Indication (SNI) — la plupart des bibliothèques HTTP modernes la gèrent par défaut. Détails : section SSL et SNI de la page d'introduction.
Limitation du débit
Contactez info@eaternity.ch pour connaître les limites de débit applicables à votre clé API.
Réponses d'erreur
Les erreurs d'authentification renvoient des codes de statut HTTP standard. Tous les codes d'erreur, dont 401 Unauthorized et 403 Forbidden, sont décrits dans la section Codes de statut HTTP.
Bonnes pratiques de sécurité
Variables d'environnement
Enregistrez les clés API dans des variables d'environnement, pas dans le code :
# .env file (add to .gitignore)
EATERNITY_API_KEY=your_actual_api_key_here
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv('EATERNITY_API_KEY')
Rotation des clés API
Renouvelez régulièrement vos clés API :
- Demandez une nouvelle clé API au support
- Mettez à jour vos applications avec la nouvelle clé
- Vérifiez le fonctionnement avec la nouvelle clé
- Demandez la désactivation de l'ancienne clé
Endpoints
Endpoints d'authentification, dont l'échange de token OAuth2.
Voir OAuth 2 Token pour l'endpoint d'échange de token.