Obtenir une cléLe produit

API ImmoPilot

Branchez le contrôle de conformité d'ImmoPilot dans votre logiciel d'agence, votre réseau ou votre outil maison : mentions obligatoires, DPE vérifié dans l'observatoire de l'ADEME, encadrement des loyers, avec le texte corrigé prêt à afficher.

Authentification

Chaque agence crée ses clés dans Réglages → Clés API. Envoyez-la dans l'en-tête Authorization: Bearer <clé>. Une clé ne donne accès qu'aux annonces de son agence ; elle peut être révoquée à tout moment. URL de base : https://immopilot.apostophe.fr/api/v1.

POST/check

Vérifie une annonce sans l'enregistrer : idéal juste avant publication.

curl -X POST https://immopilot.apostophe.fr/api/v1/check \
  -H "Authorization: Bearer ip_live_…" -H "Content-Type: application/json" \
  -d '{"ref":"LY-2041","transaction":"vente","city":"Lyon","arrondissement":"3e",
       "price":329000,"fees_payer":"acquereur","fees_pct":4.8,"surface":68,"rooms":3,
       "dpe":"E","ges":"C","dpe_number":"2469E3623546Y","copro":true,"copro_lots":24,
       "text":"Beau T3 avec balcon…"}'

# → 200
{ "score": 62, "blocking": 2,
  "issues": [ { "code": "DPE_CLASSE_DIFF", "severity": "bloquant",
                 "message": "Classe énergie de l'annonce (E) différente du DPE enregistré (D).", … } ],
  "legal_block": "Prix : 329 000 € honoraires inclus, dont 4,8 % TTC…",
  "dpe": { "number": "2469E3623546Y", "energy": "D", "climate": "B", "valid_until": "2034-10-14" } }

PUT/listings

Remplace tout le stock de l'agence (comme un flux Poliris « annule et remplace ») : les annonces absentes sont retirées, les problèmes sont suivis (nouveau → corrigé) et l'agence est alertée des changements. Jusqu'à 5 000 annonces par appel.

curl -X PUT …/api/v1/listings -H "Authorization: Bearer …" -H "Content-Type: application/json" \
  -d '[{"ref":"LY-2041", …}, {"ref":"LY-2055", …}]'

# → { "listings": 2, "new_listings": 1, "removed": 0, "new_issues": [ {"ref":"LY-2055","severity":"bloquant","message":"…"} ], "fixed_issues": [] }

POST/listings

Ajoute ou met à jour des annonces sans toucher au reste du stock. Même format et même réponse que PUT.

GET/listings · /listings/{ref}

Le stock suivi avec son score et le nombre de points ouverts, puis le détail d'une annonce : problèmes ouverts, texte corrigé, positionnement prix vs marché (DVF).

Champs d'une annonce

ChampDescription
refRéférence unique dans l'agence (obligatoire pour /listings)
transactionvente ou location
property_type, title, textType de bien, titre et texte publiés
city, arrondissement, addressCommune ; adresse (non publiée) pour l'encadrement des loyers et le prix de marché
price, surface, rooms, build_yearPrix FAI ou loyer charges comprises, surface, pièces, année de construction
fees_payer, fees_pctvendeur / acquereur, % TTC à la charge de l'acquéreur
dpe, ges, dpe_number, energy_cost_min, energy_cost_maxClasses, numéro ADEME, fourchette des dépenses d'énergie
copro, copro_lots, copro_charges_year, copro_procedureCopropriété
charges, deposit, furnished, tenant_fees, tenant_fees_edl, rent_supplementLocation
negotiatorE-mail ou nom du négociateur : l'annonce lui est attribuée s'il fait partie de l'équipe (une attribution manuelle reste prioritaire)

Erreurs

CodeSignification
401Clé absente, invalide ou révoquée
404Annonce inconnue
413Plus de 5 000 annonces dans un appel
422Format invalide (liste attendue, ref manquante…)