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 :
- Qualifier les prospects par maturité (build sur mesure vs constructeur drag-and-drop).
- Filtrer par signal d'achat (analytics payant déjà en place, paiement par carte déjà actif).
- Router les leads vers la bonne offre selon la plateforme exploitée.
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_web — scrap é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 :
pricing— extrait les tarifs publiés et les plans depuis les mêmes sites.ads_intelligence— profile la maturité marketing (pixels, retargeting, CMP, CRM).pagespeed— mesure la performance réelle et les Core Web Vitals.