Aceda a https://docs.google.com/forms e crie um formulário
Adicione os campos que considerar relevantes ;)
Aceda a https://app.cadulis.com
Vá a Definições > Acessos externos > Criar um acesso externo
Escolha o tipo “Webservice REST”
Na secção API Rest aprendeu a criar o seu acesso webservice?
Assinale a caixa para permitir Criar uma atividade e, conforme a sua necessidade, Criar um cliente
Guarde.
Copie a sua chave API disponível no respetivo bloco
Agora pretendemos injetar as respostas do formulário Google Form diretamente no Cadulis. Vamos automatizar este processo através do editor de scripts.
No seu formulário GoogleForm, clique em e escolha Editor de scripts
Adicione um ficheiro e utilize o código seguinte, tendo o cuidado de substituir a chave API pela obtida anteriormente
Em baixo, lembre-se de substituir no início do script apiKey e activityTypeId :
function onFormSubmit(e) {
// apiKey: Substitua pela chave do acesso externo da sua configuração Cadulis
var apiKey = 'XXXXXXXX';
// activityTypeId: Substitua pelo id do tipo de atividade (no catálogo) que pretende criar
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 = {};
// Gerar uma string com todas as perguntas pelo título e respetiva resposta
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;
}
// gerar uma referência única a partir do ID da resposta do Google Form
var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
// preparar os dados para o Cadulis
var formData = {
'cref': cref,
'reference': cref,
'intervention_type':{
'id': activityTypeId
},
'comment': responseString,
'title': 'Resposta no 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());
}
Para que este script seja utilizado em cada registo do formulário, aceda ao menu à esquerda e escolha Acionadores
Em “Tipo de evento”, selecione No envio do formulário e guarde.
E pronto: por cada resposta no Google Form, será criada uma atividade no Cadulis!