Bonnes pratiques de sécurité
Protection des clés API
- Gardez vos clés API sécurisées : Ne les exposez jamais dans le code côté client
- Accès complet : Les clés API fournissent un accès complet à votre compte d’entreprise
- Rotation régulière : Faites tourner vos clés régulièrement pour une sécurité renforcée
- HTTPS obligatoire : Utilisez HTTPS pour toutes les requêtes API
Authentification des webhooks
Lorsque vous recevez des notifications webhook, vous devez vérifier leur authenticité :- Vérification de la signature : Utilisez l’en-tête
Jeko-Signaturepour vérifier l’authenticité des webhooks - Algorithme : La signature est générée en utilisant HMAC-SHA256 avec votre secret webhook
- HTTPS pour les endpoints : Utilisez des endpoints HTTPS pour vos URLs de webhook
Gestion des erreurs
- Ne loggez jamais les clés API dans vos journaux
- Ne partagez jamais vos clés API via des canaux non sécurisés
- Utilisez des variables d’environnement pour stocker vos clés API
Limitation de débit (Rate Limiting)
Pour garantir la stabilité et la disponibilité de l’API pour tous les utilisateurs, Jeko applique des limites de débit au niveau applicatif.Caractéristiques clés
Les limites sont appliquées par entreprise (business), et non par clé API. Cela signifie que la création de plusieurs clés API ne permet pas de contourner les limites.
Limites appliquées
| Type de limite | Quota | Fenêtre de temps |
|---|---|---|
| Limite standard | 500 requêtes | par minute |
| Limite burst | 1000 requêtes | par 5 minutes |
Comportement en cas de dépassement
Lorsque les limites sont dépassées :- Blocage temporaire : Votre entreprise sera temporairement bloquée pendant 10 à 15 minutes
- Réponse HTTP 429 : Toutes les requêtes pendant la période de blocage recevront une réponse
429 Too Many Requests - Journalisation : Les dépassements de limite sont enregistrés pour le monitoring
Exemple de réponse 429
Bonnes pratiques pour éviter le rate limiting
Implémenter le backoff exponentiel
En cas d’erreur 429, attendez progressivement plus longtemps entre chaque tentative (ex: 1s, 2s, 4s, 8s…)
Mettre en cache les réponses
Évitez les appels répétitifs pour les mêmes données en utilisant un cache local
Regrouper les requêtes
Utilisez les endpoints batch lorsqu’ils sont disponibles plutôt que des requêtes individuelles
Surveiller votre consommation
Implémentez un monitoring pour suivre votre utilisation de l’API