API de Awenlytics
Integra tu CRM, sitio web o cualquier sistema con Awenlytics para sincronizar leads y conversiones.
Quick Start
1. Base URL
https://awenlytics.com/api/v1
2. Autenticación
Incluye tu API Key en el header de cada request:
Authorization: Bearer TU_API_KEY
3. Obtener tu API Key
Ve a Configuración → API Keys en tu cuenta de Awenlytics para crear una API Key.
Endpoints
/leads
Crear un nuevo lead
Crea un lead desde tu formulario web o CRM. Awenlytics lo asociará automáticamente al ad/campaña correspondiente usando los click IDs o parámetros UTM.
Request Body
{
// Datos de contacto
"email": "cliente@ejemplo.com",
"phone": "+521234567890",
"name": "Juan Pérez",
"company": "Empresa SA",
// ID de tu CRM (para sincronización bidireccional)
"external_crm_id": "CRM-12345",
// Click IDs (capturados de la URL)
"fbclid": "AbCdEf123456...", // Facebook
"gclid": "CjwKCAjw...", // Google
"ttclid": "E.CP...", // TikTok
// IDs de la plataforma (opcional, para match directo)
"external_ad_id": "120212345678",
"external_adset_id": "120298765432",
"external_campaign_id": "120213456789",
// UTM parameters
"utm_source": "facebook",
"utm_medium": "cpc",
"utm_campaign": "promo_enero",
"utm_content": "120212345678", // Puedes poner el ad_id aquí
// Datos del navegador (mejora atribución)
"landing_page_url": "https://tu-web.com/landing?fbclid=...",
"ip_address": "189.123.45.67",
"user_agent": "Mozilla/5.0...",
"fb_browser_id": "_fbp cookie", // Cookie _fbp de Facebook
"fb_click_id": "_fbc cookie", // Cookie _fbc de Facebook
// Campos personalizados
"custom_fields": {
"producto_interes": "Plan Pro",
"presupuesto": "10000"
}
}
Response
{
"success": true,
"message": "Lead created successfully",
"data": {
"id": 456,
"email": "cliente@ejemplo.com",
"status": "new",
"campaign_id": 12,
"adset_id": 34,
"ad_id": 56,
...
},
"attribution": {
"matched_by": "external_ad_id",
"campaign": "Promo Enero 2026",
"adset": "Audiencia Lookalike",
"ad": "Video Testimonial"
}
}
/leads/{id}
Actualizar un lead
Actualiza el status de un lead. Cuando cambias a won, Awenlytics envía automáticamente la conversión a Facebook/Google/TikTok.
Request Body
{
"status": "won", // new, contacted, qualified, interested, negotiation, won, lost
"sale_value": 15000.00, // Valor de la venta (para calcular ROAS)
"notes": "Cliente compró plan premium",
"external_crm_id": "CRM-12345"
}
Response
{
"success": true,
"message": "Lead updated successfully",
"data": {
"id": 456,
"status": "won",
"sale_value": 15000.00,
"converted_at": "2026-01-19T18:30:00Z",
"conversion_sent_facebook": true,
...
}
}
Conversión automática: Cuando el status cambia a "won" y el lead tiene un fbclid, la conversión se envía automáticamente a Facebook Conversions API.
/leads
Listar leads
Obtiene la lista de leads de tu organización con filtros opcionales.
Query Parameters
| Parámetro | Descripción |
|---|---|
status |
Filtrar por status (new, contacted, won, etc.) |
source_platform |
Filtrar por plataforma (facebook, google, tiktok) |
from_date |
Fecha desde (YYYY-MM-DD) |
to_date |
Fecha hasta (YYYY-MM-DD) |
search |
Buscar por nombre, email o teléfono |
per_page |
Resultados por página (default: 50) |
/leads/find-by-crm-id
Buscar por ID de CRM
Busca un lead usando el ID de tu CRM.
Query Parameters
GET /leads/find-by-crm-id?external_crm_id=CRM-12345
/me
Info de la organización
Verifica tu API Key y obtiene información de tu organización.
{
"success": true,
"data": {
"organization": {
"id": 1,
"name": "Mi Empresa"
},
"token": {
"name": "CRM Integration",
"last_used_at": "2026-01-19T18:00:00Z"
}
}
}
Guía de Atribución
Awenlytics intenta asociar cada lead con el ad/campaña correcto usando esta prioridad:
- external_ad_id - Match exacto con el ID del ad en Facebook/Google
- external_adset_id - Match con el ID del conjunto de anuncios
- external_campaign_id - Match con el ID de la campaña
- utm_content - Si contiene el ad_id, hace match
- utm_campaign - Busca campaña por nombre
Configuración recomendada de UTMs en tus ads:
https://tu-web.com/landing?utm_source=facebook&utm_medium=cpc&utm_campaign={{campaign.name}}&utm_content={{ad.id}}
Tip: Aunque no logres hacer match directo, si el lead tiene fbclid, cuando se convierta, Facebook recibirá la conversión y hará la atribución internamente.
Flujo de Status
Ejemplos de Código
PHP (cURL)
<?php
$apiKey = 'TU_API_KEY';
$baseUrl = 'https://awenlytics.com/api/v1';
// Crear lead
$data = [
'email' => 'cliente@ejemplo.com',
'name' => 'Juan Pérez',
'fbclid' => $_GET['fbclid'] ?? null,
'utm_campaign' => $_GET['utm_campaign'] ?? null,
'external_crm_id' => 'CRM-12345',
];
$ch = curl_init("$baseUrl/leads");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
// Guardar el ID de Awenlytics para actualizaciones futuras
$awenlyticsLeadId = $result['data']['id'];
JavaScript (Fetch)
const API_KEY = 'TU_API_KEY';
const BASE_URL = 'https://awenlytics.com/api/v1';
// Crear lead
async function createLead(leadData) {
const response = await fetch(`${BASE_URL}/leads`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(leadData),
});
return response.json();
}
// Actualizar status
async function updateLeadStatus(leadId, status, saleValue = null) {
const response = await fetch(`${BASE_URL}/leads/${leadId}`, {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ status, sale_value: saleValue }),
});
return response.json();
}
Códigos de Error
| Código | Descripción |
|---|---|
401 |
API Key inválida o faltante |
403 |
API Key no tiene permisos para esta acción |
404 |
Recurso no encontrado |
422 |
Error de validación (revisa los campos enviados) |
500 |
Error interno del servidor |