Gere o script, implante na sua planilha e os novos pedidos serão salvos automaticamente.
/**
* Sincronização de Pedidos — Batatellos → Google Sheets
* Gerado automaticamente pelo app.
*
* Como usar:
* 1. Cole este código em Extensões → Apps Script da sua planilha.
* 2. Implante como "Aplicativo da Web" (Implementar → Novo implantação → Aplicativo da Web).
* 3. Em "Quem pode acessar", escolha "Qualquer pessoa".
* 4. Copie a URL do aplicativo da web e cole no app (campo "URL do Web App").
*/
var SPREADSHEET_ID = "";
var SHEET_NAME = "Pedidos";
var TOKEN = "Wqd01xOIObdOAy9ujnbzd5J1XtWncf4h";
function doGet() {
return json({ status: "ok", message: "Pedidos Web App ativo" });
}
function doPost(e) {
try {
var data = JSON.parse(e.postData.contents);
if (data.token !== TOKEN) {
return json({ status: "error", message: "Token invalido" });
}
var ss = SPREADSHEET_ID
? SpreadsheetApp.openById(SPREADSHEET_ID)
: SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(SHEET_NAME) || ss.insertSheet(SHEET_NAME);
var headers = [
"Data", "Codigo", "Numero", "Tipo", "Mesa/Senha", "Cliente", "Telefone",
"Endereco", "Bairro", "Entregador", "Itens", "Subtotal", "Taxa Entrega",
"Desconto", "Total", "Pagamento", "Status Pagamento", "Status Pedido", "Origem"
];
if (sheet.getLastRow() === 0) {
sheet.appendRow(headers);
var hr = sheet.getRange(1, 1, 1, headers.length);
hr.setFontWeight("bold").setBackground("#1e3a5f").setFontColor("#ffffff");
sheet.setFrozenRows(1);
}
var itemsText = (data.items || []).map(function (i) {
var flavors = i.flavors && i.flavors.length
? " (" + i.flavors.map(function (f) { return f.name; }).join(", ") + ")"
: "";
var obs = i.observations ? " - " + i.observations : "";
return (i.quantity || 1) + "x " + (i.product_name || "") + flavors + obs;
}).join(" | ");
var row = [
new Date(),
data.order_code || "",
data.order_number || "",
data.type || "",
data.table_number || "",
data.customer_name || "",
data.customer_phone || "",
data.customer_address || "",
data.customer_neighborhood || "",
data.deliverer_name || "",
itemsText,
data.subtotal || 0,
data.delivery_fee || 0,
data.discount || 0,
data.total || 0,
data.payment_type || "",
data.payment_status || "",
data.order_status || "",
data.source || ""
];
sheet.appendRow(row);
return json({ status: "success" });
} catch (err) {
return json({ status: "error", message: String(err) });
}
}
function json(obj) {
return ContentService
.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}Sincronização ativa
Habilita o envio dos pedidos para a planilha.
Envio automático
Enviar cada novo pedido assim que for registrado.
Acesse esta página em /GoogleSheetsSync