Tchabita

L'expérience web est conçue pour les écrans d'ordinateur. Sur mobile, profitez pleinement de Tchabita avec notre application native.

← Retour au site

API d'ingestion d'annonces

Synchronisez automatiquement les annonces de votre logiciel de gestion immobilière avec Tchabita. Idéal pour les agences qui gèrent plusieurs centaines d'annonces.

🔑 Authentification

Chaque agence reçoit un token API à la création (transmis par votre interlocuteur Tchabita). Ce token doit être envoyé dans le header HTTP Authorization: Bearer <token>.

⚠️ Ne committez jamais votre token dans un dépôt Git public. En cas de fuite, faites une rotation via votre admin agence.

📡 Endpoint

POST https://europe-west1-tchabita-prod.cloudfunctions.net/ingestListings

Headers requis : Authorization, Content-Type: application/json

📦 Format du body

JSON avec un tableau listings (max 500 par requête, paginer si vous avez plus).

{
  "listings": [
    {
      "externalId": "REF-12345",
      "title": "Maison de ville rénovée",
      "transaction": "VENTE",
      "type": "MAISON",
      "price": 395000,
      "surface": 112,
      "rooms": 5,
      "bedrooms": 3,
      "floor": null,
      "city": "Pontoise",
      "postcode": "95300",
      "neighborhood": "Centre-ville",
      "addressLine": "12 rue de la Paix",
      "dpe": "C",
      "description": "Charmante maison de 112 m² avec jardin...",
      "features": ["jardin", "garage", "cheminée"],
      "imageUrls": [
        "https://votre-cdn.com/photos/abc.jpg",
        "https://votre-cdn.com/photos/def.jpg"
      ],
      "status": "active",
      "sourceCrm": "apimo",
      "createdAtExternal": "2026-04-15T10:30:00Z",
      "updatedAtExternal": "2026-05-31T18:00:00Z"
    }
  ]
}
🔐 Confidentialité adresses : Tchabita applique le standard du marché immobilier — la city, le postcode et le neighborhood sont affichés publiquement, mais l'addressLine (numéro + rue) reste strictement privé et n'est visible qu'à votre agence et à l'agent. Pas de risque de fuite côté annonces publiques.
🚫 Anti-leak descriptions : Les coordonnées (numéros de téléphone, emails, URLs, mentions de portails concurrents) saisies dans description sont automatiquement masquées par [contact via Tchabita]. Cela garde vos prospects dans la messagerie Tchabita et protège vos données commerciales. Les mentions légales obligatoires (loi Hoguet, carte T, SIRET, DPE) passent intactes.

📑 Champs détaillés

Champ
Type
Détail
externalId string ID unique dans votre CRM. Sert d'idempotence (envoyer la même externalId = update).
title string Titre de l'annonce. Max 100 caractères recommandé.
transaction enum VENTE | LOCATION | VIAGER
type enum APPARTEMENT | MAISON | DUPLEX | STUDIO | TERRAIN | PARKING | LOFT | LOCAL | BUREAU
price number Prix en euros (entier). Pour location = loyer mensuel.
charges number? Charges mensuelles (location). Optionnel.
surface number Surface en m² (entier).
rooms number Nombre de pièces total.
bedrooms number? Nombre de chambres. Par défaut = rooms.
floor number? Étage. Null pour rez-de-chaussée ou maison.
city string Ville (ex: Pontoise) — AFFICHÉE PUBLIQUEMENT.
postcode string Code postal (ex: 95300) — AFFICHÉ PUBLIQUEMENT.
neighborhood string? Quartier (ex: Notre-Dame) — AFFICHÉ PUBLIQUEMENT à côté de la ville.
addressLine string? 🔐 Adresse complète (n°+rue). PRIVÉE — visible uniquement par votre agence et l'agent, jamais en public.
dpe enum? A | B | C | D | E | F | G — ou null si non communiqué.
description string? Description longue. Les coordonnées (tél/email/URL/concurrents) sont auto-masquées par Tchabita pour garder vos prospects dans la messagerie.
features string[]? Tags : jardin, garage, balcon, ascenseur, etc.
imageUrls string[]? URLs des photos (Tchabita ne re-héberge pas, sert directement vos URLs).
status enum? active | sold | rented | under_offer | withdrawn. Défaut: active.
sourceCrm enum? apimo | hektor | pericles | netty | other. Identifie votre logiciel source.
shareWithTchabita bool? INIT seulement — diffusion sur tchabita.com. Par défaut = défaut agence. Géré ensuite depuis le back-office Tchabita.
shareWithVisio bool? INIT seulement — relais vers VisioHabitat. Par défaut = défaut agence. Géré ensuite depuis le back-office Tchabita.
createdAtExternal string? Timestamp ISO 8601 de création côté votre CRM. Optionnel mais recommandé pour le tri.
updatedAtExternal string? Timestamp ISO 8601 de dernière modif côté votre CRM.

✅ Réponse

{
  "agencyId": "ag_abc123",
  "processed": 24,
  "created": 5,
  "updated": 19,
  "errors": [
    { "externalId": "REF-789", "reason": "price must be a positive number" }
  ]
}

💡 Exemple curl

curl -X POST https://europe-west1-tchabita-prod.cloudfunctions.net/ingestListings \
  -H "Authorization: Bearer VOTRE_TOKEN_ICI" \
  -H "Content-Type: application/json" \
  -d '{
    "listings": [
      {
        "externalId": "REF-12345",
        "title": "T3 lumineux centre-ville",
        "transaction": "LOCATION",
        "type": "APPARTEMENT",
        "price": 1200,
        "surface": 68,
        "rooms": 3,
        "city": "Pontoise",
        "postcode": "95300",
        "dpe": "B"
      }
    ]
  }'

🔄 Recommandations d'intégration

  • Synchroniser chaque nuit via cron : push de toutes vos annonces actives. Les disparues seront marquées obsolètes (V2.5).
  • Conserver le même externalId entre deux exports pour éviter de créer des doublons.
  • Si une annonce est vendue/louée côté CRM, vous pouvez la supprimer côté Tchabita via DELETE (V2.5) ou simplement arrêter de l'envoyer.
  • Pour les images, fournissez des URLs publiques HTTPS. Tchabita ne re-héberge pas (gain bande passante / RGPD).
  • Pagination : si vous avez 1000+ annonces, faites plusieurs POST de 500 max.

📋 Lister vos annonces

GET https://europe-west1-tchabita-prod.cloudfunctions.net/agencyListings?limit=100&afterTs=0

Renvoie la liste de vos annonces actuellement sur Tchabita avec leur externalId — utile pour la réconciliation entre votre CRM et Tchabita. Paginé : utilisez afterTs pour récupérer la page suivante.

🗑️ Supprimer une annonce

DELETE https://europe-west1-tchabita-prod.cloudfunctions.net/listingByExternalId?externalId=REF-12345

Quand un bien est vendu/loué et n'est plus actif côté CRM, vous pouvez le retirer immédiatement de Tchabita. La sécurité est assurée : seules les annonces appartenant à votre agence peuvent être supprimées via votre token.

GET sur la même URL renvoie les détails de l'annonce (utile pour vérifier avant suppression).

🤝 Support intégration

Votre logiciel exporte dans un format que nous ne lisons pas encore ? Notre équipe peut développer un connecteur dédié. Contactez-nous : contact@tchabita.com