Aller au contenu

Créer et mettre à jour un logement

Fenêtre de terminal
curl -X POST https://localoge.com/api/v1/channel/properties \
-H "Authorization: Bearer $LOCALOGE_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_property_id": "PROP-4821",
"host_ref": "lh_4f8a2c…",
"title": "Studio vue mer, Cap d Agde",
"description": "Studio de 28 m2 a 200 metres de la plage.",
"address": "12 avenue de la Plage",
"city": "Agde",
"postal_code": "34300",
"country": "FR",
"latitude": 43.2951,
"longitude": 3.4753,
"max_guests": 4,
"bedrooms": 1,
"beds": 2,
"bathrooms": 1,
"surface_m2": 28,
"base_price": 9500,
"min_price": 7000,
"max_price": 18000,
"cleaning_fee": 4000,
"deposit_amount": 30000,
"check_in_time": "16:00",
"check_out_time": "10:00",
"cancellation_policy": "moderate",
"amenities": ["wifi", "kitchen", "washer", "air_conditioning"]
}'
{
"success": true,
"data": {
"listing_id": "9f2c1a44-8e3b-4d21-b0c7-5e6f7a8b9c0d",
"external_property_id": "PROP-4821",
"created": true,
"unchanged": false,
"status": "draft",
"missing": ["photos"]
}
}

C’est le champ le plus important de cet appel. Il désigne l’utilisateur qui vous a autorisé, et donc le compte Localoge auquel l’annonce va appartenir : celui qui recevra l’argent, à qui les voyageurs écriront, et qui répondra en cas de litige.

Vous l’obtenez une fois par utilisateur, en le faisant passer par la page d’autorisation. Voir Connecter un hôte.

external_property_id : votre identifiant, pas le nôtre

Section intitulée « external_property_id : votre identifiant, pas le nôtre »

C’est votre référence, celle de votre système. Elle est obligatoire, et c’est elle qui fait le lien entre votre logement et notre annonce. Nous générons de notre côté un listing_id : gardez les deux, mais ne nous renvoyez jamais que le vôtre.

Le couple (votre compte, external_property_id) est unique chez nous. Rejouer le même appel ne crée donc jamais un doublon, quelle que soit la raison du rejeu. Voir Idempotence.

Le champ missing, et pourquoi votre logement arrive en brouillon

Section intitulée « Le champ missing, et pourquoi votre logement arrive en brouillon »

Une annonce poussée par l’API arrive en draft. Elle est publiée automatiquement dès qu’elle est complète, et jamais sans photo.

missing liste ce qui manque encore. Tant qu’il n’est pas vide, l’annonce n’est pas visible des voyageurs. C’est votre indicateur d’avancement : affichez-le à vos utilisateurs plutôt que de leur annoncer une mise en ligne qui n’a pas eu lieu.

Fenêtre de terminal
curl -X PUT https://localoge.com/api/v1/channel/properties/PROP-4821 \
-H "Authorization: Bearer $LOCALOGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "title": "Studio vue mer renove", "max_guests": 5 }'
Fenêtre de terminal
curl https://localoge.com/api/v1/channel/properties/PROP-4821 \
-H "Authorization: Bearer $LOCALOGE_KEY"

Utilisez-la en cas de doute plutôt que de nous écrire : elle vous rend l’annonce telle qu’elle existe chez nous, avec son statut.

Fenêtre de terminal
curl "https://localoge.com/api/v1/channel/properties?updated_since=2026-08-25T00:00:00Z" \
-H "Authorization: Bearer $LOCALOGE_KEY"

Sur un parc de plusieurs centaines de logements, cela évite de tout renvoyer chaque nuit pour deux changements réels. La réponse porte truncated: true quand elle a été coupée : relancez avec une date plus récente.

Champ Type Notes
host_ref chaîne Obligatoire : à quel compte appartient ce logement. Voir Connecter un hôte
external_property_id chaîne Obligatoire
title chaîne Obligatoire, 160 caractères
description chaîne
address, city, postal_code chaîne
country ISO 2 lettres Pays du LOGEMENT, pas celui du propriétaire
latitude, longitude nombre Fournies, elles nous évitent un géocodage
max_guests, bedrooms, beds, bathrooms entier
surface_m2 entier
base_price, min_price, max_price entier En centimes. min et max vont ensemble
cleaning_fee, deposit_amount entier En centimes
check_in_time, check_out_time HH:MM
cancellation_policy flexible / moderate / firm / strict
min_nights, max_nights entier Valeurs par défaut ; le calendrier peut les surcharger
amenities tableau de chaînes Les clés inconnues sont ignorées, pas refusées
registration_number chaîne Numéro d’enregistrement du meublé
payout_model host / owner Voir Qui touche l’argent