API REST ScanReno.fr
Documentation pour les partenaires plan Agence. Base URL : https://scanreno.fr/api
Introduction
L'API ScanReno permet d'intégrer la gestion de leads rénovation énergétique dans vos propres outils. Toutes les réponses sont en JSON.
curl -H "Authorization: Bearer VOTRE_TOKEN" https://scanreno.fr/api/leads
Authentification
L'API utilise des tokens JWT. Obtenez un token via l'endpoint de login :
POST /api/partner/login
{
"email": "contact@entreprise.fr",
"password": "votre_mot_de_passe"
}
Reponse :
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"partner": {
"id": "dupont-rénovation",
"name": "Dupont Rénovation",
"plan": "agency",
"lead_limit": -1,
"leads_this_month": 42
}
}
Incluez le token dans le header Authorization de chaque requete :
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Gestion des erreurs
| Code | Signification |
|---|---|
400 | Requete invalide (champs manquants ou format incorrect) |
401 | Token manquant ou expire |
403 | Acces refuse (plan insuffisant ou lead d'un autre partenaire) |
404 | Ressource non trouvee |
429 | Quota de leads atteint ou trop de requetes |
500 | Erreur serveur |
Soumettre un lead
POST /api/leads Public
Cet endpoint est public (pas de token requis). Il est utilise par le simulateur embed.
| Champ | Type | Requis | Description |
|---|---|---|---|
nom | string | oui | Nom du prospect |
email | string | oui | Email du prospect |
prenom | string | non | Prenom |
tel | string | non | Telephone |
address | string | non | Adresse du logement |
partner | string | non | ID du partenaire (pour le tracking) |
building | object | non | Données batiment (dpe, surface, year, etc.) |
scenario | object | non | Scenario choisi (name, price, works) |
// Exemple
POST /api/leads
{
"nom": "Dupont",
"prenom": "Marie",
"email": "marie@example.fr",
"tel": "06 12 34 56 78",
"address": "24 Rue des Tilleuls, 14000 Caen",
"partner": "dupont-rénovation",
"building": { "dpe": "E", "surface": 120, "year": 1975 },
"scenario": { "name": "ITE + PAC", "price": 45000 }
}
Lister les leads
GET /api/leads Auth requise
Retourne uniquement les leads de votre compte partenaire.
| Parametre | Description |
|---|---|
status | Filtrer par statut : new, contacted, rdv, devis, converted, lost |
dpe | Filtrer par classe DPE (A-G) |
search | Recherche dans nom, email, adresse, ref |
limit | Nombre max de résultats (defaut: 200, max: 1000) |
offset | Pagination |
GET /api/leads?status=new&dpe=E&limit=50
// Reponse
{
"leads": [ { "id": 1, "ref": "SIM-ABC123", "nom": "Dupont", ... } ],
"total": 142,
"limit": 50,
"offset": 0
}
Detail d'un lead
GET /api/leads/:id Auth requise
Retourne le detail complet du lead avec ses notes.
Mettre a jour un lead
PATCH /api/leads/:id Auth requise
PATCH /api/leads/42
{ "status": "contacted" }
Statuts possibles : new, contacted, rdv, devis, converted, lost
Ajouter une note
POST /api/leads/:id/notes Auth requise
POST /api/leads/42/notes
{ "text": "Client interesse, RDV fixe au 15/03" }
Statistiques
GET /api/stats Auth requise
// Reponse
{
"total": 142,
"thisMonth": 23,
"converted": 18,
"conversionRate": 13,
"byStatus": [ { "status": "new", "c": 45 }, ... ],
"byDpe": [ { "dpe": "D", "c": 32 }, ... ],
"byMonth": [ { "month": "2026-02", "c": 23 }, ... ]
}
Export CSV
GET /api/export/csv Auth requise
Telecharge un fichier CSV avec tous vos leads. Le fichier est encode en UTF-8 avec BOM pour compatibilite Excel.
Webhooks
Creer un webhook
POST /api/webhooks Auth requise
POST /api/webhooks
{
"event": "lead.created",
"url": "https://votre-crm.com/webhook/scanreno"
}
Lister les webhooks
GET /api/webhooks Auth requise
Supprimer un webhook
DELETE /api/webhooks/:id Auth requise
Evenements webhook
| Evenement | Declencheur |
|---|---|
lead.created | Nouveau lead soumis depuis le simulateur |
lead.updated | Statut d'un lead modifie |
lead.converted | Lead passe en statut "converti" |
partner.subscribed | Changement de plan d'abonnement |
Payload webhook
Chaque appel webhook contient :
{
"event": "lead.created",
"data": {
"ref": "SIM-ABC123",
"nom": "Dupont",
"email": "marie@example.fr",
"address": "24 Rue des Tilleuls, 14000 Caen",
"partner": "dupont-rénovation",
"dpe": "E",
"scenario_name": "ITE + PAC"
},
"timestamp": "2026-02-28T14:30:00.000Z"
}
L'appel inclut un header X-Webhook-Signature (HMAC-SHA256) pour verifier l'authenticite.
Information partenaire
GET /api/partners/:id Public
Retourne les informations publiques et le quota restant du partenaire.
Dashboard partenaire
GET /api/partner/dashboard Auth requise
Retourne un resume complet : quota, stats, leads recents.
Besoin d'aide ?
Contactez-nous a api@scanreno.fr pour toute question technique.