Webhook

Webhook CRM immobilier — synchronisation temps réel

Les webhooks permettent à un CRM immobilier de notifier instantanément le site web lorsqu'un bien est créé, modifié ou supprimé. Tour d'horizon des webhooks Ts-Immo.

Pull vs push

Pull = le site interroge périodiquement le CRM. Push = le CRM notifie le site dès qu'un changement a lieu. Le webhook est la forme classique du push.

Webhooks entrants — depuis le CRM vers Ts-Immo

Ts-Immo expose deux endpoints qui reçoivent les webhooks des CRM event-driven : Sweepbright et Whise.

CRMEndpointSignatureAlgo
SweepbrightPOST /v1/gateway/webhooks/sweepbright/{gatewayId}X-Hook-SignatureHMAC-SHA1
WhisePOST /v1/gateway/webhooks/whise/{gatewayId}X-Whise-SignatureHMAC-SHA256

CRM qui supportent les webhooks

  • Sweepbright — natif, événements granulaires (HMAC-SHA1)
  • Whise — natif (HMAC-SHA256)
  • Apimo et autres CRM — synchronisation périodique multi-quotidienne

Webhook sortant — Ts-Immo vers votre site

Le connecteur de sortie `WEBHOOK` de Ts-Immo permet de pousser le portefeuille normalisé vers un endpoint cible (votre Next.js par exemple) à chaque synchronisation. Configuration côté passerelle : `{ "url": "https://monsite.com/api/sync-webhook" }`. Le body est le bien normalisé Ts-Immo.

Cas d'usage Next.js — revalidation ISR à la demande

Sur un site Next.js, vous pouvez exposer une route /api/sync-webhook qui reçoit le webhook sortant Ts-Immo et appelle `revalidateTag()` ou `revalidatePath()` pour rafraîchir uniquement les pages concernées.

app/api/sync-webhook/route.ts
import { revalidateTag } from 'next/cache'
import { NextRequest, NextResponse } from 'next/server'

export async function POST(req: NextRequest) {
  const secret = req.headers.get('x-ts-immo-secret')
  if (secret !== process.env.TS_IMMO_WEBHOOK_SECRET) {
    return NextResponse.json({ error: 'unauthorized' }, { status: 401 })
  }
  const property = await req.json() // bien normalisé Ts-Immo (snake_case)
  revalidateTag('listings')
  revalidateTag(`listing:${property.id}`)
  return NextResponse.json({ revalidated: true })
}

Questions fréquentes

Comment sécuriser un webhook entrant ?+

Sweepbright signe en HMAC-SHA1 (header `X-Hook-Signature`), Whise en HMAC-SHA256 (header `X-Whise-Signature`). Ts-Immo vérifie la signature automatiquement.

Comment sécuriser le webhook sortant côté Next.js ?+

Définissez un secret partagé à passer en header (ex. `x-ts-immo-secret`) et vérifiez-le côté Route Handler avant de revalider.

Que se passe-t-il si mon site est down quand le webhook est envoyé ?+

Le connecteur sortant retente avec backoff. Le portefeuille sera de toute façon disponible au prochain pull via l'API REST.

Prêt à connecter votre CRM ?

Démarrez gratuitement ou contactez-nous pour une démonstration personnalisée de Ts-Immo.

Webhook CRM immobilier — guide complet — Ts-Immo