Listar funnels
https://api.afer.pro/listarFunnels
El catálogo del CRM: funnels con sus etapas, canales de captación, motivos de pérdida y tipos de acción.
El diccionario para trabajar con el resto de endpoints del CRM: los identificadores que necesitas para crearOportunidad (funnel_fk, etapa_fk, canal_fk) y las etiquetas para interpretar consultarOportunidades y consultarCRM.
Las etapas llegan en su orden de pipeline; las marcadas como dormida son aparcamientos (nurturing, en espera…) que no forman parte del embudo lineal. Los tipos_accion incluyen su clave semántica estable (la que alimenta los rates de actividad).
Envía tus claves API en las cabeceras X-API-KEY y X-API-SECRET. La cuenta sobre la que se opera se resuelve automáticamente a partir de la clave. Cómo obtener tus claves →
Este endpoint requiere autenticación con API key: sin credenciales responde 401.
Parámetros del cuerpo
Este endpoint no necesita parámetros: basta un cuerpo JSON vacío ({}) con tus cabeceras de autenticación.
Ejemplo de petición
curl -X POST 'https://api.afer.pro/listarFunnels' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: afer_tk_TU_TOKEN' \
-H 'X-API-SECRET: afer_sk_TU_SECRET' \
-d '{}'
<?php
$data = [
];
$ch = curl_init('https://api.afer.pro/listarFunnels');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'X-API-KEY: afer_tk_TU_TOKEN',
'X-API-SECRET: afer_sk_TU_SECRET',
]);
$respuesta = json_decode(curl_exec($ch), true);
curl_close($ch);
const respuesta = await fetch('https://api.afer.pro/listarFunnels', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
},
body: JSON.stringify({})
});
const resultado = await respuesta.json();
Respuesta
{
"errorCode": 200,
"errorMsg": "",
"data": {
"funnels": [
{
"funnel_fk": 39,
"funnel": "Ventas web",
"etapas": [
{
"etapa_fk": 219,
"etapa": "Lead",
"orden": 1,
"dormida": false
},
{
"etapa_fk": 220,
"etapa": "Propuesta enviada",
"orden": 2,
"dormida": false
},
{
"etapa_fk": 225,
"etapa": "Nurturing",
"orden": 9,
"dormida": true
}
]
}
],
"canales": [
{
"canal_fk": 12,
"canal": "Web"
},
{
"canal_fk": 13,
"canal": "Recomendación"
}
],
"motivos_perdida": [
{
"motivo_fk": 3,
"motivo": "Precio"
}
],
"tipos_accion": [
{
"tipo_fk": 1,
"tipo": "Llamada contestada",
"clave": "llamada-contestada"
},
{
"tipo_fk": 4,
"tipo": "Reunión virtual",
"clave": "reunion-virtual"
}
]
}
}