Pourquoi REST plutôt que XML ?
Les exports XML restent dominants en France pour des raisons historiques. Mais REST offre des avantages décisifs pour les sites modernes.
- JSON natif — directement consommable par JavaScript / TypeScript
- Pagination simple via query params
- Filtres natifs (?type=apartment&minPrice=200000)
- Verbes HTTP standardisés (GET, POST, PUT, DELETE)
- Sécurité moderne (HTTPS + Bearer tokens)
- Versioning facile (/v1/, /v2/)
L'architecture Ts-Immo en bref
Ts-Immo expose une API REST unifiée au-dessus des CRM existants. Vous interrogez toujours api.ts-immo.org — quelle que soit la source en amont (Apimo, Hektor, Netty, Sweepbright, etc.).
# Public — sans authentification
curl https://api.ts-immo.org/v1/gateway/public/properties/agence-cote-d-azur
# Client — avec API token
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.ts-immo.org/v1/gateway/propertiesExemple de réponse JSON
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"uri": {
"fr": "agence-cote-d-azur/villa-4-pieces-vue-mer",
"en": "agence-cote-d-azur/4-room-villa-sea-view"
},
"type": "house",
"offer_type": "sale",
"status": "available",
"title": { "fr": "Villa 4 pièces vue mer", "en": "4-room villa sea view" },
"bedrooms": 3,
"financial": {
"transaction": {
"price": { "amount": 850000.00, "currency": "EUR" }
}
},
"location": {
"city": "Nice",
"postal_code": "06000",
"country": "France"
},
"images": [
{ "url": "https://cdn.ts-immo.org/photo1.jpg", "ordinal": 0 }
]
}
]Endpoints principaux
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/gateway/properties | Liste des biens (auth) |
| GET | /v1/gateway/properties/:id | Détail d'un bien |
| GET | /v1/gateway/public/properties/:slug | Liste publique par agence |
| GET | /v1/gateway/public/properties/:slug/:uri | Détail public d'un bien |
| POST | /v1/gateway/leads | Création d'un lead |
| GET | /v1/gateway/public/dvf | Données DVF (transactions) |
Versioning et compatibilité
L'API Ts-Immo applique un versioning strict via le préfixe /v1/. Les évolutions non rétro-compatibles passent en /v2/ — la v1 reste maintenue 12 mois minimum après publication d'une nouvelle version majeure.
Sécurité
- Bearer token API par client
- TLS 1.3 obligatoire
- Rate limiting (60 req/min standard, 600 req/min Pro)
- CORS configurable par origine
- Audit log des accès