Documentación del software de gestión, planificación y optimización de intervenciones

Google Form hacia Cadulis


Configure un formulario de Google

Dirígete a https://docs.google.com/forms y crea un formulario

Cadulis Google form

Agrega los campos que te interesen ;)

Crear un acceso en Cadulis

Dirígete a https://app.cadulis.com

Ve a Paramètres > Accès externes > Créer un accès externe

Elige el tipo “Webservice REST”

Autorizar la creación de actividad

¿En la sección API Rest aprendiste a crear tu acceso webservice?

Marca la casilla para permitir Créer une activité y, según tu necesidad, Créer un client

Guarda.

Copia tu clé API disponible en el recuadro correspondiente

Configura el script de GoogleForm para inyectar en Cadulis

Ahora queremos inyectar las respuestas del formulario de Google Form directamente en Cadulis. Vamos a automatizar esto gracias al editor de scripts.

Desde tu formulario de GoogleForm, haz clic en y elige Editeur de scripts

Código

Agrega un archivo y utiliza el siguiente código, asegurándote de reemplazar clé API por la obtenida anteriormente

A continuación, recuerda reemplazar al inicio del script apiKey y activityTypeId :

  • apiKey es la clave API obtenida anteriormente en tu acceso externo Cadulis
  • activityTypeId es el identificador de tu tipo de actividad. Este identificador se encuentra en la url cuando haces clic en el tipo de actividad en el catálogo.

function onFormSubmit(e) {  
    // apiKey: Reemplaza con la clave del acceso externo de tu configuración Cadulis
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Reemplaza con el id del tipo de actividad (en el catálogo) que deseas crear
    var activityTypeId = 1234;

    var form = FormApp.getActiveForm();
    var allResponses = form.getResponses();
    var latestResponse = allResponses[allResponses.length - 1];
    var responseId = latestResponse.getId();
    var response = latestResponse.getItemResponses();

    var responseMap = {};
    
    // Generar una cadena que contenga todas las preguntas por título y su respuesta
    var responseString = '# ' + responseId + "\n\n";
    for (var i = 0; i < response.length; i++) {
        var question = response[i].getItem().getTitle();
        var answer = response[i].getResponse();
        responseString += question + ' : ' + answer + "\n";
        responseMap[question] = answer;
    }
    
    // generar una referencia única a partir del ID de respuesta de Google Form
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // preparar los datos para Cadulis
    var formData = {
        'cref': cref,
        'reference': cref,
        'intervention_type':{
            'id': activityTypeId
        },
        'comment': responseString,
        'title': 'Réponse sur Google Form'
    };
    
    var options = {
        "method": "post",
        "contentType": "application/json",
        "payload": JSON.stringify(formData)
    };
    
    console.log(formData);
    var url = 'https://api.cadulis.com/connectors/' + apiKey + '/interventions';
    var result = UrlFetchApp.fetch(url, options);
    console.log(result.getContentText());
}

Disparador

Para que este script se utilice en cada registro del formulario, dirígete al menú de la izquierda y elige Déclencheurs

En “Type d’événement”, selecciona Lors de l'envoi du formulaire, y guarda.

¡Y listo! Con cada respuesta en Google Form, se creará una actividad en Cadulis.