API Reference
L'API REST de Qualify CRM vous permet d'intégrer la gestion de leads dans vos outils et workflows existants. Tous les endpoints sont accessibles via HTTPS avec authentification JWT.
URL de base
https://qualify-crm.com/apiAuthentification
Les endpoints authentifiés nécessitent un token JWT dans le header Authorization et un identifiant de projet dans le header X-Project-Id.
// Header required for authenticated endpoints
Authorization: Bearer <your-jwt-token>
// Multi-tenant context (required for project-scoped endpoints)
X-Project-Id: <your-project-id>Obtenez un token via POST /api/auth/login. Le token expire après 24h — utilisez /api/auth/refresh pour le renouveler.
Rate Limiting
Les endpoints publics (webhook, contact, tracking) sont limités à 60 requêtes/minute par IP. Les endpoints authentifiés sont limités à 200 requêtes/minute par token.
Authentification
Inscription, connexion, tokens JWT et gestion de session.
Leads
Créer, lister, modifier et exporter des leads.
Webhooks entrants
Recevoir des leads depuis des formulaires WordPress ou tout autre source.
Sites
Gérer les sites WordPress connectés.
Formulaires
Gérer les formulaires et récupérer les snippets d'intégration.
Analytiques
Métriques de performance, conversion et délivrabilité.
Tracking comportemental
Enregistrer les visites de pages pour les leads connus.
Relances email
Templates, envoi, génération IA et statistiques de relance.
Exemple JavaScript
Voici comment récupérer vos leads depuis une application JavaScript :
// Example: Fetch leads with JavaScript
const response = await fetch('https://qualify-crm.com/api/leads?page=1&limit=10', {
headers: {
'Authorization': 'Bearer ' + token,
'X-Project-Id': projectId,
'Content-Type': 'application/json',
},
});
const { leads, total } = await response.json();
console.log(`Found ${total} leads`);Intégration WordPress
Deux méthodes pour envoyer des leads depuis WordPress :
<!-- Add this to your WordPress site -->
<div data-qcrm="<formId>"></div>
<script src="https://qualify-crm.com/api/forms/<formId>/snippet.js" defer></script>
<!-- Or use the generic webhook endpoint -->
<script>
document.getElementById('my-form').addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
await fetch('https://qualify-crm.com/api/webhook/<siteKey>/generic', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(Object.fromEntries(formData)),
});
});
</script>Besoin d'aide ? Consultez la page Webhooks pour la configuration HMAC et les événements temps réel.