[FEAT] Standardizzazione lead form — allineamento a TRPG Agile

MktgLeadController.php:
- Endpoint POST /api/mktg-lead/submit (standard condiviso TRPG/NIS2)
- Proxy a mktg.agile.software/api/webhook/leads con X-Webhook-Key server-side
- Payload standard: name, email, phone, company, product_interest, source, notes
- source: "nis2-landing" per tracciamento CRM
- Fallback email a info@agile.software se webhook non raggiungibile
- Rate limit 3/10min per IP, supporto campi IT e EN

index.html — form allineato a TRPG:
- Aggiunto: telefono (opzionale)
- Aggiunto: tipo utilizzo (select 6 opzioni)
- N° dipendenti: fasce standardizzate (<50/50-249/250-999/1000+)
- Aggiunto: interesse (info/demo/accesso/integrazione B2B)
- Endpoint aggiornato a /api/mktg-lead/submit
- Payload mappato su campi standard EN + source: "nis2-landing"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-03-09 12:14:42 +01:00
co-authored by Claude Sonnet 4.6
parent c4c34aeed1
commit b1dcd4cbd7
3 changed files with 242 additions and 24 deletions
+8 -2
View File
@@ -104,7 +104,8 @@ $controllerMap = [
'whistleblowing'=> 'WhistleblowingController',
'normative' => 'NormativeController',
'cross-analysis' => 'CrossAnalysisController',
'contact' => 'ContactController',
'contact' => 'ContactController', // legacy
'mktg-lead' => 'MktgLeadController', // standard condiviso TRPG/NIS2
];
if (!isset($controllerMap[$controllerName])) {
@@ -371,10 +372,15 @@ $actionMap = [
'GET:portfolio' => 'portfolio',
],
// ── ContactController (lead / richiesta invito) ──
// ── ContactController (lead / richiesta invito) — legacy ──
'contact' => [
'POST:requestInvite' => 'requestInvite',
],
// ── MktgLeadController — standard condiviso TRPG/NIS2 ──
'mktg-lead' => [
'POST:submit' => 'submit',
],
];
// ═══════════════════════════════════════════════════════════════════════════