Base URL https://api.afer.pro Referencia aferapp.com Reservar demo

Listar funnels

GET https://api.afer.pro/api/v1/crm/funnels
Alias en castellano (v0, sigue operativo): POST 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 cifrados que necesitas para crearOportunidad (funnelId, etapaId, canalId — sus parámetros aceptan tanto el formato cifrado como el numérico legacy) 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).

Autenticación

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 GET 'https://api.afer.pro/api/v1/crm/funnels' \
  -H 'X-API-KEY: afer_tk_TU_TOKEN' \
  -H 'X-API-SECRET: afer_sk_TU_SECRET'
<?php

$ch = curl_init('https://api.afer.pro/api/v1/crm/funnels');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    '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/api/v1/crm/funnels', {
  method: 'GET',
  headers: {
    'X-API-KEY': 'afer_tk_TU_TOKEN',
    'X-API-SECRET': 'afer_sk_TU_SECRET'
  }
});

const resultado = await respuesta.json();

Respuesta

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "funnels": [
            {
                "funnelId": "aBc123XyZ…",
                "funnel": "Ventas web",
                "etapas": [
                    {
                        "etapaId": "dEf456…",
                        "etapa": "Lead",
                        "orden": 1,
                        "dormida": false
                    },
                    {
                        "etapaId": "gHi789…",
                        "etapa": "Propuesta enviada",
                        "orden": 2,
                        "dormida": false
                    },
                    {
                        "etapaId": "jKl012…",
                        "etapa": "Nurturing",
                        "orden": 9,
                        "dormida": true
                    }
                ]
            }
        ],
        "canales": [
            {
                "canalId": "mNo345…",
                "canal": "Web"
            },
            {
                "canalId": "pQr678…",
                "canal": "Recomendación"
            }
        ],
        "motivos_perdida": [
            {
                "motivoId": "sTu901…",
                "motivo": "Precio"
            }
        ],
        "tipos_accion": [
            {
                "tipoId": "vWx234…",
                "tipo": "Llamada contestada",
                "clave": "llamada-contestada"
            },
            {
                "tipoId": "yZa567…",
                "tipo": "Reunión virtual",
                "clave": "reunion-virtual"
            }
        ]
    }
}