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.
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.
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.
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.
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.
Exemples indicatifs. L’authentification, les URL définitives et le schéma complet seront publiés lors de l’ouverture de l’API.
Par clé API propre à l’agence.
Authorization: Bearer VOTRE_CLE_APIClé 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é.
/api/v1/compteTester la clé/api/v1/commerciauxComptes de l’agenceImport par requête JSON.
/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é.
/api/v1/biens/ref/{ref_externe}Lire un bienLes informations utilisées par BienVu.
| Champ | Type | Statut prévu | Description |
|---|---|---|---|
ref_externe | string | Recommandé | Référence du bien dans votre logiciel (unique dans votre agence). Indispensable pour les mises à jour et le statut de vente. |
negociateur_email | string | Recommandé | E-mail du négociateur dans votre logiciel : sert à attribuer le bien au bon commercial BienVu. |
nom | string | Obligatoire | Nom interne du bien |
adresse | string | Facultatif | Adresse du bien |
ville | string | Facultatif | Ville |
code_postal | string | Facultatif | Code postal |
type_bien | enum | Facultatif | appartement ou maison |
surface_m2 | number | Facultatif | Surface habitable |
nb_pieces | integer | Facultatif | Nombre de pièces |
nb_chambres | integer | Facultatif | Nombre de chambres |
annee_construction | integer | Facultatif | Année de construction |
etat_general | enum | Facultatif | bon, a_rafraichir ou a_renover |
occupation | enum | Facultatif | occupe 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.
Chaque bien importé rejoint l’espace du bon commercial.
BienVu recherche le commercial uniquement parmi les comptes de votre agence, à partir de negociateur_email :
| Cas | Le bien est attribué à |
|---|---|
| L’e-mail est celui d’un compte BienVu de l’agence | Ce commercial |
| L’e-mail a été associé à un commercial par le manager (adresse différente dans votre logiciel) | Ce commercial |
| E-mail absent ou inconnu | Le 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é.
Une photo par appel, rangée dans une pièce. Disponible.
/api/v1/categories?type_bien=maisonPiècesChaque 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.
/api/v1/biens/{id}/photosAjouterEnvoi 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).
/api/v1/biens/{id}/photosLister/api/v1/biens/{id}/photos/{photo_id}SupprimerLe bien_id est renvoyé par POST /api/v1/biens et par GET /api/v1/biens/ref/{ref_externe}.
Une fois le bien et ses photos envoyés. Disponible.
/api/v1/biens/{id}/rapportsLancerLe 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"
}
/api/v1/rapports/{rapport_id}SuivreInterrogez 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é).
/api/v1/biens/{id}/rapportsHistoriqueSynchronisé depuis votre logiciel, avec votre propre référence. Disponible.
/api/v1/biens/ref/{ref_externe}Agence{
"statut": "vendu",
"vendu_le": "2026-11-20",
"prix_vente": 245000
}
| Statut | Quand l’envoyer |
|---|---|
en_vente | L’annonce est publiée |
vendu | Le 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.
PHP, Python, cURL et Node.js.
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}'$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);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,
)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
})
});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"
}
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.