Come gestire registrazioni contatti provenienti da siti web esterni

Come permettere la registrazione di nuovi contatti in CiviCRM in seguito a richieste inviate da siti web esterni tramite modulo di iscrizione. L'obiettivo viene raggiunto tramite l'utilizzo dell'estensione FormProcessor

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:

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)
  • email
  • 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.