Intégration Hektor ↔ Next.js

Connecter Hektor à Next.js

Construisez un site immobilier moderne avec Next.js qui se nourrit automatiquement des annonces de Hektor. L'API REST Ts-Immo s'appelle depuis vos composants serveur, vos Route Handlers ou en ISR — pour des pages SSG ultra-rapides et un SEO optimal.

Pourquoi un site Next.js pour agence immobilière ?

Next.js est aujourd'hui le framework de référence pour construire des sites immobiliers performants. SSG / ISR / RSC garantissent un temps de chargement < 1 s, un SEO excellent et des coûts d'hébergement maîtrisés. Couplé à Ts-Immo et Hektor, vous obtenez un site sur mesure entièrement piloté par votre CRM.

  • Pages SSG ou ISR (revalidation toutes les 10 minutes par défaut)
  • Composants serveur React (RSC) — aucune fuite de clé API côté client
  • JSON-LD `RealEstateListing` injecté automatiquement pour le SEO
  • Image optimization Next.js native sur les photos Ts-Immo

L'API REST Ts-Immo en bref

Ts-Immo expose une API REST JSON unifiée, indépendante de Hektor. Vous interrogez toujours la même API quel que soit le CRM : si vous changez de logiciel un jour, votre site Next.js n'a pas besoin d'être modifié.

Récupérer la liste des biens
# 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/properties

Exemple de réponse JSON

Format standard Ts-Immo
[
  {
    "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",
      "country_code": "FR"
    },
    "images": [
      { "url": "https://cdn.example.com/photo1.jpg", "ordinal": 0 }
    ]
  }
]

Mise en place dans un projet Next.js

Étapes recommandées pour intégrer Ts-Immo dans un projet Next.js (App Router).

  • Créer un compte sur https://dashboard.ts-immo.org et enregistrer la passerelle correspondant à votre CRM.
  • Récupérer la clé API Ts-Immo dans le tableau de bord.
  • Dans votre projet Next.js, créer un fichier .env.local avec TS_IMMO_API_KEY et TS_IMMO_API_URL.
  • Appeler l'API REST depuis les composants serveur (RSC), les Route Handlers ou via fetch côté serveur.
  • Mettre en cache les réponses avec next: { revalidate: 600 } pour des pages SSG/ISR ultra-rapides.

Composant serveur — liste des biens

Exemple complet d'un composant serveur Next.js qui consomme l'API Ts-Immo (donc indirectement Hektor) avec ISR.

app/biens/page.tsx
// app/biens/page.tsx — Server Component
type Property = {
  id: string
  uri: { fr: string; en: string }
  type: 'apartment' | 'house' | 'land' | 'commercial' | 'parking' | string
  offer_type: 'sale' | 'rental' | 'auction' | string
  status: 'available' | 'sold' | 'rented' | string
  title: { fr: string; en?: string }
  bedrooms: number | null
  financial: { transaction: { price: { amount: number; currency: 'EUR' } } }
  location: { city: string; postal_code: string; country: string; country_code: string }
  images: { url: string; ordinal: number }[]
}

async function getProperties(agencySlug: string): Promise<Property[]> {
  const res = await fetch(
    `${process.env.TS_IMMO_API_URL}/v1/gateway/public/properties/${agencySlug}`,
    { next: { revalidate: 600 } }, // ISR : 10 minutes
  )
  if (!res.ok) throw new Error('Ts-Immo API error')
  return res.json()
}

export default async function BiensPage() {
  const list = await getProperties('mon-agence')
  return (
    <ul>
      {list.map((p) => (
        <li key={p.id}>
          {p.title.fr} — {p.location.city} —{' '}
          {p.financial.transaction.price.amount.toLocaleString('fr-FR')} €
        </li>
      ))}
    </ul>
  )
}

Configuration de Hektor dans Ts-Immo

Configurer un export FTP/SFTP dans Hektor (XML recommandé, CSV supporté). Indiquez l'hôte, le port, les identifiants et le chemin du fichier d'export.

ChampDescription
TypeSFTP (recommandé) ou FTP
Hôteex. ftp.example.com
Port22 (SFTP) ou 21 (FTP)
IdentifiantNom d'utilisateur fourni par Hektor
Mot de passeMot de passe FTP fourni par Hektor
Chemin/export/annonces.xml (ou équivalent)
Archive zipOui / Non selon le format

JSON-LD SEO pour chaque annonce

Ts-Immo recommande l'utilisation du schéma JSON-LD `RealEstateListing` (Schema.org) sur chaque page de détail. Le SDK Ts-Immo fournit un helper qui génère le JSON-LD à partir de l'objet Listing — voir le guide « API immobilière REST ».

Remontée des leads

Côté Next.js, créez un Route Handler `/api/lead` qui appelle l'endpoint `POST /v1/gateway/estimations` de Ts-Immo (avec un sous-objet `lead`). Les prospects sont persistés dans Ts-Immo et consultables via `GET /v1/gateway/leads`.

Questions fréquentes

Next.js Pages Router est-il supporté ?+

Oui. L'API REST Ts-Immo s'appelle via getStaticProps / getServerSideProps comme n'importe quelle API. L'App Router est néanmoins recommandé (RSC + ISR + streaming).

Quelle stratégie de cache pour les listings Hektor ?+

Pour Hektor (sync plusieurs fois par jour), une revalidation ISR de 10 à 30 minutes est largement suffisante.

Peut-on filtrer / paginer les annonces ?+

Oui. L'API REST Ts-Immo supporte les paramètres suivants : type, category, city, postalCode, minPrice, maxPrice, minSurface, maxSurface, rooms, page, perPage, sort.

Comment gérer les images Next.js ?+

Utilisez <Image /> de next/image avec les URLs CDN Ts-Immo (cdn.ts-immo.org). Pensez à ajouter le domaine dans next.config.ts (remotePatterns).

Le SDK est-il typé en TypeScript ?+

Oui. Un SDK TypeScript est en cours de publication (npm install @ts-immo/sdk). En attendant, l'API REST est entièrement documentée et facile à typer manuellement.

Faut-il un compte Hektor actif ?+

Oui. Vous restez client Hektor pour la gestion métier. Ts-Immo est uniquement la passerelle qui amène les données Hektor vers votre site Next.js.

Ready to connect your CRM?

Get started for free or contact us for a personalized Ts-Immo demonstration.

Connecter Hektor à Next.js — API REST temps réel — Ts-Immo