Créez des intégrations puissantes avec notre API REST complète. Plus de 818 points de terminaison, spécifications OpenAPI complètes et SDK TypeScript.
Soyez opérationnel avec l’API ECOSIRE en quelques minutes
Utilisez OAuth2 via Authentik ou des clés API pour obtenir un jeton de porteur JWT pour l'accès à l'API.
Utilisez le jeton du porteur dans l’en-tête Authorization pour appeler n’importe quel point de terminaison d’API.
Installez notre SDK TypeScript pour les appels d'API de type sécurisé avec gestion des erreurs intégrée.
Explorez 57 modules couvrant tous les aspects des opérations de l'entreprise
Deux méthodes d'authentification pour répondre à vos besoins d'intégration
Authentification sécurisée basée sur les cookies pour les applications de navigateur. Les jetons ne sont jamais exposés à JavaScript.
Utilisez les jetons du porteur JWT pour les intégrations de serveur à serveur et les clients API.
Try any endpoint directly from your browser. Select an endpoint, fill in parameters, and send live requests to the ECOSIRE API.
/auth/loginLogin with email and password
curl -X POST \ \
"https://api.ecosire.com/api/auth/login" \ \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "password": "secret" }'Install the ECOSIRE SDK in your language of choice and explore 6 common operations with full code snippets.
Choose your language and install the ECOSIRE SDK
npm install @ecosire/sdk6 common operations with full SDK snippets
1. Authentication
Obtain a JWT token and include it in subsequent requests.
import { EcosireClient } from '@ecosire/sdk';
const client = new EcosireClient({
baseUrl: 'https://api.ecosire.com/api',
apiKey: process.env.ECOSIRE_API_KEY,
});
// Login with credentials
const session = await client.auth.login({
email: '[email protected]',
password: 'secret',
});
console.log(session.token); // JWT token
console.log(session.user); // { id, email, name, role }
// All subsequent calls auto-attach the token
const contacts = await client.contacts.list();ECOSIRE sends real-time webhook events to your server when key actions occur — payments, subscriptions, license activations, and more.
Explore all 8 webhook events, generate cURL commands, and verify HMAC signatures.
Fired when a customer completes payment in a Stripe Checkout Session.
Trigger: Customer pays for a product in the storefront. Auto-grants licenses and creates order.
Example JSON payload delivered to your webhook endpoint for checkout.session.completed.
{
"id": "evt_1ABCxyz",
"object": "event",
"type": "checkout.session.completed",
"created": 1711000000,
"data": {
"object": {
"id": "cs_live_abc123",
"object": "checkout.session",
"customer_email": "[email protected]",
"amount_total": 24900,
"currency": "usd",
"mode": "payment",
"payment_status": "paid",
"metadata": {
"userId": "usr_01HXYZ",
"productIds": "[\"prd_01HODOOCRM\"]"
}
}
}
}| Event | |
|---|---|
checkout.session.completed | |
invoice.paid | |
customer.subscription.deleted | |
customer.subscription.updated | |
charge.refunded | |
payment_intent.payment_failed | |
license.validated | |
license.activated |
Verify webhook signatures in production
Always verify the stripe-signature header for Stripe events using your STRIPE_WEBHOOK_SECRET. For license events, verify the X-License-Signature header using ECOSIRE_LICENSE_SECRET. Unverified events should be rejected with 401.
All API errors follow RFC 7807 (Problem Details for HTTP APIs). Every error includes a machine-readable code and human-readable message.
| Status | Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 204 | No Content |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Conflict |
| 422 | Unprocessable |
| 429 | Too Many Requests |
| 500 | Server Error |
{
"statusCode": 422,
"error": "Unprocessable Entity",
"message": "Validation failed",
"details": [
{ "field": "email", "message": "Invalid email address" },
{ "field": "password", "message": "Must be at least 8 characters" }
]
}Limites d'utilisation équitables pour garantir la stabilité de l'API pour tous les utilisateurs
| Point de terminaison | Limite de taux |
|---|---|
| POST /support | 5/min |
| POST /crm/capture | 10/min |
| POST /ecosire-ai/ask | 20/min |
| POST /licenses/validate | 30/min |
| POST /licenses/activate | 10/min |
| POST /newsletter/subscribe | 5/min |
| Authenticated endpoints | 100/min |
X-RateLimit-LimitMaximum requests allowed in the windowX-RateLimit-RemainingRequests remaining in the current windowX-RateLimit-ResetUnix timestamp when the window resetsRetry-AfterSeconds to wait before retrying (on 429)Tout ce dont vous avez besoin pour construire votre intégration
Explorez et testez chaque point de terminaison avec notre interface utilisateur Swagger. Essayez les appels API directement depuis votre navigateur.
Téléchargez la spécification OpenAPI 3.0 complète au format JSON. Importez dans Postman, Insomnia ou vos propres outils.
Client API de type sécurisé avec saisie semi-automatique, gestion des erreurs et logique de nouvelle tentative intégrée.
Create and manage API keys from your dashboard. Each key can be scoped to specific permissions and rotated independently.
Generate new API keys from Dashboard → Settings → API Keys. Each key has a name, optional expiry date, and role scope.
Keys can be scoped to read-only, read-write, or admin. Admin keys can manage other keys and access all endpoints.
Rotate keys at any time without downtime. The old key remains valid for 24 hours after rotation for a smooth transition.
View per-key request counts, error rates, and last-used timestamps from the API Keys dashboard page.
Maintain separate keys for development, staging, and production. Production keys log all requests for audit purposes.
Webhook endpoints also use a separate ECOSIRE_LICENSE_SECRET for HMAC-SHA256 signature verification on license events.
# Pass the key as a Bearer token in the Authorization header curl https://api.ecosire.com/api/contacts \ -H "Authorization: Bearer ecos_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Or use HttpOnly cookies (browser-based auth — set automatically on login) # Cookie: ecosire_auth=<jwt_token>
Questions courantes sur l'API ECOSIRE
Inscrivez-vous à un compte ECOSIRE et accédez à Tableau de bord > Clés API pour générer vos informations d'identification API. L'accès à l'API est disponible sur tous les forfaits.
Oui, tous les comptes ECOSIRE incluent un accès API. Les limites tarifaires varient selon le forfait. Le niveau gratuit prend en charge jusqu'à 1 000 appels API par jour.
Nous prenons en charge OAuth2 via Authentik (recommandé pour les applications Web), les jetons de support JWT (pour le serveur à serveur) et les clés API (pour les intégrations simples).
Oui, ECOSIRE prend en charge les webhooks pour les notifications d'événements en temps réel. Configurez les points de terminaison des webhooks dans Tableau de bord > Paramètres > Webhooks.
Nous maintenons une disponibilité de 99,9 % pour tous les points de terminaison de l'API. La page d'état et l'historique des incidents sont disponibles sur status.ecosire.com.
Obtenez votre clé API et commencez à créer des intégrations en quelques minutes.