Bloomin Logo

API de Leads

Documentação completa da API de integração

Endpoint

POST /api/leads?token=SEU_TOKEN
Authorization: Bearer SEU_TOKEN (opcional)

Exemplo de Payload

{
  "name": "Maria Silva",
  "email": "maria@example.com",
  "phone": "+55 11 99999-0000",
  "message": "Quero um orçamento",
  "source": "formulário de contato",
  "createdAt": "2025-11-05T10:00:00Z"
}

Captura Automática de Origem

O campo source pode ser preenchido automaticamente capturando:

  • UTM Parameters: utm_source, utm_medium, utm_campaign
  • Referrer: Site de origem (Google, Facebook, Instagram, etc.)
  • Acesso Direto: Quando não há referrer ou UTM

Exemplo: Se o lead vier de um link com ?utm_source=google&utm_medium=cpc, a origem será automaticamente "Google (cpc)".

{
  "name": "João Silva",
  "email": "joao@example.com",
  "phone": "+55 11 99999-9999",
  "message": "Quero um orçamento",
  "source": "Google (cpc) - campanha_verao" // Detectado automaticamente
}

Campos Personalizados

Você pode enviar campos adicionais além dos campos padrão. Eles serão armazenados como campos personalizados.

{
  "name": "João Silva",
  "email": "joao@example.com",
  "phone": "+55 11 99999-9999",
  "message": "Quero um orçamento",
  "source": "Facebook | Referrer: facebook.com",
  "empresa": "Empresa XYZ",
  "cargo": "Diretor",
  "orcamento": "R$ 10.000",
  "prioridade": "alta"
}

Campos como "empresa", "cargo", "orcamento" e "prioridade" serão armazenados como campos personalizados.

Resposta de Sucesso

{
  "status": "success",
  "id": "clx1234567890"
}

Exemplos de Integração

Exemplos práticos de como enviar leads usando JavaScript e PHP.

// Função para capturar origem automática (UTM, referrer, etc.)
function capturarOrigem() {
  const origem = {
    utm_source: null,
    utm_medium: null,
    utm_campaign: null,
    referrer: null,
    origem_detectada: null,
  };

  // Capturar UTM parameters da URL
  const urlParams = new URLSearchParams(window.location.search);
  origem.utm_source = urlParams.get('utm_source');
  origem.utm_medium = urlParams.get('utm_medium');
  origem.utm_campaign = urlParams.get('utm_campaign');

  // Capturar referrer e detectar origem
  if (document.referrer) {
    origem.referrer = document.referrer;
    const referrerHost = new URL(document.referrer).hostname.toLowerCase();
    
    if (referrerHost.includes('google')) origem.origem_detectada = 'Google';
    else if (referrerHost.includes('facebook')) origem.origem_detectada = 'Facebook';
    else if (referrerHost.includes('instagram')) origem.origem_detectada = 'Instagram';
    else if (referrerHost.includes('linkedin')) origem.origem_detectada = 'LinkedIn';
    else origem.origem_detectada = referrerHost;
  } else {
    origem.origem_detectada = 'Acesso Direto';
  }

  // Se houver utm_source, usar como origem principal
  if (origem.utm_source) {
    origem.origem_detectada = origem.utm_medium 
      ? `${origem.utm_source} (${origem.utm_medium})`
      : origem.utm_source;
  }

  return origem.origem_detectada || 'Formulário de contato';
}

// JavaScript (Fetch API)
async function enviarLead(dados) {
  const response = await fetch('https://seu-dominio.com/api/leads?token=SEU_TOKEN_AQUI', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(dados)
  });

  const result = await response.json();
  console.log(result);
  return result;
}

// Usar em formulário
document.getElementById('form-contato').addEventListener('submit', async (e) => {
  e.preventDefault();
  const formData = new FormData(e.target);
  const origemInfo = capturarOrigem();
  
  const dados = {
    name: formData.get('name'),
    email: formData.get('email'),
    phone: formData.get('phone'),
    message: formData.get('message'),
    source: origemInfo, // Origem detectada automaticamente
    // Campos personalizados (opcional)
    empresa: formData.get('empresa'),
    cargo: formData.get('cargo')
  };
  
  await enviarLead(dados);
});

💡 Dica: A URL base é https://seu-dominio.com. Ajuste se necessário.

💡 Origem automática: A função capturarOrigem() detecta automaticamente UTM parameters e referrer.

💡 Campos personalizados: Você pode adicionar qualquer campo adicional além dos campos padrão (name, email, phone, message, source).