Leica Florian Robert

Profesie: Dezvoltator Web & Mobile

E un experiment: site-ul așa cum ar fi arătat în anii '90. Ca să-l vezi pe cel adevărat, apasă butonul de la sfârșitul paginii.


<< Înapoi la proiecte

Imanpack — studiu de caz

Rol: Dezvoltare, integrare și server. An: 2023.

Site: imanpack.it

Un sistem în Laravel care leagă CMS-ul proprietar .NET al Imanpack de Mailchimp: newsletterele pregătite în CMS devin campanii bilingve, create și trimise sau programate automat, cu un panou pentru a le urmări starea.

Vezi acest studiu de caz cu motorul Legacy. Pentru a-l vedea așa cum a fost proiectat, activează randarea nativă mai jos.

Două sisteme care nu comunicau

Imanpack își gestionează conținutul cu un CMS proprietar scris în .NET, pe Microsoft SQL Server. Newsletterele, în schimb, trec prin Mailchimp.

Obiectivul: newsletterele să pornească direct din datele introduse în CMS, fără a le copia de mână și fără a deschide Mailchimp.

Din CMS în căsuța de e-mail

  • CMS-ul scrie newsletterul într-un tabel al bazei sale de date: subiect, listă, data trimiterii, texte, atașamente, video. Este singurul punct de contact dintre cele două sisteme, care nu se apelează niciodată unul pe altul.
  • În fiecare minut Laravel caută newsletterele noi în tabel.
  • Construiește e-mailul dintr-un șablon MJML și îl încarcă în Mailchimp.
  • Creează campania pe lista aleasă în CMS și o trimite imediat sau o programează la data indicată.
  • Când Mailchimp îl trimite, un webhook îl anunță pe Laravel, care marchează newsletterul ca trimis, cu ora exactă.

Când ceva nu merge

Dacă lista nu există sau Mailchimp refuză campania, newsletterul trece în eroare cu mesajul său, iar sistemul șterge ce tocmai crease în Mailchimp: următoarea încercare pornește curat. Reîncearcă singur în fiecare minut, de cel mult trei ori.

Un panou arată starea fiecărui newsletter, mesajul de eroare și previzualizarea exactă a e-mailului, cu un buton pentru a-l regenera după corectarea datelor în CMS. O campanie deja trimisă nu pleacă niciodată a doua oară.

Două limbi, un singur e-mail

Fiecare newsletter este bilingv: engleza în stânga, italiana în dreapta, din același rând al CMS-ului. Șablonul este scris în MJML, care îl transformă într-un HTML potrivit pentru clienții de e-mail.

Atașamentele cu butonul de descărcare, videoclipurile YouTube și imaginile apar doar dacă datele sunt în CMS. Subsolul, cu nota de confidențialitate și dezabonarea, îl completează Mailchimp pentru fiecare destinatar.

Pe serverul clientului

  • Sistemul rulează pe serverul Windows al Imanpack, lângă CMS: Windows Server configurat de mine pentru a expune aplicația pe un port dedicat.
  • PHP instalat și reglat pe server.
  • Pornirea activităților programate, inclusiv deploy-ul automat: o activitate verifică dacă există actualizări și le descarcă cu git pull.
  • Laravel și CMS-ul folosesc aceeași bază de date SQL Server: în fiecare minut Laravel verifică tabelul newsletterelor și reacționează când se schimbă.

Datele în CMS, restul automat

  • Fără muncă manuală în Mailchimp: cine pregătește newsletterul lucrează doar în CMS.
  • Newslettere bilingve, pentru a ajunge și la clienții internaționali.
  • Trimitere imediată sau programată, cu starea fiecărui newsletter mereu vizibilă în panou.
  • Abonările și dezabonările de pe site-ul Imanpack legate direct de lista din Mailchimp, fără duplicate.

Optimizat pentru Netscape Navigator 4.0 — 800×600

Politica de confidențialitate