Google Sheets — Pedidos

Gere o script, implante na sua planilha e os novos pedidos serão salvos automaticamente.

1Sua planilha
Informe a planilha que receberá os pedidos.
2Código Apps Script
Cole este código no Apps Script da sua planilha.
/**
 * 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);
}
3Implantar e conectar
No Apps Script: Implementar → Novo implantação → Aplicativo da Web. Em "Quem pode acessar" escolha Qualquer pessoa. Copie a URL gerada e cole abaixo.

Sincronização ativa

Habilita o envio dos pedidos para a planilha.

Envio automático

Enviar cada novo pedido assim que for registrado.

Ative a sincronização e informe a URL do Web App.

Acesse esta página em /GoogleSheetsSync