Fale conosco

Envie o formulário abaixo ou agende sua reunião clicanco aqui

Formatos aceitos: PDF, DOC, DOCX, TXT, JPG, PNG, GIF (máximo 20MB)

Agendar reunião

Um email confirmando a reunião será enviado em SEGUNDOS. Basta escolher o horário e data


const contactForm = document.getElementById('contact-form'); const formMessages = document.getElementById('form-messages'); if (!contactForm) { console.error('❌ Formulário não encontrado!'); return; } if (!formMessages) { console.error('❌ Div de mensagens não encontrada!'); return; } console.log('✅ Elementos encontrados, aguardando reCAPTCHA...'); // Aguardar o reCAPTCHA carregar function waitForRecaptcha() { if (typeof grecaptcha !== 'undefined' && grecaptcha.ready) { grecaptcha.ready(function() { console.log('✅ reCAPTCHA carregado e pronto!'); initializeForm(); }); } else { console.log('⏳ Aguardando reCAPTCHA carregar...'); setTimeout(waitForRecaptcha, 500); } } waitForRecaptcha(); function initializeForm() { contactForm.addEventListener('submit', async function(e) { e.preventDefault(); console.log('📝 Formulário enviado, processando...'); const submitBtn = contactForm.querySelector('button[type="submit"]'); const btnText = submitBtn.querySelector('.btn-text'); const originalText = btnText ? btnText.textContent : submitBtn.textContent; // Desabilitar botão e mostrar carregando submitBtn.disabled = true; if (btnText) { btnText.textContent = 'Verificando...'; } else { submitBtn.textContent = 'Verificando...'; } // Limpar mensagens anteriores formMessages.innerHTML = ''; try { console.log('🔐 Gerando token reCAPTCHA...'); // Gerar token reCAPTCHA const token = await grecaptcha.execute('6LdG4f4rAAAAAA9toOp0G0O9gN-Pmzm-fygUuulf', {action: 'CONTACT'}); console.log('✅ Token reCAPTCHA gerado:', token ? 'Sim (' + token.substring(0, 20) + '...)' : 'Falhou'); if (!token) { throw new Error('Falha ao gerar token de segurança'); } // Atualizar botão if (btnText) { btnText.textContent = 'Enviando...'; } else { submitBtn.textContent = 'Enviando...'; } // Preparar dados do formulário const formData = new FormData(contactForm); formData.append('g-recaptcha-response', token); console.log('📤 Enviando requisição para o servidor...'); console.log('📋 Dados sendo enviados:'); for (let [key, value] of formData.entries()) { if (key === 'g-recaptcha-response') { console.log(` ${key}: ${value.substring(0, 20)}...`); } else { console.log(` ${key}: ${value}`); } } // Fazer requisição const response = await fetch('/contato/', { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' } }); console.log('📥 Resposta recebida. Status:', response.status); let result; try { result = await response.json(); } catch (parseError) { console.error('❌ Erro ao parsear JSON:', parseError); throw new Error('Erro de comunicação com o servidor'); } console.log('📋 Resultado:', result); if (result.success) { console.log('✅ Sucesso!'); showMessage(result.message || 'Mensagem enviada com sucesso!', 'success'); contactForm.reset(); } else { console.log('❌ Erro na validação:', result.message); showMessage(result.message || 'Erro ao processar formulário', 'error'); } } catch (error) { console.error('❌ Erro geral:', error); showMessage('Erro: ' + error.message, 'error'); } finally { // Restaurar botão submitBtn.disabled = false; if (btnText) { btnText.textContent = originalText; } else { submitBtn.textContent = originalText; } } }); } function showMessage(message, type) { console.log('📢 Mostrando mensagem:', type, message); const bgColor = type === 'success' ? '#d4edda' : '#f8d7da'; const textColor = type === 'success' ? '#155724' : '#721c24'; const borderColor = type === 'success' ? '#c3e6cb' : '#f5c6cb'; const icon = type === 'success' ? '✅' : '❌'; const messageHtml = `
${icon} ${message}
`; formMessages.innerHTML = messageHtml; formMessages.style.display = 'block'; formMessages.style.visibility = 'visible'; // Scroll para a mensagem setTimeout(() => { formMessages.scrollIntoView({ behavior: 'smooth', block: 'center' }); }, 100); } });

Vamos conversar

Agende uma reunião para entendermos suas necessidades de TI.