Google Form vers Cadulis
Configurez un formulaire Google
Rendez-vous sur https://docs.google.com/forms et créez un formulaire
Ajoutez les champs qui vous intéressent ;)
Créer un accès sur Cadulis
Rendez-vous sur https://app.cadulis.com
Allez dans Paramètres
> Accès externes
> Créer un accès externe
Choisissez le type “Webservice REST”
Autoriser la création d’activité
Dans la section API Rest vous avez appris à créer votre accès webservice?
Cochez la case pour permettre de Créer une activité
et selon votre besoin Créer un client
Enregistrez.
Copiez votre clé API
disponible dans l’encart correspondant
Configurez le script GoogleForm pour injecter dans Cadulis
Désormais nous souhaitons injecter les réponses du formulaire Google Form directement dans Cadulis. Nous allons automatiser cela grâce à l'éditeur de scripts
.
Depuis votre formulaire GoogleForm, cliquez sur et choisissez Editeur de scripts
Code
Ajoutez un fichier et utilisez le code suivant, en prenant soin de remplacer clé API
par celle obtenue plus haut
Ci-dessous, pensez à remplacer en début du script apiKey et activityTypeId
:
- apiKey est la clé API obtenue plus haut sur votre accès externe Cadulis
- activityTypeId est l’identifiant de votre type d’activité. Cet identifiant se trouve dans l’url lorsque vous cliquez sur le type d’activité dans le catalogue.
function onFormSubmit(e) {
// apiKey: Replace with the key of the external access of your Cadulis configuration
var apiKey = 'XXXXXXXX';
// activityTypeId: Replace with the id of activity type (in catalog) you want to create an activity
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 = {};
// Generate a string containing all questions by ttle and their answer
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;
}
// generate a unique reference from Google Form response ID
var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
// prepare Cadulis data
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());
}
Déclenchement
Pour que ce script soit utilisé à chaque enregistrement de formulaire, rendez-vous dans le menu de gauche et choisissez Déclencheurs
Dans “Type dévénement”, choisissez Lors de l'envoi du formulaire
, et enregistrez.
Et voilà : à chaque réponse sur Google Form, une activité sera créée dans Cadulis !