EN
Copied
Modules

Vérification fermeture

Vérifier si chaque point d'intérêt est toujours en activité, a fermé, ou est incertain : à partir des signaux réels d'abandon sur son site.

Objet

Le module dead_check inspecte le site web associé à chaque point d'intérêt (POI) et détermine si l'activité sous-jacente semble vivante, fermée ou incertaine. Il corrèle plusieurs signaux d'abandon sur le même domaine : nom de domaine en expiration, redirection vers une propriété sans rapport (revente ou rebranding), pages de parking déguisées en vrais sites, certificats TLS expirés ou invalides. Les annuaires (Doctolib, Pages Jaunes, Yelp, etc.) sont reconnus comme tels plutôt que catalogués à tort en site personnel.

Inputs

Une liste de POI, chacun portant au moins un site web. Les entrées sans site_web sont filtrées à la soumission.

Champ Type Requis Description
items array d'objets POI oui 1 à 10 000 entrées. Les entrées sans site_web sont écartées avant exécution.
source_job_id string non Identifiant du job amont produisant la liste (typiquement un scrap). Sert au lignage dans l'UI et le pipeline.

Aucun autre paramètre : le module tourne dans un mode unique.

Outputs

Chaque ligne d'entrée garde ses colonnes d'origine et reçoit les colonnes suivantes :

Colonne Type Description
status string Verdict : alive (le site répond comme une activité en marche), stale (joignable mais à l'abandon : page en construction ou aucune mise à jour depuis plus de deux ans), dead (échec DNS, connexion refusée, erreur serveur, page parking, page serveur par défaut, page vide), unknown (impossible de trancher : page protégée, délai dépassé ou pas d'URL), aggregator (l'URL est une fiche d'annuaire, pas le site propre de l'entreprise).
reasons string Signaux à l'origine du verdict, séparés par \| (par exemple parking_page, http_403_protected, no_url).
final_url string URL atteinte après redirections.
http_status entier Code HTTP de la réponse finale.
last_modified string Date de dernière modification annoncée par le serveur, si disponible.
ssl_valid string Validité du certificat TLS.
response_ms entier Temps de réponse en millisecondes.
domain_expires_at string Date d'expiration du domaine, quand le registre la publie.
domain_expires_in_days entier Jours restants avant l'expiration du domaine.
registrar string Bureau d'enregistrement du domaine.
redirect_off_domain string Le site redirige-t-il vers un autre domaine (revente ou changement de marque).

L'entrée site_alive du registre des modules est un signal, pas un en-tête du CSV : dans un pipeline, la règle alive_only de filter garde les lignes dont status vaut alive ou stale.

L'unité de progression est sites ; l'unité de résultat aussi.

Cycle de vie

États de job standard. Voir Cycle de vie des jobs. Des compteurs partiels sont diffusés en SSE, ce qui permet de consommer les premiers verdicts sans attendre l'export final.

Pipeline

Pipelinable ; typiquement inséré juste après l'étape produisant la liste, avant tout enrichissement coûteux.

Slot Valeur
needs site_web
produces site_alive
Catégorie verify
Amont typique scrap
Aval typique emails, techstack, ads_intelligence, filter

Enchaînement courant : scrap, puis dead_check, puis filter avec alive_only (garde status alive ou stale), puis n'importe quel module d'enrichissement. Cela évite de dépenser du budget sur des activités fermées.

Endpoints

Créer un job :

POST /api/jobs/dead-check
Content-Type: application/json

{
  "items": [
    { "site_web": "https://example.com", "nom": "Example Co" }
  ],
  "source_job_id": "…"
}

Réponse : un objet JobPublic avec id, status et les métadonnées de job standard. Poller GET /api/jobs/{id} ou s'abonner au flux SSE pour la progression ; télécharger le CSV final depuis la page de détail du job une fois status = "done".

Pour la surface complète de l'API des jobs (liste, détail, cancel, export, events), voir API Jobs. Pour les quotas par compte, voir Limites.

Erreurs

HTTP detail Cause
400 Aucun établissement avec site web Aucun item d'entrée ne porte de champ site_web.
400 Quota dépassé : … Le coût estimé dépasse le quota équivalent-France par job.
401 / 403 — Session manquante ou inactive.

Les erreurs levées après la création du job remontent sur la page de détail et via l'événement SSE error ; le job termine en status = "error" et les résultats partiels, s'il y en a, restent téléchargeables.

Pour aller plus loin