<?php
/**
 * Integração com WhatsApp para envio de leads
 * 
 * Métodos disponíveis:
 * 1. Link do WhatsApp (abre conversa com mensagem pré-formatada)
 * 2. WhatsApp Business API (requer configuração)
 */

require_once 'config.php';

/**
 * Envia notificação de lead para WhatsApp via link
 * 
 * @param array $data Dados do formulário
 * @return bool|string Retorna o link do WhatsApp ou false em caso de erro
 */
function sendToWhatsApp($data) {
    // Verificar se está habilitado
    if (!defined('WHATSAPP_ENABLED') || !WHATSAPP_ENABLED) {
        return false;
    }
    
    // Verificar se o número está configurado
    if (!defined('WHATSAPP_NUMBER') || empty(WHATSAPP_NUMBER)) {
        error_log('WhatsApp: Número não configurado');
        return false;
    }
    
    // Formatar número (remover caracteres não numéricos)
    $phone = preg_replace('/\D/', '', WHATSAPP_NUMBER);
    
    // Formatar mensagem
    $message = formatWhatsAppMessage($data);
    
    // Criar link do WhatsApp
    $whatsapp_link = "https://wa.me/{$phone}?text=" . urlencode($message);
    
    // Se estiver configurado para enviar automaticamente via API
    if (defined('WHATSAPP_API_ENABLED') && WHATSAPP_API_ENABLED) {
        return sendWhatsAppAPI($phone, $message);
    }
    
    // Retornar link (pode ser usado para abrir conversa ou enviar via email)
    return $whatsapp_link;
}

/**
 * Formata mensagem para WhatsApp
 */
function formatWhatsAppMessage($data) {
    $message = "🎉 *NOVO LEAD - GK2100 GIMAK*\n\n";
    $message .= "📋 *Dados do Contato:*\n\n";
    $message .= "👤 *Nome:* " . $data['nome'] . "\n";
    $message .= "🏢 *CNPJ:* " . $data['cnpj'] . "\n";
    $message .= "📞 *Telefone:* " . $data['telefone'] . "\n";
    $message .= "📍 *Cidade:* " . $data['cidade'] . "\n";
    $message .= "🏭 *Segmento:* " . $data['segmento'] . "\n";
    $message .= "📦 *Volume:* " . $data['volume'] . " pallets/dia\n";
    $message .= "📅 *Data/Hora:* " . $data['data'] . "\n";
    $message .= "🌐 *IP:* " . ($data['ip'] ?? 'N/A') . "\n\n";
    $message .= "💼 *Ação:* Entrar em contato o mais breve possível!";
    
    return $message;
}

/**
 * Envia mensagem via WhatsApp Business API
 * Requer configuração de API do WhatsApp Business
 */
function sendWhatsAppAPI($phone, $message) {
    // Verificar se API está configurada
    if (!defined('WHATSAPP_API_URL') || !defined('WHATSAPP_API_TOKEN')) {
        error_log('WhatsApp API: Configuração não encontrada');
        return false;
    }
    
    $payload = [
        'phone' => $phone,
        'message' => $message
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, WHATSAPP_API_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Authorization: Bearer ' . WHATSAPP_API_TOKEN
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($http_code === 200) {
        return true;
    }
    
    error_log('WhatsApp API: Erro ' . $http_code . ' - ' . $response);
    return false;
}

/**
 * Envia link do WhatsApp por email (notificação)
 */
function sendWhatsAppLinkByEmail($whatsapp_link, $data) {
    if (!defined('EMAIL_TO') || empty(EMAIL_TO)) {
        return false;
    }
    
    $subject = 'Novo Lead - Abrir WhatsApp para contato';
    $message = "
    <html>
    <body>
        <h2>Novo Lead Recebido - GK2100</h2>
        <p>Um novo lead foi cadastrado no formulário.</p>
        <p><strong>Nome:</strong> " . htmlspecialchars($data['nome']) . "</p>
        <p><strong>Telefone:</strong> " . htmlspecialchars($data['telefone']) . "</p>
        <p><a href='" . htmlspecialchars($whatsapp_link) . "' style='background: #25D366; color: white; padding: 12px 24px; text-decoration: none; border-radius: 8px; display: inline-block; margin-top: 20px;'>💬 Abrir WhatsApp</a></p>
    </body>
    </html>
    ";
    
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $headers .= "From: " . EMAIL_FROM_NAME . " <" . EMAIL_FROM . ">\r\n";
    
    return @mail(EMAIL_TO, $subject, $message, $headers);
}

