Modèle de données
API v1 (défaut) : schéma normalized générique (snake_case, types numériques, objets imbriqués). Les champs absents sont omis (pas de chaînes vides).
format=raw : modèle historique ImmoWP (camelCase français, compatible plugin WordPress).
// normalized (défaut)
{
"id": "…",
"reference": "297db",
"crm_source": "immofacile",
"offer_type": "sale",
"property_type": "house",
"title": { "fr": "Maison 3 chambres + bureau" },
"financial": { "sale_price": { "amount": 164650, "currency": "EUR" } },
"areas": { "living": { "value": 95, "unit": "sqm" } },
"rooms": { "total": 5, "bedrooms": 3 },
"location": { "city": "…", "postal_code": "…", "country": "FR", "geo": { "latitude": …, "longitude": … } },
"media": { "photos": [ { "url": "https://…", "ordinal": 0 } ] },
"energy": { "dpe_letter": "D", "ges_letter": "C" },
"amenities": [ "garden", "pool" ]
}Query : ?format=normalized (défaut) ou ?format=raw.
Modèle raw (legacy ImmoWP)
Champs en camelCase français. Les champs non renseignés par le CRM peuvent être vides ("").
Identité
affId— identifiant technique CRMaffNum— référence affichablepasserelleName— nom du connecteurtypeTransaction— vente / location / …typeCode,typeLibelle— type de biendateCreation,dateMaj,dateDispo
Textes (multilingues)
intitule,intituleEn,intituleEs,intituleDe,intituleIt,intituleRu,intituleNvcommentaires(+ variantes de langue)
Prix & location
prix,prixCurrency,prixM2,prixHorsHonoloyer,loyerMensuelCC,chargesMensuelles,depotGarantiemontantHonoAcq,montantHonoVen,pourcentageHono
Surfaces & pièces
surfaceHabitable,surfaceCarrez,surfaceTerrainnbrePieces,nbreChambres,nbreSDB,nbreWCnbreEtage,numEtage,anneeConstruction
Localisation
ville,codePostal,pays,adresselatitude,longitude(si fournis par le CRM)
Médias
photos— tableau d’URLs / objets médiavideo,visiteVirtuelle
Agence & négociateur
agenceNom,agenceTel,agenceMail,agenceLogonegoNom,negoPrenom,negoEmail,negoTel
Diagnostics
dpe/ classe énergie, GES — selon mapping CRM
Exemple minimal
{
"affId": "12345",
"affNum": "A-2026-01",
"intitule": "Appartement 3 pièces centre-ville",
"commentaires": "Lumineux, proche commerces…",
"typeTransaction": "Vente",
"prix": "285000",
"prixCurrency": "EUR",
"surfaceHabitable": "72",
"nbrePieces": "3",
"nbreChambres": "2",
"ville": "Lyon",
"codePostal": "69003",
"photos": ["https://cdn.example/1.jpg"]
}La disponibilité des champs dépend du CRM source. Un même champ peut être rempli par Apimo et vide sur un flux Hektor minimal.