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);

}