Leica Florian Robert

Professione: Sviluppatore Web & Mobile

È un esperimento: il sito come sarebbe stato negli anni '90. Per vedere quello vero, premi il pulsante in fondo alla pagina.


<< Torna ai progetti

Imanpack — case study

Ruolo: Sviluppo, integrazione e server. Anno: 2023.

Sito: imanpack.it

Un sistema in Laravel che collega il CMS proprietario in .NET di Imanpack a Mailchimp: le newsletter preparate nel CMS diventano campagne bilingui, create e inviate o programmate in automatico, con un pannello per seguirne lo stato.

Stai vedendo questo case study con il motore Legacy. Per vederlo come è stato progettato, attiva il rendering nativo qui sotto.

Due sistemi che non si parlavano

Imanpack gestisce i suoi contenuti con un CMS proprietario scritto in .NET, su Microsoft SQL Server. Le newsletter invece passano da Mailchimp.

L'obiettivo: far nascere le newsletter direttamente dai dati inseriti nel CMS, senza ricopiarli a mano e senza aprire Mailchimp.

Dal CMS alla casella di posta

  • Il CMS scrive la newsletter in una tabella del suo database: oggetto, lista, data di invio, testi, allegati, video. È l'unico punto di contatto tra i due sistemi, che non si chiamano mai a vicenda.
  • Ogni minuto Laravel cerca le newsletter nuove nella tabella.
  • Costruisce l'email da un modello MJML e la carica su Mailchimp.
  • Crea la campagna sulla lista scelta nel CMS e la invia subito o la programma alla data indicata.
  • Quando Mailchimp spedisce, un webhook lo comunica a Laravel, che segna la newsletter come inviata con l'ora esatta.

Quando qualcosa va storto

Se la lista non esiste o Mailchimp rifiuta la campagna, la newsletter passa in errore con il suo messaggio, e il sistema cancella quello che aveva appena creato su Mailchimp: il tentativo successivo riparte pulito. Riprova da solo ogni minuto, fino a tre volte.

Un pannello mostra lo stato di ogni newsletter, il messaggio d'errore e l'anteprima esatta dell'email, con un pulsante per rigenerarla dopo aver corretto i dati nel CMS. Una campagna già spedita non parte mai una seconda volta.

Due lingue, una sola email

Ogni newsletter è bilingue: l'inglese a sinistra, l'italiano a destra, dalla stessa riga del CMS. Il modello è scritto in MJML, che lo trasforma in un HTML adatto ai client di posta.

Allegati con il pulsante di download, video YouTube e immagini compaiono solo se nel CMS c'è il dato. Il piè di pagina, con la privacy e la disiscrizione, lo compila Mailchimp per ogni destinatario.

Sul server del cliente

  • Il sistema gira sul server Windows di Imanpack, accanto al CMS: Windows Server configurato da me per esporre l'applicazione su una porta dedicata.
  • PHP installato e messo a punto sul server.
  • L'avvio delle attività pianificate, compreso il deploy automatico: un'attività controlla se ci sono aggiornamenti e li scarica con git pull.
  • Laravel e il CMS condividono lo stesso database SQL Server: ogni minuto Laravel controlla la tabella delle newsletter e reagisce quando cambia.

Dati nel CMS, il resto in automatico

  • Niente più lavoro a mano su Mailchimp: chi prepara la newsletter lavora solo nel CMS.
  • Newsletter bilingui, per raggiungere anche i clienti internazionali.
  • Invio subito o programmato, e lo stato di ogni newsletter sempre sotto controllo nel pannello.
  • Iscrizioni e cancellazioni dal sito di Imanpack collegate direttamente alla lista di Mailchimp, senza doppioni.

Ottimizzato per Netscape Navigator 4.0 — 800×600

Privacy Policy