function doGet(e) {
try {
var d = JSON.parse(decodeURIComponent(e.parameter.data));
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sName = d.sheet || "Transaksi";
var sh = ss.getSheetByName(sName);
if (!sh) {
sh = ss.insertSheet(sName);
var h = {
Pemasukan:["ID","Tanggal","Sumber","Kategori","Jumlah","Catatan","Waktu"],
Pengeluaran:["ID","Tanggal","Keterangan","Kategori","Jumlah","Catatan","Waktu"],
Tabungan:["ID","Tanggal","Nama","Jenis","Jumlah","Target","Waktu"],
Hutang_Cicilan:["ID","Jenis","Nama","Kreditur","Total",
"Cicilan/Bln","Tenor","JatuhTempo","Terbayar","Mulai","Catatan","Waktu"]
};
if (h[sName]) {
sh.appendRow(h[sName]);
sh.getRange(1,1,1,h[sName].length)
.setBackground("#6c63ff")
.setFontColor("#ffffff")
.setFontWeight("bold");
}
}
var now = new Date().toLocaleString("id-ID");
if (sName==="Pemasukan")
sh.appendRow([d.id,d.tanggal,d.desc,d.cat,d.jumlah,d.note||"",now]);
else if (sName==="Pengeluaran")
sh.appendRow([d.id,d.tanggal,d.desc,d.cat,d.jumlah,d.note||"",now]);
else if (sName==="Tabungan")
sh.appendRow([d.id,d.tanggal,d.desc,d.cat,d.jumlah,d.target||0,now]);
else if (sName==="Hutang_Cicilan")
sh.appendRow([d.id,d.dtype,d.name,d.kred||"",d.total,
d.monthly||0,d.tenor||0,d.dueday||"",d.paid||0,
d.start||"",d.note||"",now]);
SpreadsheetApp.flush();
return ContentService
.createTextOutput(JSON.stringify({status:"ok",sheet:sName}))
.setMimeType(ContentService.MimeType.JSON);
} catch(err) {
return ContentService
.createTextOutput(JSON.stringify({status:"error",msg:err.toString()}))
.setMimeType(ContentService.MimeType.JSON);
}
}