# Wordpress: Gravity Forms

{% hint style="info" %}
Esta guía es una **referencia** de flujo para enviar datos a la API de Classlife. Recomendamos capturar las trazas de envío y realizar pruebas API-REST para confirmar que la conexión es correcta.\
Classlife es responsable de procesar la petición API-REST recibida.
{% endhint %}

De forma análoga al pluguin ContactForm7 de Wordpress, podemos conectar los formularios Gravity Forms con Classlife

En Apariencia-->Editor de temas -->functions.php

Hay que sustituir las XXXXXXX por los valores del centro.

```php
//Hay que crear un action por cada formulario .. te pongo un ejemplo:

/* CLASSLIFE */
add_action( 'gform_after_submission_1', 'form_inscripcion_es', 10, 2 );


function form_inscripcion_es( $entry, $form ) {
        // GravityForms NO permite cambiar los NAMES de los input... son harcoded-gravity-form
        $fields=[];
        $fields["name"]=@$entry["1"];
        $fields["email"]=@$entry["4"];
        $fields["surname"]=@$entry["2"];
        $fields['lead_source'] = '1';    //Canal WEB defindo en Ventas
        // otros campos
        $fields["phone"]=@$entry["5"];
        $fields["nacionality"]=@$entry["1005"];
        $fields["nacimiento"]=@$entry["1006"];
        $fields["why"]=@$entry["1000"];
        $fields["estoy_de_acuerdo"]=@$entry["1003"];
        $fields['formulario'] = $form['title'] ;
        
        //cURL to Classlife
        send_to_classlife($fields);
}

function send_to_classlife($fields) {
                $url = 'https://XXXXXXXx.classlife.education/app/apilead.php';  
                $fields['apiKey'] = 'XXXXXXX';

                $fields['service'] = 'api';                
                $fields['perform'] = 'newLead';
                $fields['source'] = 'gravityform';
                //campos extras
                $fields['origin'] = 'formulario A, B, C';   //campos extras
                $fields['tipo'] = 'Tipo1, tipo2';   
                //todos los campos
                foreach($fields as $key=>$value) {
                    $fields_string .= $key.'='.$value.'&';
                }
                rtrim($fields_string, '&');
                
                $ch = curl_init();
                curl_setopt($ch,CURLOPT_URL, $url);
                curl_setopt($ch,CURLOPT_POST, count($fields));
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
                $result = curl_exec($ch);
                curl_close($ch);
}

/* CLASSLIFE */

```
