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 immobilier (Apimo, Hektor, ou tout autre CRM) 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 CRM utilise un format différent (XML Apimo, Hektor flux, propriétaire) ? Notre équipe peut développer un connecteur dédié. Contactez-nous : contact@tchabita.com