Authentification
Authentifiez vos requêtes avec les clés API et les scopes
Authentification
L'API NERP Suite utilise des clés API pour authentifier les requêtes. Chaque clé est associée à des scopes qui définissent les permissions accordées.
Clé API
Toutes les requêtes doivent inclure votre clé API dans le header X-API-Key :
curl -X GET "https://api.nerpsuite.com/v1/public-api/products" \
-H "X-API-Key: sk_live_votre_cle_ici"
Ne partagez jamais votre clé API. Ne l'incluez pas dans du code côté client (frontend).
Format de la clé
Les clés API NERP Suite suivent le format :
sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
sk- Préfixe indiquant une clé secrètelive- Environnement (live = production)XXXX...- Identifiant unique généré
Scopes
Les scopes contrôlent ce que votre clé API peut faire. Voici les scopes disponibles :
| Scope | Description | Endpoints autorisés |
|---|---|---|
read:products | Lecture des produits | GET /products, GET /products/:id, GET /products/sku/:sku |
read:stock | Lecture du stock | GET /stock, GET /stock/product/:id, GET /products/:id/stock |
read:categories | Lecture des catégories | GET /categories, GET /categories/:id, GET /categories/:id/products |
read:customers | Lecture des clients | GET /customers, GET /customers/:id |
write:customers | Création de clients | POST /customers |
read:orders | Lecture des commandes | GET /orders, GET /orders/:id |
write:orders | Création de commandes | POST /orders |
read:campaigns | Lecture des campagnes | GET /campaigns/active, GET /campaigns/:id |
read:warehouses | Lecture des entrepôts | GET /warehouses, GET /warehouses/:id |
read:suppliers | Lecture des fournisseurs | GET /suppliers, GET /suppliers/:id |
read:stock-movements | Lecture des mouvements de stock | GET /stock-movements, GET /stock-movements/:id |
read:supplier-orders | Lecture des commandes fournisseurs | GET /supplier-orders, GET /supplier-orders/:id |
write:supplier-orders | Création/modification des commandes fournisseurs | POST /supplier-orders, PATCH /supplier-orders/:id |
read:analytics | Lecture des analytiques | GET /analytics/sales, GET /analytics/top-products |
read:accounting | Lecture de la comptabilité | GET /journal-entries, GET /journal-entries/:id |
read:webhooks | Lecture des webhooks | GET /webhooks, GET /webhooks/:id, GET /webhooks/:id/logs |
write:webhooks | Gestion des webhooks | POST /webhooks, PATCH /webhooks/:id, DELETE /webhooks/:id |
Bonnes pratiques
1. Utilisez des clés différentes par environnement
Créez des clés séparées pour le développement et la production.
2. Limitez les scopes au strict nécessaire
N'accordez que les permissions dont votre application a réellement besoin.
3. Rotation régulière des clés
Changez vos clés périodiquement, surtout si vous suspectez une compromission.
4. Stockez les clés de manière sécurisée
- Utilisez des variables d'environnement
- Ne committez jamais de clés dans votre code source
- Utilisez un gestionnaire de secrets en production
Révoquer une clé
Si vous pensez qu'une clé a été compromise :
- Allez dans Paramètres → API sur votre dashboard
- Trouvez la clé concernée
- Cliquez sur Révoquer
La clé sera immédiatement invalidée et toutes les requêtes l'utilisant recevront une erreur 401.
Erreurs d'authentification
| Code | Message | Cause |
|---|---|---|
| 401 | Invalid API key | Clé manquante, invalide ou révoquée |
| 403 | Insufficient scopes | La clé n'a pas le scope requis |
| 403 | An active Essential plan is required (code PLAN_REQUIRED) | Aucun plan Essential actif (essai terminé ou licence expirée) |