API Développeur · Disponible Option API · +16 € HT / mois / agence

Importez vos biens dans BienVu.
Depuis vos propres outils.

La future API BienVu permettra aux agences d’importer automatiquement leurs biens depuis leur CRM, logiciel métier, site ou application interne, de les attribuer au bon négociateur, d’ajouter les photos, de déclencher la génération d’un rapport BienVu, puis de synchroniser le statut de vente jusqu’à la signature.

Option API : +16 € HT par mois et par agence, en plus de votre formule, à souscrire dans « Mon agence » où le manager crée ses clés API. Tout est disponible : import et mise à jour des biens, attribution au négociateur, photos des pièces, génération des rapports BienVu et statut de vente.

01

Importer et attribuer

Envoyez les informations déjà présentes dans votre logiciel avec votre référence et l’e-mail du négociateur : le bien arrive directement dans l’espace du bon commercial.

02

Photos et rapport

Associez les photos aux pièces, puis lancez le rapport BienVu. Il est décompté des rapports du commercial, ou de la réserve de l’agence.

03

Suivre jusqu’à la vente

Votre logiciel signale la mise en vente et la vente : le statut du bien se met à jour tout seul dans BienVu et dans les statistiques de l’agence.

Aperçu développeur

Une API simple à intégrer.

Exemples indicatifs. L’authentification, les URL définitives et le schéma complet seront publiés lors de l’ouverture de l’API.

01

Authentification

Par clé API propre à l’agence.

Authorization: Bearer VOTRE_CLE_API

Clé créée et révoquée par le manager dans « Mon agence » (option API active). Toute l’équipe passe par cette clé : vous n’avez jamais à connaître les identifiants BienVu de vos commerciaux. Limite : 120 appels par minute et par clé.

GET/api/v1/compteTester la clé
GET/api/v1/commerciauxComptes de l’agence
02

Créer ou mettre à jour un bien

Import par requête JSON.

POST/api/v1/biensAgence
{
  "ref_externe": "AG-2026-0457",
  "negociateur_email": "jean.dupont@agence.fr",
  "nom": "Appartement 3 pièces - rue de la Paix",
  "adresse": "12 rue de la Paix",
  "ville": "Toulouse",
  "code_postal": "31000",
  "type_bien": "appartement",
  "surface_m2": 68.5,
  "nb_pieces": 3,
  "nb_chambres": 2,
  "annee_construction": 1998,
  "etat_general": "bon",
  "occupation": "vacant"
}

Si un bien de votre agence porte déjà ce ref_externe, il est mis à jour au lieu d’être créé en double : vous pouvez renvoyer vos biens sans risque (réponse 201 à la création, 200 à la mise à jour). L’adresse est localisée automatiquement pour les ventes comparables ; vous pouvez aussi envoyer code_insee, latitude et longitude. Un bien dont le rapport est déjà généré n’est plus modifié.

GET/api/v1/biens/ref/{ref_externe}Lire un bien
03

Champs disponibles

Les informations utilisées par BienVu.

ChampTypeStatut prévuDescription
ref_externestringRecommandéRéférence du bien dans votre logiciel (unique dans votre agence). Indispensable pour les mises à jour et le statut de vente.
negociateur_emailstringRecommandéE-mail du négociateur dans votre logiciel : sert à attribuer le bien au bon commercial BienVu.
nomstringObligatoireNom interne du bien
adressestringFacultatifAdresse du bien
villestringFacultatifVille
code_postalstringFacultatifCode postal
type_bienenumFacultatifappartement ou maison
surface_m2numberFacultatifSurface habitable
nb_piecesintegerFacultatifNombre de pièces
nb_chambresintegerFacultatifNombre de chambres
annee_constructionintegerFacultatifAnnée de construction
etat_generalenumFacultatifbon, a_rafraichir ou a_renover
occupationenumFacultatifoccupe ou vacant

BienVu utilise également des champs complémentaires configurables depuis l’administration. Leur exposition dans l’API sera documentée avec un catalogue de champs au lancement.

04

Attribution au négociateur

Chaque bien importé rejoint l’espace du bon commercial.

BienVu recherche le commercial uniquement parmi les comptes de votre agence, à partir de negociateur_email :

CasLe bien est attribué à
L’e-mail est celui d’un compte BienVu de l’agenceCe commercial
L’e-mail a été associé à un commercial par le manager (adresse différente dans votre logiciel)Ce commercial
E-mail absent ou inconnuLe manager, dans la liste « Biens à attribuer » : il choisit le commercial en un clic et peut mémoriser l’association pour les prochains imports
{
  "success": true,
  "bien_id": 1248,
  "ref_externe": "AG-2026-0457",
  "attribue_a": "commercial",
  "message": "Bien créé et attribué à Jean Dupont"
}

Les statistiques de l’agence comptent ainsi chaque bien et chaque rapport pour le commercial qui en a la charge, que le bien ait été saisi dans BienVu ou importé.

05

Photos du bien

Une photo par appel, rangée dans une pièce. Disponible.

GET/api/v1/categories?type_bien=maisonPièces

Chaque photo est rangée dans une pièce, désignée par son identifiant stable (sejour, cuisine, chambre, salle_bains, salle_eau, entree, couloir, bureau, terrasse, balcon, jardin, facade, garage, verandas, autre…). La liste exacte dépend du type de bien : demandez-la à la route ci-dessus plutôt que de la coder en dur.

POST/api/v1/biens/{id}/photosAjouter

Envoi du fichier en multipart/form-data (champ photo + champ piece), ou de son adresse en JSON :

curl -X POST "https://bienvu-app.com/api/v1/biens/1248/photos" \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -F "piece=sejour" -F "photo=@sejour-1.jpg"

{ "piece": "cuisine", "url": "https://photos.mon-logiciel.fr/AG-2026-0457/cuisine.jpg" }

Mêmes règles que dans BienVu : JPEG, PNG ou HEIC (iPhone, converti en JPEG), 15 Mo maximum, 3 photos maximum par pièce, photo réduite automatiquement. L’adresse url doit être publique (http ou https). Une fois le rapport généré, le bien est verrouillé : ses photos ne changent plus (409).

GET/api/v1/biens/{id}/photosLister
DELETE/api/v1/biens/{id}/photos/{photo_id}Supprimer

Le bien_id est renvoyé par POST /api/v1/biens et par GET /api/v1/biens/ref/{ref_externe}.

06

Générer un rapport BienVu

Une fois le bien et ses photos envoyés. Disponible.

POST/api/v1/biens/{id}/rapportsLancer

Le rapport est généré par BienVu en arrière-plan (analyse IA de chaque pièce, projections avant/après, score, ventes comparables, PDF) : 2 à 5 minutes selon le nombre de pièces. La réponse arrive tout de suite (202) avec le rapport_id à suivre.

Mêmes règles que dans BienVu : au moins 3 photos et un rapport disponible pour le négociateur du bien (les rapports que le manager lui a attribués ; pour le manager, la réserve de l’agence). Le rapport n’est décompté que si la génération aboutit. Une fois généré, le bien est verrouillé : pour une nouvelle analyse, envoyez {"regenerer": true} (1 rapport utilisé).

{
  "success": true,
  "rapport_id": 8562,
  "statut": "en_attente",
  "suivi": "https://bienvu-app.com/api/v1/rapports/8562"
}
GET/api/v1/rapports/{rapport_id}Suivre

Interrogez cette route toutes les 20 à 30 secondes : statut passe de en_attente à en_cours (avec progression en %), puis termine — avec url_pdf (le PDF BienVu), lien_public (le lien du QR code) et score_bienvu — ou erreur (avec le message ; aucun rapport décompté).

GET/api/v1/biens/{id}/rapportsHistorique
07

Statut de vente

Synchronisé depuis votre logiciel, avec votre propre référence. Disponible.

PATCH/api/v1/biens/ref/{ref_externe}Agence
{
  "statut": "vendu",
  "vendu_le": "2026-11-20",
  "prix_vente": 245000
}
StatutQuand l’envoyer
en_venteL’annonce est publiée
venduLe bien est vendu (vendu_le conseillé, prix_vente facultatif)

Les statuts « À analyser » et « Rapport généré » sont gérés automatiquement par BienVu. La date de vente permet de comparer le délai réel au délai annoncé dans le rapport.

08

Exemples de code

PHP, Python, cURL et Node.js.

cURL
curl -X POST "https://bienvu-app.com/api/v1/biens" \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{"ref_externe":"AG-2026-0457","negociateur_email":"jean.dupont@agence.fr","nom":"Appartement Centre","surface_m2":68.5}'
PHP
$payload = [
  'ref_externe' => 'AG-2026-0457',
  'negociateur_email' => 'jean.dupont@agence.fr',
  'nom' => 'Appartement Centre',
  'surface_m2' => 68.5,
];
$ch = curl_init('https://bienvu-app.com/api/v1/biens');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer VOTRE_CLE_API', 'Content-Type: application/json'],
  CURLOPT_POSTFIELDS => json_encode($payload)
]);
$response = curl_exec($ch);
Python
import requests

payload = {
    "ref_externe": "AG-2026-0457",
    "negociateur_email": "jean.dupont@agence.fr",
    "nom": "Appartement Centre",
    "surface_m2": 68.5,
}
response = requests.post(
    "https://bienvu-app.com/api/v1/biens",
    headers={"Authorization": "Bearer VOTRE_CLE_API"},
    json=payload,
)
Node.js
const response = await fetch('https://bienvu-app.com/api/v1/biens', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer VOTRE_CLE_API',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    ref_externe: 'AG-2026-0457',
    negociateur_email: 'jean.dupont@agence.fr',
    nom: 'Appartement Centre',
    surface_m2: 68.5
  })
});
09

Réponses & erreurs

Format JSON.

{
  "success": true,
  "bien_id": 1248,
  "ref_externe": "AG-2026-0457",
  "attribue_a": "manager",
  "raison": "negociateur_inconnu",
  "message": "Bien créé, à attribuer par le manager"
}
200 Bien mis à jour202 Rapport lancé201 Bien créé400 Données invalides401 Clé API invalide402 Option API inactive / plus de rapport403 Accès non autorisé404 Référence inconnue409 Bien verrouillé / pièce complète413 Photo trop lourde415 Format refusé422 Photos insuffisantes429 Trop de requêtes
API BienVu

Importez vos biens. Générez vos rapports BienVu.

Option API : +16 € HT / mois / agence, en plus de votre formule. Import automatique des biens, pas de double saisie. Les rapports générés via l’API sont décomptés comme dans l’interface BienVu.

Créer mon compte agence