Aller au contenu
Smartlife Docs
EN
Stocké uniquement dans ce navigateur (jamais envoyé à ce serveur) et réutilisé sur toutes les pages « Tester cet endpoint » ci-dessous.
Scopes accordés à ce jeton (voir la réponse obtenue lors de l'authentification) :
Les boutons « Tester » ci-dessous sont désactivés tant que le scope requis par l'endpoint n'est pas coché ici.

GET /api/project/{project_id}/data

Portées requises : project:read et rental:read.

Contrairement à /projects/list et /rentals/summary (qui parcourent tous les projets accessibles au jeton), cet endpoint cible un seul projet et combine en un seul appel : son état général, l'agrégat de ses indicateurs locatifs (contrats, occupation, lot par lot) et les droits effectifs du jeton sur ce projet.

Si le projet n'existe pas : 404. Si le jeton n'a pas ce projet dans son périmètre : 403 (voir Erreurs courantes).
curl https://construction.my-smartlife.fr/api/project/12/data \
  -H 'Authorization: Bearer VOTRE_ACCESS_TOKEN'
Exemple de réponse :
{
  "project": {
    "id": "12",
    "name": "Résidence Les Palmiers",
    "status": { "label": "en_cours", "legacy_value": 40 },
    "start_date": "2024-01-01",
    "city": "Abidjan",
    "country": 1,
    "currency": "XOF",
    "progress": { "current": ["6"], "completed": ["3"], "disabled": ["9", "12"] }
  },
  "rental": {
    "global": {
      "contracts": 8, "active_contracts": 6,
      "rent_expected": 4860000.0, "rent_paid": 405000.0,
      "charges_expected": 120000.0, "charges_paid": 10000.0,
      "lots": 10, "occupied_lots": 6, "available_lots": 4
    },
    "monthly": {
      "2025-01": { "contracts": 6, "rent_expected": 405000.0, "rent_paid": 405000.0 }
    },
    "lots": [
      {
        "architecture_id": "0", "lot_id": "3", "title": "Appartement B3",
        "floor": "2", "current_type": "long_terme", "public": true,
        "capacity": 1, "occupancy_status": "occupe",
        "global": { "contracts": 1, "active_contracts": 1, "rent_expected": 810000.0, "rent_paid": 67500.0 },
        "monthly": { "2025-01": { "contracts": 1, "rent_expected": 67500.0, "rent_paid": 67500.0 } }
      }
    ]
  },
  "rights": {
    "read": { "project": true, "rental": true },
    "write": { "project": false },
    "scopes": ["project:read", "rental:read"]
  }
}
occupancy_status d'un lot vaut disponible (aucun contrat actif), occupe (capacité atteinte) ou partiellement_occupe.
Requête GET /api/project/{id}/data et exemple de réponse JSON
Requête et réponse de l'endpoint project/{id}/data.

Tester cet endpoint

Renseignez l'identifiant du projet puis lancez l'appel avec votre jeton (barre latérale).



Lien copié !