API REST ScanReno.fr

Documentation pour les partenaires plan Agence. Base URL : https://scanreno.fr/api

Cette API est disponible avec le plan Agence (149 EUR HT/mois). Le plan Pro inclut l'acces au back-office web sans 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...
Les tokens expirent apres 24h. Reconnectez-vous pour obtenir un nouveau token.

Gestion des erreurs

CodeSignification
400Requete invalide (champs manquants ou format incorrect)
401Token manquant ou expire
403Acces refuse (plan insuffisant ou lead d'un autre partenaire)
404Ressource non trouvee
429Quota de leads atteint ou trop de requetes
500Erreur serveur

Soumettre un lead

POST /api/leads Public

Cet endpoint est public (pas de token requis). Il est utilise par le simulateur embed.

ChampTypeRequisDescription
nomstringouiNom du prospect
emailstringouiEmail du prospect
prenomstringnonPrenom
telstringnonTelephone
addressstringnonAdresse du logement
partnerstringnonID du partenaire (pour le tracking)
buildingobjectnonDonnées batiment (dpe, surface, year, etc.)
scenarioobjectnonScenario 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.

ParametreDescription
statusFiltrer par statut : new, contacted, rdv, devis, converted, lost
dpeFiltrer par classe DPE (A-G)
searchRecherche dans nom, email, adresse, ref
limitNombre max de résultats (defaut: 200, max: 1000)
offsetPagination
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

EvenementDeclencheur
lead.createdNouveau lead soumis depuis le simulateur
lead.updatedStatut d'un lead modifie
lead.convertedLead passe en statut "converti"
partner.subscribedChangement 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.

Acceder à l'espace partenaire · Retour au site