API de Marketing
Integre campanhas, leads, análises e automações de marketing em suas aplicações.
🔐 Autenticação
Todas as requisições devem incluir sua API Key no header Authorization.
curl -X GET "https://marketing-api.devskin.com/api/campaigns" \
-H "Authorization: Bearer dmk_sua_api_key_aqui" \
-H "Content-Type: application/json"
Acesse Configurações → API no painel do Devskin Marketing para gerar suas chaves.
⚠️ Códigos de Erro
| Código | Descrição |
|---|---|
| 200 | Sucesso |
| 201 | Criado com sucesso |
| 400 | Requisição inválida |
| 401 | API Key inválida ou ausente |
| 403 | Sem permissão |
| 404 | Recurso não encontrado |
| 429 | Rate limit excedido |
| 500 | Erro interno do servidor |
🔗 Webhooks
Receba notificações em tempo real quando eventos importantes acontecerem na sua conta.
Configure um webhook para receber leads assim que alguém preencher um formulário na sua LP.
Configurando Webhooks
- Acesse Configurações → API → Webhooks
- Clique em "Adicionar Webhook"
- Informe a URL do seu endpoint
- Selecione os eventos que deseja receber
Verificando a Assinatura
Cada webhook inclui uma assinatura no header para validar a autenticidade:
// Header: X-Webhook-Signature: t=1234567890,v1=assinatura_hex
const crypto = require('crypto');
function verifyWebhookSignature(payload, signature, secret) {
const [timestamp, hash] = signature.split(',').map(p => p.split('=')[1]);
const expected = crypto
.createHmac('sha256', secret)
.update(`${timestamp}.${JSON.stringify(payload)}`)
.digest('hex');
return hash === expected;
}
📥 Webhook de Leads (LP)
Receba leads automaticamente quando alguém preencher um formulário na sua Landing Page.
Payload enviado para seu endpoint quando um lead é capturado
Exemplo de Payload
{
"event": "lead.created",
"timestamp": 1706918400,
"data": {
"lead": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "João Silva",
"email": "[email protected]",
"phone": "+5511999999999",
"form_data": {
"empresa": "Empresa ABC",
"cargo": "Diretor",
"mensagem": "Tenho interesse no produto"
},
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "black-friday",
"created_at": "2024-02-03T10:00:00Z"
},
"landing_page": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Black Friday 2024",
"slug": "black-friday-2024",
"url": "https://promo.empresa.com/black-friday"
}
}
}
Integrando com seu CRM
// Exemplo: Recebendo leads e enviando para seu CRM
app.post('/webhook/marketing-leads', async (req, res) => {
const { event, data } = req.body;
if (event === 'lead.created') {
// Enviar para seu CRM
await crm.createLead({
name: data.name,
email: data.email,
phone: data.phone,
source: `LP: ${data.landing_page_name}`,
customFields: data.custom_fields
});
// Enviar email de boas-vindas
await emailService.send({
to: data.email,
template: 'welcome',
data: { name: data.name }
});
}
res.status(200).json({ received: true });
});
📋 Eventos Disponíveis
| Evento | Descrição |
|---|---|
lead.created | Novo lead capturado na Landing Page |
lead.updated | Lead atualizado |
campaign.created | Nova campanha criada |
campaign.updated | Campanha atualizada |
campaign.deleted | Campanha arquivada/deletada |
campaign.status_changed | Status da campanha alterado |
content.generated | Conteúdo gerado pela IA |
content.published | Conteúdo publicado |
keyword.added | Nova palavra-chave adicionada |
keyword.position_changed | Posição da palavra-chave alterou |
landing_page.created | Nova Landing Page criada |
landing_page.published | Landing Page publicada |
subscription.created | Nova assinatura criada |
subscription.cancelled | Assinatura cancelada |
report.generated | Relatório gerado |
👥 Leads
Lista todos os leads capturados
Query Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
| landing_page_id | string | Filtrar por LP |
| start_date | date | Data inicial (YYYY-MM-DD) |
| end_date | date | Data final |
| page | integer | Página (padrão: 1) |
| limit | integer | Limite (padrão: 50) |
curl -X GET "https://marketing-api.devskin.com/api/leads?landing_page_id=lp_xyz789&limit=10" \
-H "Authorization: Bearer dmk_sua_api_key"
Cria um lead manualmente (útil para importação)
Body Parameters
| Campo | Tipo | Descrição | |
|---|---|---|---|
| string | obrigatório | Email do lead | |
| name | string | Nome completo | |
| phone | string | Telefone | |
| landing_page_id | string | ID da Landing Page | |
| custom_fields | object | Campos personalizados | |
| source | string | Origem do lead |
curl -X POST "https://marketing-api.devskin.com/api/leads" \
-H "Authorization: Bearer dmk_sua_api_key" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"name": "Maria Silva",
"phone": "+5511988887777",
"source": "manual_import",
"custom_fields": {
"company": "Empresa XYZ"
}
}'
📊 Campaigns
Lista todas as campanhas
// Response
{
"success": true,
"data": [
{
"id": "camp_abc123",
"name": "Black Friday 2024",
"platform": "google_ads",
"status": "active",
"budget_daily": 500.00,
"metrics": {
"impressions": 125000,
"clicks": 3200,
"conversions": 89,
"spend": 4500.00,
"ctr": 2.56,
"cpc": 1.41
},
"created_at": "2024-01-15T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 45
}
}
Obtém métricas detalhadas de uma campanha
Query Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
| period | string | 7d, 30d, 90d, custom |
| start_date | date | Para period=custom |
| end_date | date | Para period=custom |
🔑 Keywords
Lista palavras-chave monitoradas
// Response
{
"success": true,
"data": [
{
"id": "kw_abc123",
"keyword": "marketing digital",
"search_volume": 12500,
"difficulty": 67,
"current_position": 4,
"previous_position": 7,
"trend": "up",
"cpc": 2.45
}
]
}
✨ Geração de Conteúdo com IA
Gera conteúdo usando IA
Body Parameters
| Campo | Tipo | Descrição | |
|---|---|---|---|
| type | string | obrigatório | blog_post, social_post, ad_copy, email |
| topic | string | obrigatório | Assunto do conteúdo |
| keywords | array | Palavras-chave a incluir | |
| tone | string | professional, casual, persuasive | |
| language | string | pt, en, es |
curl -X POST "https://marketing-api.devskin.com/api/content/generate" \
-H "Authorization: Bearer dmk_sua_api_key" \
-H "Content-Type: application/json" \
-d '{
"type": "social_post",
"topic": "Lançamento de produto",
"keywords": ["inovação", "tecnologia"],
"tone": "persuasive",
"language": "pt"
}'
📄 Landing Pages
Lista suas Landing Pages
Lista leads de uma Landing Page específica
curl -X GET "https://marketing-api.devskin.com/api/landing-pages/lp_xyz789/leads?limit=50" \
-H "Authorization: Bearer dmk_sua_api_key"
// Response
{
"success": true,
"data": {
"landing_page": {
"id": "lp_xyz789",
"name": "Black Friday 2024",
"url": "https://promo.empresa.com/black-friday",
"total_leads": 234,
"conversion_rate": 4.5
},
"leads": [
{
"id": "lead_abc123",
"name": "João Silva",
"email": "[email protected]",
"phone": "+5511999999999",
"created_at": "2024-02-03T10:00:00Z"
}
]
}
}
⏱️ Rate Limits
| Plano | Requisições/minuto | Requisições/dia |
|---|---|---|
| Starter | 60 | 10,000 |
| Professional | 120 | 50,000 |
| Business | 300 | 200,000 |
Headers de rate limit incluídos em todas as respostas:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1706918460