VALIDACION DE DOCUMENTOS
Carga los siguientes documentos, no deben pesar mas de 25 MB se aceptan archivos en formato JPG, PNG y PDF
Acta constitutiva (Solo empresas)
Poder notarial de representante legal
Carga de documentos – Proveedores
Subir Archivo
<script>
const session = JSON.parse(localStorage.getItem('supabase.auth.token'));
const email = session.user.email;
document.getElementById('uploadForm').addEventListener('submit', async e => {
e.preventDefault();
const formData = new FormData(e.target);
formData.append('email', email);
const res = await fetch('https://script.google.com/macros/s/TU_SCRIPT/exec', {
method: 'POST',
body: formData
});
const result = await res.json();
document.getElementById('msg').innerText = result.message;
});
</script>
function doPost(e) {
try {
const folderRootId = 'ID_CARPETA_PROVEEDORES';
const sheetId = 'ID_DE_GOOGLE_SHEET';
const email = e.parameter.email;
const nombre = e.parameter.nombre;
const empresa = e.parameter.empresa;
const telefono = e.parameter.telefono;
const tipoDocumento = e.parameter.tipoDocumento;
const blob = e.parameter.file;
const data = Utilities.base64Decode(blob);
const filename = tipoDocumento + '.' + e.parameter.filetype;
const root = DriveApp.getFolderById(folderRootId);
// Crear / obtener carpeta del proveedor
const folders = root.getFoldersByName(email);
const folder = folders.hasNext() ? folders.next() : root.createFolder(email);
// Reemplazar archivo si existe
const files = folder.getFilesByName(filename);
while (files.hasNext()) {
files.next().setTrashed(true);
}
folder.createFile(data, filename);
// Registrar en Sheets
const sheet = SpreadsheetApp.openById(sheetId).getSheets()[0];
sheet.appendRow([
new Date(),
email,
nombre,
empresa,
telefono,
tipoDocumento,
'Reemplazado'
]);
return ContentService.createTextOutput(
JSON.stringify({ success: true, message: 'Archivo guardado correctamente' })
).setMimeType(ContentService.MimeType.JSON);
} catch (err) {
return ContentService.createTextOutput(
JSON.stringify({ success: false, message: err.toString() })
).setMimeType(ContentService.MimeType.JSON);
}
}
