function doGet(e) {
var idRichiesto = e.parameter.id;
var action = e.parameter.action;
var tipo = e.parameter.tipo;
var ss = SpreadsheetApp.openById("1I9J5tlnn1Jc2B-NLJIlGXg86y6hSK9wEsBf9bctkYaU");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
if (data[i][0].toString() == idRichiesto) {
// --- LOGICA RESET MENSILE ---
var colCount = 17; // Colonna R
var colAttivazione = 19; // Colonna T
var colRinnovo = 20; // Colonna U
var dataAttivazione = new Date(data[i][colAttivazione]);
var giorniRinnovo = parseInt(data[i][colRinnovo]) || 30;
var oggi = new Date();
var diffTime = oggi.getTime() - dataAttivazione.getTime();
var diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
if (diffDays >= giorniRinnovo) {
sheet.getRange(i + 1, colCount + 1).setValue(0);
sheet.getRange(i + 1, colAttivazione + 1).setValue(oggi);
data[i][colCount] = 0;
}
// --- GESTIONE DEI CLICK ---
if (action == 'click') {
var colMap = {
'msg': 12, 'prenota': 13, 'evento': 14,
'catalogo': 15, 'canale': 16, 'gruppo': 17,
'recensione': 11 // Aggiunta: Colonna K (indice 10, numero colonna 11)
};
var col = colMap[tipo];
if (col) {
var countSpecifico = parseInt(data[i][col - 1]) || 0;
sheet.getRange(i + 1, col).setValue(countSpecifico + 1);
// Nota: non incrementiamo il totalCount per la recensione,
// a meno che tu non voglia contare anche quella nel limite mensile.
if (tipo !== 'recensione') {
var totalCount = parseInt(data[i][17]) || 0;
sheet.getRange(i + 1, 18).setValue(totalCount + 1);
}
return ContentService.createTextOutput("OK").setMimeType(ContentService.MimeType.TEXT);
}
}
// --- OUTPUT DATI ---
var output = {
azienda: data[i][1],
wa: data[i][3],
catalogo: data[i][6],
canale: data[i][7],
gruppo: data[i][8],
limite: data[i][18],
count: data[i][17],
evento_testo: data[i][25],
evento_data: data[i][26],
evento_link: data[i][5],
piano: data[i][9],
ora1: data[i][21],
ora2: data[i][22],
ora3: data[i][23],
ora4: data[i][24],
link_profilo: data[i][28],
recensioni: data[i][10] // Aggiunta: legge colonna K
};
return ContentService.createTextOutput(JSON.stringify(output)).setMimeType(ContentService.MimeType.JSON);
}
}
return ContentService.createTextOutput("ID non trovato").setMimeType(ContentService.MimeType.TEXT);
}