Código do Webhook (Google Apps Script) — copie e cole
/**
* WEBHOOK → Sheets (BonApp CRM Form)
* Recebe campos do formulário e grava em uma aba.
*/
const SHEET_NAME = "Leads2";
function doPost(e) {
try {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(SHEET_NAME) || ss.insertSheet(SHEET_NAME);
// Cabeçalho automático
if (sheet.getLastRow() === 0) {
sheet.appendRow([
"Data/Hora",
"Nome",
"email",
"telefone",
"Origem"
]);
}
const data = parseBody_(e);
const nome = s_(data.nome);
const email = s_(data.email);
const telefone = normalizePhone_(s_(data.telefone));
sheet.appendRow([
new Date(),
nome,
email,
telefone,
"Borgescley - formulário teste"
]);
return json_({ ok: true, message: "Lead salvo com sucesso.", received: data }, 200);
} catch (err) {
return json_({ ok: false, error: String(err) }, 500);
}
}
/**
* Suporta JSON e Form-Data
*/
function parseBody_(e) {
if (!e) return {};
if (e.postData && e.postData.type && String(e.postData.type).includes("application/json")) {
return JSON.parse(e.postData.contents || "{}");
}
if (e.parameter) return e.parameter;
if (e.postData && e.postData.contents) {
try { return JSON.parse(e.postData.contents); } catch (_) {}
}
return {};
}
function s_(v) {
return String(v || "").trim();
}
// Normaliza telefone: mantém + e dígitos (ex: +5561999999999)
function normalizePhone_(phone) {
if (!phone) return "";
let p = phone.replace(/[^\d+]/g, "");
if (p && p[0] !== "+" && p.startsWith("55")) p = "+" + p;
return p;
}
function json_(obj, status) {
return ContentService
.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}


