← Retour au Guide Make.com

📋 Script Google Apps Script — v2.0

Script corrigé — gère tous les formats de champs (français + anglais)

⚠️ Action requise — Script à redéployer

L'ancien script contient un TypeError ligne 1 qui empêche l'écriture dans le Google Sheet.
Vous devez remplacer le script existant par la version ci-dessous et créer un nouveau déploiement.

Instructions de déploiement

1
Ouvrir script.google.com/home avec le compte contact@purespacenett.com
2
Ouvrir le projet existant "devis" (ou créer un nouveau projet nommé "PSN Devis v2")
3
Sélectionner tout le code (Ctrl+A) et le remplacer par le script ci-dessous
4
Cliquer Déployer → Gérer les déploiements → Nouveau déploiement
5
Type : Application Web — Exécuter en tant que : Moi — Accès : Tout le monde
6
Copier l'URL générée et la coller dans l'onglet Reconnexion du dashboard
// ════════════════════════════════════════════════════════════════════
// Script Google Apps Script — PURE SPACE NETT — Formulaire Devis v2.0
// ════════════════════════════════════════════════════════════════════
// Instructions :
//   1. Ouvrir https://script.google.com/home
//   2. Créer un nouveau projet → renommer "PSN Devis v2"
//   3. Remplacer tout le contenu par ce script
//   4. Cliquer Déployer → Nouveau déploiement
//      - Type : Application Web
//      - Exécuter en tant que : Moi (contact@purespacenett.com)
//      - Accès : Tout le monde
//   5. Copier l'URL et la sauvegarder dans GOOGLE_SCRIPT_URL
//
// Spreadsheet : https://docs.google.com/spreadsheets/d/1sT9p_Fhp6tiYdTDCBoHl490QUzSDOXVY0OuWFbfm1Fs
// ════════════════════════════════════════════════════════════════════

var SPREADSHEET_ID = '1sT9p_Fhp6tiYdTDCBoHl490QUzSDOXVY0OuWFbfm1Fs';
var SHEET_NAME = 'devis';

function doPost(e) {
  try {
    var ss = SpreadsheetApp.openById(SPREADSHEET_ID);
    var sheet = ss.getSheetByName(SHEET_NAME);

    if (!sheet) {
      // Créer l'onglet s'il n'existe pas
      sheet = ss.insertSheet(SHEET_NAME);
      sheet.appendRow(['Date et heure','Nom','Prénom','Email','Téléphone','Service','Type de lieu','Localisation','Surface (m²)','Fréquence','Détails']);
    }

    var data = JSON.parse(e.postData.contents);
    var now = new Date();
    var dateStr = data.date || Utilities.formatDate(now, 'Europe/Paris', 'dd/MM/yyyy HH:mm');

    sheet.appendRow([
      dateStr,
      data.nom        || data.lastName  || '',
      data.prenom     || data.firstName || '',
      data.email      || '',
      data.telephone  || data.phone     || '',
      data.service    || '',
      data.typeLieu   || data.placeType || '',
      data.localisation || data.location || '',
      data.surface    || '',
      data.frequence  || data.frequency || '',
      data.details    || ''
    ]);

    return ContentService
      .createTextOutput(JSON.stringify({ ok: true, message: 'Ligne ajoutée' }))
      .setMimeType(ContentService.MimeType.JSON);

  } catch(err) {
    return ContentService
      .createTextOutput(JSON.stringify({ ok: false, error: err.toString() }))
      .setMimeType(ContentService.MimeType.JSON);
  }
}

function doGet(e) {
  return ContentService
    .createTextOutput(JSON.stringify({ ok: true, service: 'PSN Devis Script', version: '2.0' }))
    .setMimeType(ContentService.MimeType.JSON);
}