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