Documentation sur l'API · v1.0
Documentation publique sur l'API
Affichez vos annonces immobilières publiées sur n'importe quel site Web ou application. Public, en lecture seule, aucune authentification requise.
- Aucune authentification
- Point de terminaison public, aucune clé API requise
- JSON RESTful
- API REST standard renvoyant JSON
Point de terminaison
https://api.habiata.lu/public-properties/by-company/{companyId}Paramètres de chemin
companyIdL'identifiant unique de l'entreprise dont vous souhaitez récupérer les propriétés publiées. Vous pouvez le trouver dans votre tableau de bord Habiata sous Intégrations.
Paramètres de requête
pageNuméro de page pour la pagination (indexé 1).
limitNombre de propriétés par page. Maximum 100.
portalPortail depuis lequel lire les annonces publiées. Par défaut habiata, le site de l'agence (MY_HABIATA_WEBSITE), qui peut aussi être nommé explicitement. Une valeur inconnue renvoie 400.
habiataathome.luwortimmo.luimmotopnextimmofiliaimmoweltle_figarokleinanzeigenwillhabenderstandardnewhomehomegatesrealityotodomingatlanimmowebselogerleboncoinkyerogreenacresproperstarjameseditionsearchRecherche en texte libre sur le titre, la description, l'adresse et la ville.
property_typeFiltrer par type de bien. Plusieurs valeurs séparées par des virgules (OU). Insensible à la casse. Voir la référence des types ci-dessous.
housedetached_housesemi_detachedterraced_housetownhousevillamansionfarmhousecountry_housechaletbungalowcottageapartmentstudiopenthouseduplextriplexloftmaisonetteattic_apartmentground_floornew_buildoff_planunder_constructionhouse_modelland_with_houseturnkey_projectinvestment_propertyrental_propertybuilding_landagricultural_landindustrial_landcommercial_landgarageparking_spacecarportunderground_parkingofficeoffice_buildingcoworking_spaceretail_spaceshopshopping_centershowroomrestaurantcafehotelbed_breakfastwarehousefactoryindustrial_unitlogistics_centerstorage_facilityhealthcareeducationalleisurereligiousutilitygas_stationcar_washworkshopcommerciallandothertransaction_typeFiltrer par sens de transaction ou cycle de vie. Valeurs séparées par des virgules (OU). buy et rent sont des familles ; sold et rented sont exclus sauf s'ils sont nommés explicitement ; passez off_market pour les annonces retirées/en pause uniquement.
buyrentnewvaluationothersous_compromisreservedsoldrentedoff_marketmin_pricePrix minimum.
max_pricePrix maximum.
cityNoms de villes séparés par des virgules ; correspondance exacte, insensible à la casse.
cantonFiltrer par canton (insensible à la casse).
zip_codeFiltrer par code postal (insensible à la casse).
countryFiltrer par pays (insensible à la casse).
districtNoms de quartiers séparés par des virgules (ex. Limpertsberg,Hamm) ; correspondance exacte, insensible à la casse.
min_bedroomsNombre minimal de chambres.
max_bedroomsNombre maximal de chambres.
min_bathroomsNombre minimal de salles de bain.
min_areaSurface habitable minimale (dans l'unité du bien, généralement m²).
max_areaSurface habitable maximale (dans l'unité du bien, généralement m²).
min_land_areaSurface de terrain minimale (dans l'unité du bien, généralement m²).
max_land_areaSurface de terrain maximale (dans l'unité du bien, généralement m²).
min_year_builtAnnée de construction minimale.
max_year_builtAnnée de construction maximale.
min_floor_levelÉtage minimal de l'unité.
max_floor_levelÉtage maximal de l'unité.
min_garagesNombre minimal de garages (places en garages fermés et verrouillables).
min_indoor_parking_spacesNombre minimal de places dans un parking couvert partagé.
min_outdoor_parking_spacesNombre minimal de places extérieures.
min_carportsNombre minimal de carports (couverts, ouverts sur les côtés).
max_monthly_chargesCharges mensuelles maximales (utile pour les locations).
energy_classClasses énergétiques séparées par des virgules (OU), insensible à la casse. Valeurs connues : A+, A, B, C, D, E, F, G, H, I.
A+ABCDEFGHIenvironmental_classClasses environnementales séparées par des virgules (OU), insensible à la casse.
thermal_insulation_classClasses d'isolation thermique séparées par des virgules (OU), insensible à la casse.
heating_typeTypes de chauffage séparés par des virgules (OU) ; correspondance partielle, insensible à la casse. Valeurs connues : gas, oil, electric, wood, pellet, solar, heat pump, geothermal, district.
gasoilelectricwoodpelletsolarheat pumpgeothermaldistrictglazing_typeTypes de vitrage séparés par des virgules (OU) ; correspondance partielle, insensible à la casse. Valeurs connues : simple, double, triple.
simpledoubletripleconstruction_typeTypes de construction séparés par des virgules (OU) ; correspondance partielle, insensible à la casse.
amenitiesClés d'équipement séparées par des virgules ; le bien doit avoir CHAQUE équipement listé (ET). Valeurs en snake_case minuscule, ex. air_conditioning.
pets_allowedFiltrer les biens acceptant les animaux. Les filtres booléens acceptent true/false/1/0 et ne correspondent que si le flag est explicitement renseigné (null ne correspond jamais).
is_furnishedFiltrer les biens meublés.
has_elevatorFiltrer les biens avec ascenseur.
has_balconyFiltrer les biens avec balcon.
has_gardenFiltrer les biens avec jardin.
has_terraceFiltrer les biens avec terrasse.
has_separate_wcFiltrer les biens avec WC séparé.
has_caveFiltrer les biens avec cave.
has_wine_cellarFiltrer les biens avec cave à vin.
has_atticFiltrer les biens avec grenier.
has_solar_panelsFiltrer les biens avec panneaux solaires.
has_fireplaceFiltrer les biens avec cheminée.
has_underfloor_heatingFiltrer les biens avec chauffage au sol.
has_laundry_roomFiltrer les biens avec buanderie.
has_swimming_poolFiltrer les biens avec piscine.
has_saunaFiltrer les biens avec sauna.
has_hammamFiltrer les biens avec hammam.
has_alarmFiltrer les biens avec alarme.
has_intercomFiltrer les biens avec interphone.
has_videophoneFiltrer les biens avec visiophone.
has_video_surveillanceFiltrer les biens avec vidéosurveillance.
featuredFiltrer les annonces mises en avant.
highlightFiltrer les annonces highlight.
sortOrdre de tri. Par défaut : l'ordre manuel de l'agence.
price_ascprice_descnewestoldestExemples de codes
Demande de base
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?page=1&limit=20"Avec filtres
# Filter by property type
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?property_type=apartment"
# Filter by transaction type (buy/rent are families; sold/rented only when named)
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?transaction_type=buy"
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?transaction_type=sold,rented"
# Search properties
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?search=Luxembourg&limit=10"
# Filter by district / quartier
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?district=Limpertsberg,Hamm"
# Filter by portal (habiata, athome.lu, wortimmo.lu, immotop, nextimmo, filia)
curl "https://api.habiata.lu/public-properties/by-company/YOUR_COMPANY_ID?portal=nextimmo&page=1&limit=20"Réponse
Exemple de réponse
200 OK{
"properties": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"company_id": "YOUR_COMPANY_ID",
"external_id": "REF-12345",
"project_id": "proj-uuid-residence-du-parc",
"project_name": "Résidence du Parc",
"title": "Beautiful Apartment in Kirchberg",
"titles": {
"en": "Beautiful Apartment in Kirchberg",
"fr": "Bel appartement à Kirchberg",
"de": "Schöne Wohnung in Kirchberg"
},
"description": "Spacious 3-bedroom apartment with panoramic views...",
"descriptions": {
"en": "Spacious 3-bedroom apartment with panoramic views...",
"fr": "Spacieux appartement de 3 chambres avec vue panoramique...",
"de": "Geräumige 3-Zimmer-Wohnung mit Panoramablick..."
},
"property_type": "apartment",
"transaction_type": "buy",
"status": "active",
"price": 850000,
"room_count": 4,
"bedrooms": 3,
"bathrooms": 2,
"area": 120,
"area_unit": "sqm",
"floor_level": 5,
"address": "2 Rue du Fort Thüngen",
"street": "Rue du Fort Thüngen",
"house_number": "2",
"city": "Luxembourg",
"district": "Kirchberg",
"zip_code": "1499",
"country": "Luxembourg",
"publish_address": true,
"latitude": 49.6236,
"longitude": 6.1469,
"parcel_numbers": [
"123/4567"
],
"energy_class": "B",
"indoor_parking_spaces": 1,
"has_elevator": true,
"monthly_charges": 250,
"parking_fees": 35000,
"available_from": "2026-11-01",
"pet_policy": null,
"virtual_tour_url": "https://my.matterport.com/show/?m=EXAMPLE",
"highlighted_image": "https://cdn.habiata.lu/companies/YOUR_COMPANY_ID/living-room.jpg",
"highlighted_image_128": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/128.webp",
"highlighted_image_480": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/480.webp",
"highlighted_image_1080": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1080.webp",
"highlighted_image_1920": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1920.webp",
"images": [
{
"url": "https://cdn.habiata.lu/companies/YOUR_COMPANY_ID/living-room.jpg",
"url_128": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/128.webp",
"url_480": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/480.webp",
"url_1080": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1080.webp",
"url_1920": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1920.webp",
"is_main": true,
"sort_order": 0,
"caption": "Living room",
"width": 4032,
"height": 3024,
"alt_text": "Bright living room with floor-to-ceiling windows",
"focus_point": "50% 40%"
}
],
"nearby_places": [
{
"name": "Luxexpo tram stop",
"category": "tram_stop",
"distance": 350,
"latitude": 49.6282,
"longitude": 6.1641
}
],
"agents": [
{
"id": "agent-uuid",
"name": "Alex Smith",
"first_name": "Alex",
"last_name": "Smith",
"email": "alex.smith@example.com",
"phone": "+352 27 12 34 56",
"mobile": "+352 691 000 000",
"language": "fr",
"avatar": "https://cdn.habiata.lu/avatars/agent-uuid.jpg"
}
],
"portal_publications": [
{
"portal_integration_id": "portal-uuid",
"portal_type": "MY_HABIATA_WEBSITE",
"status": "PUBLISHED",
"external_id": null,
"published_at": "2025-01-15T10:30:00Z",
"unpublished_at": null,
"last_error": null,
"last_error_at": null
}
],
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-06-20T14:00:00Z"
}
],
"projects": [
{
"id": "proj-uuid-residence-du-parc",
"company_id": "YOUR_COMPANY_ID",
"name": "Résidence du Parc",
"descriptions": {
"fr": "Résidence de 12 appartements au cœur de Kirchberg."
},
"external_id": null,
"cover_images": [],
"property_count": 1
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 42,
"pages": 3
}
}Réponses aux erreurs
| Statut | Description |
|---|---|
| 400 | Valeur de portail inconnue, ou page / limit invalide |
| 404 | Entreprise introuvable ou aucun portail configuré. |
Images
Chaque photo est fournie dans sa version d'origine et en quatre copies WebP compressées. Affichez une copie : les originaux peuvent peser plusieurs mégaoctets.
Chaque taille est un cadre, pas une largeur : la photo est réduite pour tenir dans un carré de cette taille en conservant ses proportions. Une photo portrait inscrite dans 480 fait 480 px de haut et moins de 480 px de large. Les photos plus petites qu'une taille ne sont jamais agrandies.
Les copies sont générées peu après le téléversement. D'ici là, ou si la génération a échoué, le champ de taille vaut null. Utilisez alors la copie plus grande suivante, puis une plus petite, et l'original uniquement si aucune copie n'existe.
Tailles
| images[] | Photo principale | Taille |
|---|---|---|
url_128 | highlighted_image_128 | 128 px : mini-vignettes, marqueurs de carte |
url_480 | highlighted_image_480 | 480 px : cartes d'annonces et grilles |
url_1080 | highlighted_image_1080 | 1080 px : pages de détail et tablettes |
url_1920 | highlighted_image_1920 | 1920 px : galeries plein écran et images d'en-tête |
url | highlighted_image | Fichier d'origine : téléchargements et solution de dernier recours |
images[] liste toutes les photos dans l'ordre de la galerie, photo principale en premier. Les champs highlighted_image reprennent les tailles de la photo principale directement sur le bien : une carte d'annonce n'a pas besoin de parcourir le tableau.
Exemples de codes
Carte d'annonce
// Listing card: the main photo's sizes sit on the property itself
const cardUrl =
property.highlighted_image_480 ??
property.highlighted_image_1080 ??
property.highlighted_image_1920 ??
property.highlighted_image_128 ??
property.highlighted_image;Galerie avec srcset
const SIZES = [128, 480, 1080, 1920];
// Requested size first, then larger copies, then smaller ones, then the original
function pickImageUrl(image, size = 1080) {
const larger = SIZES.filter((s) => s > size);
const smaller = SIZES.filter((s) => s < size).reverse();
for (const s of [size, ...larger, ...smaller]) {
if (image[`url_${s}`]) return image[`url_${s}`];
}
return image.url;
}
// Photos are fitted inside the size and never enlarged
function copyWidth(image, size) {
if (!image.width || !image.height) return size;
return Math.round(image.width * Math.min(1, size / Math.max(image.width, image.height)));
}
function srcSet(image) {
return SIZES.filter((s) => image[`url_${s}`])
.map((s) => `${image[`url_${s}`]} ${copyWidth(image, s)}w`)
.join(", ");
}
const gallery = property.images.map((image) => `
<img
src="${pickImageUrl(image, 1080)}"
srcset="${srcSet(image)}"
sizes="(max-width: 768px) 100vw, 1080px"
alt="${image.alt_text ?? image.caption ?? property.title}"
style="object-fit: cover; object-position: ${image.focus_point ?? "50% 50%"}"
loading="lazy"
/>`);Endpoint propriété unique
Renvoie une propriété publiée par ID, le pendant détail de la liste by-company.
La propriété doit avoir une publication PUBLISHED sur le portail résolu ; sinon la réponse est 404, identique à un ID inexistant.
Contrairement à l'endpoint liste, aucun filtrage de cycle de vie n'est appliqué : une annonce publiée reste accessible via son URL quel que soit son transaction_type (y compris sold, rented et off_market), afin que les liens profonds continuent de fonctionner. Lisez transaction_type pour décider comment afficher une transaction clôturée.
https://api.habiata.lu/public-properties/{propertyId}Paramètres de chemin
propertyIdL'identifiant unique de la propriété.
Paramètres de requête
portalPortail sur lequel le bien doit être publié. Par défaut habiata, le site de l'agence (MY_HABIATA_WEBSITE), qui peut aussi être nommé explicitement. Une valeur inconnue renvoie 400.
habiataathome.luwortimmo.luimmotopnextimmofiliaimmoweltle_figarokleinanzeigenwillhabenderstandardnewhomehomegatesrealityotodomingatlanimmowebselogerleboncoinkyerogreenacresproperstarjameseditionExemple de requête
curl "https://api.habiata.lu/public-properties/YOUR_PROPERTY_ID"
# With portal filter
curl "https://api.habiata.lu/public-properties/YOUR_PROPERTY_ID?portal=nextimmo"Exemple de réponse
200 OK{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"company_id": "YOUR_COMPANY_ID",
"external_id": "REF-12345",
"project_id": "proj-uuid-residence-du-parc",
"project_name": "Résidence du Parc",
"title": "Beautiful Apartment in Kirchberg",
"titles": {
"en": "Beautiful Apartment in Kirchberg",
"fr": "Bel appartement à Kirchberg",
"de": "Schöne Wohnung in Kirchberg"
},
"description": "Spacious 3-bedroom apartment with panoramic views...",
"descriptions": {
"en": "Spacious 3-bedroom apartment with panoramic views...",
"fr": "Spacieux appartement de 3 chambres avec vue panoramique...",
"de": "Geräumige 3-Zimmer-Wohnung mit Panoramablick..."
},
"property_type": "apartment",
"transaction_type": "buy",
"status": "active",
"price": 850000,
"room_count": 4,
"bedrooms": 3,
"bathrooms": 2,
"area": 120,
"area_unit": "sqm",
"floor_level": 5,
"address": "2 Rue du Fort Thüngen",
"street": "Rue du Fort Thüngen",
"house_number": "2",
"city": "Luxembourg",
"district": "Kirchberg",
"zip_code": "1499",
"country": "Luxembourg",
"publish_address": true,
"latitude": 49.6236,
"longitude": 6.1469,
"parcel_numbers": [
"123/4567"
],
"energy_class": "B",
"indoor_parking_spaces": 1,
"has_elevator": true,
"monthly_charges": 250,
"parking_fees": 35000,
"available_from": "2026-11-01",
"pet_policy": null,
"virtual_tour_url": "https://my.matterport.com/show/?m=EXAMPLE",
"highlighted_image": "https://cdn.habiata.lu/companies/YOUR_COMPANY_ID/living-room.jpg",
"highlighted_image_128": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/128.webp",
"highlighted_image_480": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/480.webp",
"highlighted_image_1080": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1080.webp",
"highlighted_image_1920": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1920.webp",
"images": [
{
"url": "https://cdn.habiata.lu/companies/YOUR_COMPANY_ID/living-room.jpg",
"url_128": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/128.webp",
"url_480": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/480.webp",
"url_1080": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1080.webp",
"url_1920": "https://cdn.habiata.lu/image-variants/YOUR_COMPANY_ID/img-uuid/1920.webp",
"is_main": true,
"sort_order": 0,
"caption": "Living room",
"width": 4032,
"height": 3024,
"alt_text": "Bright living room with floor-to-ceiling windows",
"focus_point": "50% 40%"
}
],
"nearby_places": [
{
"name": "Luxexpo tram stop",
"category": "tram_stop",
"distance": 350,
"latitude": 49.6282,
"longitude": 6.1641
}
],
"agents": [
{
"id": "agent-uuid",
"name": "Alex Smith",
"first_name": "Alex",
"last_name": "Smith",
"email": "alex.smith@example.com",
"phone": "+352 27 12 34 56",
"mobile": "+352 691 000 000",
"language": "fr",
"avatar": "https://cdn.habiata.lu/avatars/agent-uuid.jpg"
}
],
"portal_publications": [
{
"portal_integration_id": "portal-uuid",
"portal_type": "MY_HABIATA_WEBSITE",
"status": "PUBLISHED",
"external_id": null,
"published_at": "2025-01-15T10:30:00Z",
"unpublished_at": null,
"last_error": null,
"last_error_at": null
}
],
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-06-20T14:00:00Z"
}La réponse est un objet Property unique, mêmes champs que l'endpoint liste (voir le schéma Property Object ci-dessus).
Réponses aux erreurs
| Statut | Description |
|---|---|
| 400 | Valeur de portail inconnue |
| 404 | Propriété introuvable, non publiée sur ce portail, ou supprimée |
Référence des types de propriétés
Le property_type Le champ accepte l’une des valeurs suivantes, organisées par catégorie. Utilisez ces valeurs lors du filtrage via l'API ou de l'interprétation des données de propriété.
Maison
housedetached_housesemi_detachedterraced_housetownhousevillamansionfarmhousecountry_housechaletbungalowcottageAppartement
apartmentstudiopenthouseduplextriplexloftmaisonetteattic_apartmentground_floorNouveau développement et construction
new_buildoff_planunder_constructionhouse_modelland_with_houseturnkey_projectBien d'investissement
investment_propertyrental_propertyTerrain
building_landagricultural_landindustrial_landcommercial_landGarage et parking
garageparking_spacecarportunderground_parkingCommercial et bureaux
officeoffice_buildingcoworking_spaceretail_spaceshopshopping_centershowroomrestaurantcafehotelbed_breakfastIndustriel et logistique
warehousefactoryindustrial_unitlogistics_centerstorage_facilityUsage spécial
healthcareeducationalleisurereligiousutilitygas_stationcar_washworkshopAutre
commerciallandotherEndpoint projets groupés
Utiliser pour lire des projets entiers et des biens groupés.
https://api.habiata.lu/public-properties/projects/by-company/{companyId}Paramètres de requête
pageNuméro de page pour la pagination (indexé 1).
limitNombre de projets par page. Maximum 100.
portalPortail depuis lequel lire les projets publiés. Par défaut habiata, le site de l'agence (MY_HABIATA_WEBSITE), qui peut aussi être nommé explicitement. Une valeur inconnue renvoie 400.
habiataathome.luwortimmo.luimmotopnextimmofiliaimmoweltle_figarokleinanzeigenwillhabenderstandardnewhomehomegatesrealityotodomingatlanimmowebselogerleboncoinkyerogreenacresproperstarjameseditionExemple de requête
curl "https://api.habiata.lu/public-properties/projects/by-company/YOUR_COMPANY_ID?page=1&limit=20"Exemple de réponse
200 OK{
"projects": [
{
"id": "proj-uuid-residence-du-parc",
"company_id": "YOUR_COMPANY_ID",
"name": "Résidence du Parc",
"descriptions": { "fr": "Résidence de 12 appartements au cœur de Belair." },
"external_id": null,
"cover_images": [
{
"image_id": "img-uuid-1",
"property_id": null,
"url": "https://cdn.habiata.lu/…/residence-du-parc.jpg",
"url_128": "https://cdn.habiata.lu/…/128.webp",
"url_480": "https://cdn.habiata.lu/…/480.webp",
"url_1080": "https://cdn.habiata.lu/…/1080.webp",
"url_1920": "https://cdn.habiata.lu/…/1920.webp",
"width": 2400,
"height": 1600,
"alt_text": "Résidence du Parc — façade",
"focus_point": null
}
],
"property_count": 3,
"properties": [
{
"id": "unit-uuid-1",
"title": "Apartment 2.1 — 3 bedrooms",
"project_id": "proj-uuid-residence-du-parc",
"project_name": "Résidence du Parc",
"price": 650000,
"property_type": "apartment",
"transaction_type": "buy"
}
]
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}Référence des projets
Les projets regroupent des biens connexes, généralement des unités dans le même immeuble ou programme neuf.
Deux façons de travailler avec les projets
| Endpoint biens (plat) | Endpoint projets groupés | |
|---|---|---|
| Point de terminaison | GET /public-properties/by-company/{companyId} | GET /public-properties/projects/by-company/{companyId} |
| Renvoie | Toutes les unités publiées | Projets publiés avec unités imbriquées dans properties[] |
| Champs projet | project_id et project_name sur chaque unité | Métadonnées projet plus unités imbriquées dans properties[] |
| Publier dans Habiata | Publier chaque bien sur le portail | Projets → sélectionner un projet nommé → Publier sur les portails |
Publier un bien ne publie pas son projet. Assigner des unités à un projet dans le CRM ne suffit pas pour l'endpoint groupé. Vous devez publier le projet séparément.
Référence des types de transaction
Le transaction_type indique le sens de la transaction et le cycle de vie de l'annonce. En filtre de requête, buy et rent sont des familles ; sold et rented sont exclus sauf s'ils sont nommés explicitement.
En cours (principal)
buyrentEn cours (secondaire)
newvaluationotherEn cours (en attente)
sous_compromisreservedFermé
soldrentedoff_marketPour les agents IA et les intégrations
Vous créez une intégration ou utilisez un agent IA ? Voici tout ce qu'il vous faut en un clic.