Sua homepage em Pediatria.com.br

Preencha os dados abaixo e clique em ENVIAR para criarmos a sua página.

Rascunho salvo automaticamente neste navegador

Onde o site vai ficar

Empresas costumam ter domínio próprio. Informe o seu — ou o que você gostaria de registrar.

Identidade profissional

Como você é/quer ser identificado. Campos de conselho valem para saúde/direito; deixe em branco se não se aplicar (ex.: música).

Identidade empresarial

Como a empresa aparece na página. Razão social e CNPJ são opcionais (MEI/ME) — aparecem nos dados legais se informados.

Endereço e contatoEndereços e contato

O endereço aparece na página e ajuda a ser encontrado nas buscas locais. Se você não atende em local fixo, deixe o endereço em branco e explique nas observações. Aceita vários endereços (matriz/filiais, várias cidades) e vários telefones. Negócio só-online? Deixe os endereços em branco.

Páginas do site — menu de topo

O site da empresa tem páginas individuais com menu de navegação no topo. Ajuste os nomes, remova ou acrescente páginas — a ordem aqui é a ordem do menu. Se você listar produtos/serviços abaixo, criamos também a página de catálogo.

Serviços / o que você oferece

Liste de 3 a 6. Para cada um: o nome, para quem é e uma frase curta (sem promessas de resultado).

Produtos / serviços / catálogo

Liste o que a empresa oferece. Cada item pode ter um link (página de compra, cardápio, agendamento…).

Redes sociais e presença online

Cole os links completos das redes que quiser incluir na página.

Marca e material

Não precisa ter tudo pronto — só nos conte o que existe. Você poderá enviar arquivos (logo, fotos) depois, por WhatsApp ou e-mail.

Autorizações

Para profissionais de saúde: uso de imagens de pacientes exige termo de consentimento (TCLE) e segue as regras do conselho.

Observações finais

Os campos com * são obrigatórios. Seus dados ficam salvos só neste navegador até você enviar.

`; } function montarEnvio() { const d = coletar(); if (EDIT_MODE) { d._edit = true; if (EDIT_SLUG) d._slug = EDIT_SLUG; } // atualização de dados, não novo cadastro const isEmp = d._profile === 'empresarial'; let sending, brand, domainShown; if (isEmp) { // empresarial: domínio próprio → canal geral da Contexto Informática sending = SEND_DOMAIN._default; brand = BRAND_NAME._default; domainShown = d.dominio_site || sending; } else { const hd = d.hosting_domain || ""; sending = SEND_DOMAIN[hd] || SEND_DOMAIN._default; brand = BRAND_NAME[hd] || BRAND_NAME._default; domainShown = (hd && hd !== "outro") ? hd : (d.dominio_desejado || sending); } const nome = d.nome_comercial || d.nome_civil || d.razao_social || "cliente"; const subject = `${EDIT_MODE ? 'Atualização de dados' : 'Novo intake'} de homepage — ${nome} (${domainShown})`; const text = serializarTexto(); const html = montarHTMLEmail(d, brand, domainShown); // Corpo esperado pelo webhook n8n "Enviar email" const body = { email: RECIPIENT, // destinatário nome: nome, // nome do cliente assunto: subject, // assunto do e-mail mensagem: html, // corpo do e-mail em HTML (visual do squad) tipo: "homepage-intake", // tipo/origem (o n8n deve validar) token: FORM_TOKEN, // barreira leve (o n8n deve validar) fromDomain: sending, // domínio de ENVIO (SMTP) domain: domainShown, // domínio de hospedagem escolhido brandName: brand, // marca dados: d, // dados estruturados do intake (p/ gravar na fila via n8n→Supabase) // Cópia para quem preencheu (25/09/2026): vai para dados.email. Só TEXTO — o HTML da cópia é // montado e escapado no n8n (nó "Cópia p/ cliente + blindagem"). copia: { secoes: montarSecoes(d) } }; // `dados` sai SEPARADO de propósito. `body` é envelope de e-mail — destinatário, assunto, HTML // do corpo — e o `email` dele é para onde o AVISO vai, não o e-mail do cliente. Quem manda o // envelope para a fila de revisão produz um diff em que o e-mail do cliente "mudou" para o nosso // e todos os campos reais aparecem apagados (estão um nível abaixo, em `dados`). return { body, dados: d, subject, text, html, sending }; } /* ---------- E-mail do cliente: formato mínimo ---------- É o endereço de resposta da equipe E o destino da cópia. O n8n confere de novo com a mesma regra; aqui é para avisar ANTES de enviar, e não prometer uma cópia que não vai chegar. */ function emailValido(e) { return typeof e === 'string' && e.length <= 254 && /^[^\s@<>()[\]\\,;:"']{1,64}@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*\.[a-z]{2,24}$/i.test(e); } /* ---------- Modal do envio ---------- Montado com textContent: e-mail, nome e mensagem de erro vêm do usuário ou da rede e nunca viram HTML. A nota de conselho (quando houver) é HTML nosso, escapado em notaCompliance(). */ let ultimoEnvio = null; // para reabrir o modal depois de fechado ("Ver detalhes do envio") let focoAntesDoModal = null; function quandoAgora() { const d = new Date(); return d.toLocaleDateString('pt-BR') + ' às ' + d.toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' }); } // Endereço de e-mail com ponto de quebra DEPOIS do "@": numa tela de 375 px o endereço da equipe // quebrava como "com.b|r" (e, com quebra também nos pontos, como "com.|br"). Depois do "@" sai // "homepage@ / contextoinformatica.com.br". Só nós de texto e — nada do usuário vira HTML. // indexOf, e NÃO regex com lookbehind ("depois do @"): no Safari anterior ao 16.4 (iOS 15, 16.0–16.3) // essa regex nem compila, e o