L'articolo e l'esempio descritti sono una semplificazione di quanto riportato nel documento in lingua inglese. Si ipotizza un modulo di iscrizione ad una newsletter presente in un sito web esterno a CiviCRM. Le informazioni richieste sono il nome, cognome, e-mail, numero telefonico, data di nascita, sesso.
Quando il modulo viene inviato, l'obiettivo è creare un contatto in CiviCRM con tipologia contatto, ad es., “Newsletter”.
Nell'articolo viene illustrato il metodo per creare il modulo “newsletter” in un sito web su piattaforma Wordpress e permettere l'inserimento del nuovo contatto (Newsletter) in CiviCRM. Innanzitutto viene creata la procedura di elaborazione del modulo in CiviCRM. Tale procedura gestisce i dati ricevuti dal modulo.
Configurazione di CiviCRM ed elaborazione del modulo
Installazione delle estensioni necessarie
Procedere all'installazione delle seguenti estensioni:
- action provider: https://lab.civicrm.org/extensions/action-provider
- form processor: https://lab.civicrm.org/extensions/form-processor
Procedere alla configurazione di CiviCRM:
- Aggiungere tipo contatto Newsletter
Configurazione di un “form processor” e gestione dei dati inviati dal modulo web
Da Amminstrazione
=> Automation
=> Form Processor
selezionare Add New
ed aggiungere un nuovo “form processor”. Inserire un nome (ad es. “newsletter_signup”), una descrizione ed un'autorizzazione, come ad es. 'access CiviCRM'.
E' necessario definire un'autorizzazione altrimenti il sistema considera i contatti creati con autorizzazione 'amministratore'.
All'interno della scheda del “form processor” creato, devono essere impostati i campi del modulo gestiti successivamente dal “form processor”.
Utilizzando le denominazioni dei campi in inglese potremmo avere:
- first_name (nome)
- last_name (cognome)
- telephone_number (telefono)
- birth_date (data di nascita)
- gender (sesso)
Per i campi definiti è possibile stabilire dei criteri di formattazione e validazione.
Successivamente viene definita l'azione coinvolta nella creazione del contatto in CiviCRM. Viene definito un nome per l'azione (ad es. “Crea utente newsletter”). Viene selezionato il tipo contatto (“Newsletter”)
Effettuare quindi la mappatura dei campi del modulo con i campi Contatto:
- Contact ID: lasciare vuoto.
- Nome: input.first_name
- Cognome: input.last_name
- Data di anscita: input.birth_date
- Sesso: input.gender
- Telefono: input.telephone_number
- E-mail: input.email
Lasciare vuoti tutti gli altri campi di mappatura. La mappatura permette di inviare i dati del modulo all'azione di creazione contatto.
Configurazione Sito Web in Wordpress
Installare i seguenti plugins:
- Contact Form 7
- Contact Form 7 CiviCRM integration
Procedere alla Configurazione di Contact Form 7 CiviCRM integration. Da Settings => CiviCRM settings impostare:
- CiviCRM Host - l'url della tua installazione CiviCRM
- CiviCRM path – il percorso del file civicrm/extern/rest.php
- CiviCRM Site Key - site key precedentemente archiviata
- CiviCRM API key - api key precedentemente archiviata
Creare il modulo in Wordpress (Contact => Add new (nome “Iscrizione Newsletter”)) Inserire nel Modulo il seguente codice:
<label> Nome (required)
[text* first_name] </label>
<label> Cognome (required)
[text* last_name] </label>
<label> Email (required)
[email* email] </label>
<label> Telefono
[text telephone_number] </label>
<label> Data di nascita
[date* birth_date] </label>
<label> Sesso
[select* gender "Male" "Female"] </label>
[submit "Invia"]
(per approfondimenti in merito al codice di Contact Form 7 si rimanda al seguente documento)
Sempre da Contact Form 7, selezionare quindi la scheda CiviCRM, attivare il campo CiviCRM processing e valorizzare il campo action con il valore “newsletter_signup” (il nome del form processor precedentemente definito in CiviCRM). Inserire lo shortcode del modulo Contact Form 7 in una pagina di wordpress creata appositamente per la sezione Newsletter del sito.