2xx accuse réception d’une livraison de webhook. Une réponse non-2xx ou une erreur de transport ne l’accuse pas.
Recevez un webhook de façon sûre
Gardez le handler HTTP minimal. N’exécutez pas de logique métier lente, d’enrichissement ou d’appel API en aval avant d’accuser réception.- Enregistrez
X-Immoteur-Event-Id, présent sur chaque livraison, et persistez ou mettez durablement l’événement en queue avant de l’accuser réception. - Renvoyez
204 No Contentou une autre réponse2xxdès que ce travail est sûr. - Traitez l’événement dans votre propre worker ou queue après la réponse HTTP. Dédupliquez et rendez les écritures idempotentes : la livraison est au moins une fois et peut contenir des doublons ou arriver dans le désordre. La queue et le worker relèvent de votre architecture d’intégration, pas d’un service Immoteur.
Timeouts
Immoteur applique actuellement un timeout de connexion de 5 secondes et un timeout de requête de 5 secondes. Un receiver qui attend un travail lent peut expirer avant d’accuser réception. Persistez ou mettez en queue, puis renvoyez rapidement une réponse réussie.Lisez les en-têtes de livraison
Pour un export
classifieds, lisez le champ obligatoire exportType plutôt que de déduire le type de son contenu : full indique un Export complet et delta un Export delta. Sa valeur décrit l’export effectivement livré ; elle est présente dans chaque chunk de données et dans le message final.
Lorsqu’un Export delta demandé bascule vers un Export complet, l’export effectivement livré est un Export complet avec exportType: "full" ; les payloads envoyés au receiver n’exposent ni le mode demandé ni la raison du repli.
Ne déduisez ni un ordre de traitement, ni une garantie d’unicité pour les exports. La stabilité de X-Immoteur-Event-Id entre les réessais s’applique aux seules notifications classified, pas aux chunks d’export classifieds. Un upsert par identifiant d’annonce et un registre des événements reçus complètent l’idempotence du receiver.
Réessais et circuit breaker
Une réponse non-
2xx, y compris une 4xx, n’est pas un accusé de réception réussi. Un export peut avoir plusieurs tentatives et chunks : ne supposez ni taille fixe ni ordre strict. Les réessais ne constituent pas une promesse de replay complet ou de livraison exactly-once.
Immoteur applique la politique de réessai adaptée après une livraison non accusée. Lorsque 1 000 événements en réessai sont en cours pour un service, son circuit s’ouvre pendant 10 minutes. Les livraisons de ce service sont ignorées pendant ce délai et ne sont pas rejouées automatiquement. Surveillez le rétablissement de votre endpoint et reprenez la réconciliation avec un export adapté ; ne comptez pas sur un replay automatique des livraisons ignorées.
Configurez l’endpoint et les filtres dans Configurer les webhooks Immoteur. Utilisez Synchroniser les annonces pour le flux d’intégration avec export complet, notifications en direct et export delta. Utilisez Fiabilité de l’API pour les en-têtes de limite de l’API.