.. _gnrextra/wordpress/cf7: Integrare CF7 ============= Il dialogo tra un sito Wordpress e un applicativo Genropy **non deve passare necessariamente dall'utilizzo del package** *wordpress*. È infatti possibile far inviare a un sito Wordpress delle informazioni a un applicativo Genropy utilizzando le `API di Genropy `_. Vediamo per l'appunto come utilizzare le API di Genropy per inviare all'applicativo delle informazioni da un modulo di contatto realizzato con **Contact Form 7**. Una volta installato il `plugin `_ per inviare dati dal sito una volta completato un modulo su CF7, è necessario compilare tra i parametri del service il ``Wordpress CF7 Token``, che verrà utilizzato per controllare la corrispondenza con quanto trasmesso dal plugin. Successivamente, è possibile configurare il plugin direttamente dal sito Wordpress, nel tab ``API Integration`` del modulo di contatto di cui si vogliono trasmettere i dati: .. image:: /_static/images/wordpress/cf7-api-integration.jpg :width: 100% :align: center - In ``Base URL`` inserire l'url completa, compreso il *package*, la *webpage* e il nome del *metodo* specifico. Se si sta utilizzando il package *wprdpress* questa di default corrisponderà a ``/wordpress/cf7/newMessageFromCF7``, in caso invece di utilizzo in altri contesti è possibile costruire una pagina personalizzata utilizzando le `API di Genropy `_ - In ``Bearear Auth Key`` inserire un **token**, che verrà inserito nell'header della *request*, e su cui effettuare un controllo di sicurezza prima di effettuare la modifica al database. Se si sta utilizzando il package *wordpress*, il *token* sarà quello utilizzato nei parametri di configurazione del service. .. hint:: È possibile anche utilizzare la ``Basic Auth``, in alternativa, adeguando però la procedura di verifica degli step successivi. - Nella tabella successiva si può poi eseguire un *mapping* dei vari campi che vogliamo trasmettere. Se si sta utilizzando il package *wordpress*, di default l'obiettivo di un modulo di contatto sarà di andare a riempire la tabella ``cf7_contact``. Di conseguenza, i campi predefiniti per la ricezione sono ``name``, ``surname``, ``email``, ``message``, ``meeting_date``, ``meeting_time``, ``phone``, ``privacy``, ``newsletter``. Si noti che se si utilizzano campi differenti da quelli standard sarà necessario ridefinire le tabelle e/o la webpage di conseguenza. .. hint:: È anche possibile far inviare a *Contact Form 7* dei campi **hidden**, ovvero non mostrati all'utente per la compilazione, ma pre-compilati con dei valori. Può essere il caso dell'associazione a una specifica ``lista_id``, o al grado di ``consenso_id``, dell' :ref:`iscrizione a una newsletter` . .. sectionauthor:: Davide Paci