Olá, estou tentando ligar a Hotmart com as Planilhas google!
Hotmart é uma plataforma de vendas de produtos digitais, e quando gerar um boleto, ou ter alguma compra cancelada, queria que fosse inserida com os dados na planilha.
Eu consegui fazer a partir de um tutorial, a ligação com a RD station (Email marketing), que envia os dados no formato json, a hotmart envia com o formato de querystring.
Código feito:
function doGet(e) {
// Todo
}
function doPost(e) {
// Verifica se a chamada POST veio com dados no corpo e se os dados estão no formato correto
if (e.postData.contents && e.postData.type == 'application/json') {
// Caso existam dados eles virão em formato JSON e é necessário transformar estes dados para usá-los no aplicativo
var lead = JSON.parse(e.postData.contents);
// Chama uma função personalizada para gravar o lead na planilha
gravarMensagem(lead);
}
}
function gravarMensagem(mensagem) {
// Abre a planilha e seleciona a aba Sheet1
var celulas = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
// Seleciona as células que conterão o cabeçalho. Em ordem, os parâmetros são: primeira linha, primeira coluna, última linha, última coluna
var cabecalho = celulas.getRange(1, 1, 1, 8);
// Escreve os nomes das colunas nas células de cabeçalho
cabecalho.setValues([['Nome', 'Email', 'Data de Criação', 'Empresa', 'Origem da Primeira Conversão', 'Estágio no Funil', 'Lead Scoring', 'Interesse']]);
// Cria uma trava que impede que dois ou mais usuários executem o script simultaneamente
var trava = LockService.getScriptLock();
// Espera 2 segundos até que as linhas de código a seguir terminem
trava.waitLock(2000);
// Navega pelos dados enviados pelo webhook
for (var i = 0; i < mensagem.leads.length; i++) {
// Escreve os dados na planilha
celulas.appendRow([mensagem.leads.name,
mensagem.leads.email,
mensagem.leads.created_at,
mensagem.leads.company,
mensagem.leads.first_conversion.source,
mensagem.leads.lead_stage,
mensagem.leads.fit_score,
mensagem.leads.interest]);
// Atualiza a planilha com a nova linha
SpreadsheetApp.flush();
}
// Desativa a trava do script para que possa receber outras mensagens do webhook
trava.releaseLock();
}
Me ajudem!