API Leads — v1
API REST JSON pour envoyer des leads depuis vos campagnes (Meta Lead Ads, Zapier, partenaires) et les récupérer dans votre CRM.
URL de base
https://votre-domaine.fr/api/public/v1Authentification
Créez une clé dans l'espace admin (menu « Clés API »). Envoyez-la à chaque requête, au choix :
Authorization: Bearer ssc_xxxxxxxxxxxxxxxx
# ou
X-API-Key: ssc_xxxxxxxxxxxxxxxxUne clé manquante, invalide ou révoquée renvoie 401. Gardez vos clés côté serveur uniquement.
POST/leads
Crée un lead. Le consentement est historisé avec sa version et la date. Corps JSON :
Champs à renseigner
| Champ | Obligatoire | Type | Valeurs / règles |
|---|---|---|---|
| assures | Oui | texte | "moi" ou "couple" |
| date_naissance | Oui | date AAAA-MM-JJ | Âge entre 55 et 81 ans |
| date_naissance_conjoint | Si couple | date AAAA-MM-JJ | Âge entre 55 et 81 ans |
| prenom_conjoint | Si couple | texte | 60 caractères max. |
| code_postal | Oui | texte | 5 caractères, France (ex. 69003, 2A004) |
| situation | Oui | texte | "actif", "retraite" ou "autre" |
| couverture_actuelle | Oui | booléen | true si déjà une mutuelle |
| priorites | Oui | liste | Au moins un parmi hospitalisation, optique, dentaire, soins_courants |
| civilite | Oui | texte | "Mme" ou "M." |
| prenom | Oui | texte | 60 caractères max. |
| nom | Oui | texte | 80 caractères max. |
| Oui | texte | Email valide | |
| telephone | Oui | texte | Mobile français 06 ou 07 (+33 accepté) |
| consent_partenaires | Oui | booléen | Doit valoir true |
| source | Oui | texte | Origine du trafic, 60 caractères max. Cette valeur doit être demandée à Com&Click |
| click_id | Non | texte | Champ libre, 120 caractères max. Identifiant de clic ou de campagne au choix du partenaire |
Exemple
{
"assures": "couple",
"date_naissance": "1958-04-12",
"date_naissance_conjoint": "1960-09-01",
"prenom_conjoint": "Paul",
"code_postal": "69003",
"situation": "retraite",
"couverture_actuelle": true,
"priorites": ["optique", "dentaire"],
"civilite": "Mme",
"prenom": "Claire",
"nom": "Martin",
"email": "claire.martin@example.fr",
"telephone": "0612345678",
"consent_partenaires": true,
"source": "meta_lead_ads",
"click_id": "cmp-2026-10-19-xyz"
}curl -X POST https://votre-domaine.fr/api/public/v1/leads \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d @lead.json
# 201
{ "id": "6f1c…", "created_at": "2026-10-16T15:10:00Z" }Erreur de validation : 422 avec details par champ.
GET/leads
Liste les leads, du plus récent au plus ancien. Paramètres optionnels :
status: nouveau | contacte | qualifie | converti | perdusource: ex. landing, api, google…since: date ISO 8601 (ex. 2026-10-01T00:00:00Z)limit: 1–500 (défaut 100),offset: défaut 0
curl "https://votre-domaine.fr/api/public/v1/leads?status=nouveau&limit=50" \
-H "Authorization: Bearer $API_KEY"
# 200
{ "data": [ { "id": "…", "prenom": "Claire", … } ], "total": 128, "limit": 50, "offset": 0 }GET/leads/{id}
Récupère un lead. 404 s'il n'existe pas.
PATCH/leads/{id}
Met à jour le statut et/ou les notes (utile pour synchroniser votre CRM).
curl -X PATCH https://votre-domaine.fr/api/public/v1/leads/6f1c… \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{ "status": "contacte", "notes": "Rappel lundi 10h" }'Codes de réponse
200/201succès ·204pré-requête CORS400paramètres ou JSON invalides ·401clé absente ou invalide404introuvable ·422validation ·500erreur serveur