Passer au contenu principal

Aperçu

Steer AI utilise l’authentification par clé API pour sécuriser l’accès à nos services. Toutes les requêtes API doivent inclure une clé API valide dans les en-têtes de requête.

Obtenir vos clés API

1. Accéder à votre tableau de bord

  1. Connectez-vous à votre tableau de bord Steer AI
  2. Accédez à SettingsAPI Keys
  3. Cliquez sur Generate New API Key

2. Types de clés API

Clés de développement

• Pour les tests et le développement • Limites de débit réduites • Accès à l’environnement sandbox • Niveau gratuit disponible

Clés de production

• Pour les applications en production • Limites de débit complètes • Accès à l’environnement de production • Nécessite un plan payant

Méthodes d’authentification

Authentification via en-têtes HTTP

Incluez votre clé API dans l’en-tête Authorization :
curl -X GET "https://api.steerai.autos/v1/inspections" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Authentification via paramètres de requête

Vous pouvez aussi inclure la clé API en paramètre de requête :
curl -X GET "https://api.steerai.autos/v1/inspections?api_key=YOUR_API_KEY"
Note de sécurité : l’authentification par en-tête est recommandée plutôt que les paramètres de requête afin d’éviter l’exposition des clés API dans les logs serveur.

Configuration d’environnement

Environnement de développement

# .env file
STEER_AI_API_KEY=dev_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEER_AI_BASE_URL=https://api-sandbox.steerai.autos/v1

Environnement de production

# .env file
STEER_AI_API_KEY=prod_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEER_AI_BASE_URL=https://api.steerai.autos/v1

Authentification des SDK

SDK Python

from steer_ai import SteerAI

# Initialize client
client = SteerAI(api_key="YOUR_API_KEY")

# Or using environment variable
import os
client = SteerAI(api_key=os.getenv("STEER_AI_API_KEY"))

SDK JavaScript

import { SteerAI } from '@steerai/sdk';

// Initialize client
const client = new SteerAI({
  apiKey: 'YOUR_API_KEY'
});

// Or using environment variable
const client = new SteerAI({
  apiKey: process.env.STEER_AI_API_KEY
});

Tester votre authentification

Test rapide

Utilisez cet endpoint pour vérifier que votre authentification fonctionne :
curl -X GET "https://api.steerai.autos/v1/auth/test" \
  -H "Authorization: Bearer YOUR_API_KEY"
Réponse attendue :
{
  "status": "success",
  "message": "Authentication successful",
  "account": {
    "id": "acc_1234567890",
    "name": "Your Company Name",
    "plan": "professional"
  }
}

Bonnes pratiques de sécurité

• Stockez les clés API dans des variables d’environnement, jamais dans le code • Utilisez des clés différentes pour le développement et la production • Faites une rotation régulière des clés (recommandé : tous les 90 jours) • Révoquez immédiatement les clés compromises
• Utilisez toujours HTTPS pour les requêtes API • Implémentez une validation correcte des certificats SSL • Utilisez le whitelisting d’IP lorsque c’est possible • Surveillez l’usage de l’API pour détecter des comportements inhabituels
• Limitez les permissions des clés API au minimum requis • Utilisez des clés séparées pour différents services • Implémentez une gestion correcte des erreurs • Journalisez les échecs d’authentification pour le monitoring

Limitation de débit

Les clés API ont des limites différentes selon votre plan :
PlanRequêtes/heureRequêtes simultanées
Free1,0005
Starter10,00020
Professional100,000100
EnterpriseUnlimitedCustom

Gestion des erreurs

Erreurs d’authentification courantes

{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid",
    "type": "authentication_error"
  }
}
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 60 seconds",
    "type": "rate_limit_error",
    "retry_after": 60
  }
}

Gérer les erreurs d’authentification

try:
    response = client.inspections.create(data)
except SteerAIAuthenticationError as e:
    # Handle authentication error
    print(f"Authentication failed: {e.message}")
except SteerAIRateLimitError as e:
    # Handle rate limit
    print(f"Rate limit exceeded. Retry after {e.retry_after} seconds")

Dépannage

Clé API non fonctionnelle

  1. Vérifiez le format de la clé : doit commencer par dev_ ou prod_
  2. Vérifiez l’environnement : assurez-vous d’utiliser la bonne base URL
  3. Confirmez l’état du plan : vérifiez que votre compte est actif
  4. Testez avec curl : utilisez l’endpoint de test ci-dessus

Accès refusé

  1. Vérifiez les permissions de la clé : assurez-vous que la clé possède les scopes nécessaires
  2. Vérifiez les limites du plan : confirmez que vous n’avez pas dépassé les limites d’utilisation
  3. Vérifiez les restrictions IP : si un whitelisting est configuré, assurez-vous que votre IP est autorisée