Limites de taux
Comprendre les limites de requêtes API Syndic+ et optimiser votre usage.
Pourquoi des limites ?#
Les limites de taux (rate limits) protègent la plateforme Syndic+ contre les abus, les boucles d'intégration défectueuses et les pics de charge qui dégraderaient l'expérience des autres utilisateurs.
Limites par plan#
| Plan | Requêtes / minute | Requêtes / jour | Outils MCP / min |
|---|---|---|---|
| Gratuit | 30 | 1 000 | 10 |
| Starter | 120 | 10 000 | 60 |
| Gestion | 300 | 50 000 | 180 |
| Pro | 600 | 200 000 | 600 |
| Entreprise | Sur mesure | Sur mesure | Sur mesure |
Les limites sont appliquées par syndicat, pas par utilisateur. Si plusieurs admins utilisent l'API en même temps, ils partagent le même quota.
Headers de réponse#
Chaque réponse API inclut des headers indiquant votre quota restant :
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 284
X-RateLimit-Reset: 1735689600
X-RateLimit-Limit— quota par minute pour votre planX-RateLimit-Remaining— requêtes restantes dans la fenêtre couranteX-RateLimit-Reset— timestamp Unix auquel la fenêtre se réinitialise
Dépassement de quota#
Quand vous dépassez le quota, l'API renvoie :
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32000,
"message": "RATE_LIMITED",
"data": {
"retryAfter": 42
}
}
}
Le header HTTP inclut aussi :
Retry-After: 42
Attendez le nombre de secondes indiqué avant de réessayer. Ne bouclez pas immédiatement, vous resteriez dans un état limité.
Bonnes pratiques#
1. Utiliser le cache#
Les endpoints de lecture (list_*, get_*) sont idempotents. Cachez leurs réponses côté client pendant 1 à 5 minutes pour réduire drastiquement votre nombre d'appels.
2. Pagination#
Les grands jeux de données sont paginés par défaut (50 éléments par page). Demandez pageSize: 200 pour des exports ponctuels plutôt que 4 appels successifs.
3. Backoff exponentiel#
Si vous recevez une erreur RATE_LIMITED :
Tentative 1 : attendre 1 seconde
Tentative 2 : attendre 2 secondes
Tentative 3 : attendre 4 secondes
Tentative 4 : attendre 8 secondes
Abandonner après 5 tentatives
4. Webhooks plutôt que polling#
Au lieu de faire un list_co_owners toutes les 30 secondes pour détecter les changements, inscrivez-vous à des webhooks qui vous notifient en temps réel.
5. Batcher les écritures#
Si vous créez 100 copropriétaires, faites un seul appel bulk_create_co_owners plutôt que 100 appels create_co_owner.
Cas particuliers#
Import massif#
Le plan Gestion et supérieur débloquent une fenêtre d'import massif (10 000 requêtes en 10 minutes) quand vous utilisez les endpoints bulk_* ou les imports Microsoft/CSV.
Endpoints critiques#
Certains endpoints ont leurs propres limites, indépendantes du quota général :
| Endpoint | Limite |
|---|---|
/api/auth/* | 10 requêtes / minute / IP |
/api/oauth/authorize | 20 requêtes / minute / IP |
/api/oauth/token | 60 requêtes / minute / client |
| PDF generation | 100 PDFs / heure / syndicat |
Augmenter ses limites#
Si votre intégration légitime atteint régulièrement le plafond :
- Vérifier que le cache est activé côté client (souvent la cause #1)
- Passer au plan supérieur depuis Paramètres → Facturation
- Contacter les ventes pour un plan Entreprise sur mesure (
ventes@syndicplus.ca)
Monitoring#
Paramètres → Développeur → Usage API affiche :
- Requêtes par heure sur les 24 dernières heures
- Top 10 des endpoints les plus appelés
- Taux d'erreur
RATE_LIMITED - Évolution du quota journalier