<?php
/**
 * Integração com Google Sheets para recebimento de leads
 * 
 * Para usar esta integração, você precisa:
 * 1. Criar uma planilha no Google Sheets
 * 2. Compartilhar a planilha com o email do serviço (se usar Service Account)
 * 3. Ou usar um Web App do Google Apps Script (método mais simples)
 * 
 * MÉTODO RECOMENDADO: Google Apps Script (mais simples e seguro)
 */

require_once 'config.php';

/**
 * Envia dados do lead para Google Sheets usando Google Apps Script
 * 
 * @param array $data Dados do formulário
 * @return bool Sucesso ou falha
 */
function sendToGoogleSheets($data) {
    // Verificar se a integração está habilitada
    if (!defined('GOOGLE_SHEETS_ENABLED') || !GOOGLE_SHEETS_ENABLED) {
        return false;
    }
    
    // Verificar se a URL do Web App está configurada
    if (!defined('GOOGLE_SHEETS_WEB_APP_URL') || empty(GOOGLE_SHEETS_WEB_APP_URL)) {
        error_log('Google Sheets: URL do Web App não configurada');
        return false;
    }
    
    // Preparar dados para envio
    // Mapeamento para a planilha "Leads - Site"
    $payload = [
        'data' => date('d/m/Y H:i:s'), // Formato brasileiro
        'nome' => $data['nome'],
        'email' => $data['email'] ?? '',
        'telefone' => $data['telefone'],
        'cnpj' => $data['cnpj'],
        'cidade' => $data['cidade'],
        'segmento' => $data['segmento'],
        'volume' => $data['volume'] ?? '',
        'ip' => $data['ip'] ?? $_SERVER['REMOTE_ADDR'] ?? 'N/A'
    ];
    
    // Configurar requisição cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, GOOGLE_SHEETS_WEB_APP_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($payload))
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    
    // Executar requisição
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $error = curl_error($ch);
    curl_close($ch);
    
    // Verificar resposta
    if ($error) {
        error_log('Google Sheets: Erro cURL - ' . $error);
        return false;
    }
    
    if ($http_code !== 200) {
        error_log('Google Sheets: HTTP Error ' . $http_code . ' - ' . $response);
        return false;
    }
    
    // Verificar se a resposta indica sucesso
    $response_data = json_decode($response, true);
    if (isset($response_data['status']) && $response_data['status'] === 'success') {
        return true;
    }
    
    // Se não houver estrutura JSON, considerar sucesso se HTTP 200
    return true;
}

/**
 * Método alternativo usando Google Sheets API diretamente (requer autenticação)
 * Este método é mais complexo e requer Service Account
 */
function sendToGoogleSheetsAPI($data) {
    // Este método requer configuração de Service Account
    // Por enquanto, vamos usar apenas o método do Web App que é mais simples
    
    if (!defined('GOOGLE_SHEETS_API_ENABLED') || !GOOGLE_SHEETS_API_ENABLED) {
        return false;
    }
    
    // Implementação futura se necessário
    return false;
}

