← Guides

Criar Leads via Formulário Web

Capture leads de formulários do seu site e crie automaticamente no CRM.

Pré-requisitos

  • Um Service Account (Client ID + Client Secret)
  • Um formulário web no seu site

Passo 1: Autenticar

Obtenha um Bearer token usando as credenciais do seu Service Account:

cURL
curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_ID&client_secret=YOUR_SECRET"

Passo 2: Criar o lead

Envie os dados do formulário para o endpoint de leads:

cURL
curl -X POST https://minha-empresa.platform-api.magnetcustomer.com/api/leads \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fullname": "Maria Santos",
    "email": "maria@exemplo.com.br",
    "phones": [{ "number": "11999990000", "typePhone": "cellphone", "ddi": "+55" }],
    "customFields": [
      { "customField": "FIELD_ID", "k": "origem", "v": "website" }
    ]
  }'

Passo 3: Tratar a resposta

Em caso de sucesso, a API retorna HTTP 201 com o lead criado:

Response 201
{
  "_id": "507f1f77bcf86cd799439044",
  "lifeCycle": "lead",
  "fullname": "Maria Santos",
  "email": "maria@exemplo.com.br",
  "phones": [{ "number": "11999990000", "typePhone": "cellphone", "ddi": "+55" }],
  "createdAt": "2026-01-17T09:00:00Z"
}

Exemplo com SDK Node.js

Use o SDK oficial para integrar com um handler de formulário Express.js:

Node.js
import { MagnetCustomer } from '@magnetcustomer/sdk';

const crm = new MagnetCustomer({
  account: 'minha-empresa',
  clientId: process.env.MAGNET_CLIENT_ID,
  clientSecret: process.env.MAGNET_CLIENT_SECRET,
});

// On form submit
app.post('/webhook/form', async (req, res) => {
  const { data: lead } = await crm.leads.createLead({
    contactInput: {
      fullname: req.body.name,
      email: req.body.email,
      phones: [{ number: req.body.phone, typePhone: 'cellphone', ddi: '+55' }],
    },
  });
  res.json({ success: true, leadId: lead._id });
});

Próximo: Aprenda a configurar webhooks para ser notificado quando leads são criados.