EN
Copied
Modules

Stack technique

Stack technique

Détecte les technologies qui alimentent le site de chaque prospect — CMS, frameworks JavaScript, suites analytics, processeurs de paiement, hébergement et CDN — et retourne une ligne structurée par site.

Cas d'usage typiques :

Entrées

Les items sans site_web résolu sont écartés avant facturation.

Champ Type Requis Notes
items array oui 1 à 10 000 lignes de POI
items[].site_web string oui URL HTTP(S) du site à empreinter
source_job_id string non UUID d'un job amont à chaîner

Sorties

Une ligne enrichie par item d'entrée. La détection est best-effort : chaque colonne peut être null quand le signal est absent ou ambigu.

Colonne Type Description
tech_cms string | null Système de gestion de contenu ou constructeur principal (ex. wordpress, shopify, webflow).
tech_analytics string | null Produits analytics détectés (ex. ga4, matomo, plausible).
tech_ads_pixels string | null Pixels publicitaires détectés (ex. meta, google_ads, linkedin, tiktok).

Le rapport complet par site — hiérarchie à trois niveaux, signaux business, métadonnées techniques — est disponible sur la page de détail du job ; le CSV expose les signaux à plat ci-dessus pour le filtrage et le branchement de pipeline.

Cycle de vie

Cycle de vie standard des jobs outsend ; voir /docs/fr/concepts/jobs-lifecycle. La progression est reportée par site, en unité sites.

Pipeline

needs:    [site_web]
produces: [tech_cms, tech_analytics, tech_ads_pixels]

Tout module amont qui émet site_webscrap étant la source canonique — peut alimenter techstack.

Endpoints

Créer un job

POST /api/jobs/techstack
{
  "items": [
    { "site_web": "https://example.com" },
    { "site_web": "https://another.example" }
  ],
  "source_job_id": "8b3e…optional"
}

Retourne le job créé avec son id et son statut initial pending.

Inspecter un job

GET /api/jobs/{job_id}

Suivre la progression

GET /api/jobs/{job_id}/stream

Événements server-sent, un par site traité plus les transitions de statut terminal.

Télécharger les résultats

GET /api/jobs/{job_id}/download

Retourne la liste enrichie. Chaque ligne porte les champs POI d'origine plus les colonnes documentées dans Sorties.

Limites

Voir /docs/fr/concepts/limits pour les limites globales. Le schéma d'URL doit être http:// ou https://. Un job avec zéro item valide après filtrage de site_web est rejeté en 400.

Erreurs

HTTP Code / message Quand
400 Aucun établissement avec site web Aucun item du payload n'a de site_web exploitable.
400 Quota dépassé Le coût EF du job dépasse MAX_EF_PER_JOB.
400 Erreur de validation Forme du payload invalide (taille, champs manquants, types).

Les erreurs sont renvoyées en JSON avec un champ detail. Une fois le job en cours, les échecs par item apparaissent dans la ligne de résultat (colonnes vides) plutôt qu'en erreur HTTP.

Pour aller plus loin

La sortie techstack se compose naturellement avec :