WhatsAppComparaciónAI Agents

Evolution API vs la API oficial de WhatsApp: cuándo conviene cada una

Evolution API es gratis, levanta en minutos y no le pide nada a Meta. También es un cliente no oficial. Qué ganas, qué aceptas junto con eso, y cuándo migrar a la Cloud API.

Redactado por: Victor VillalobosRevisado por: Jennifer Villalobos11 de agosto de 202610 min de lectura
Ver como Markdown

Evolution API es probablemente el proyecto open source más usado del ecosistema de automatización de WhatsApp, y la razón es simple: resuelve en veinte minutos un problema que por la vía oficial toma dos semanas.

Eso es un elogio de verdad, no una trampa antes de la crítica. Antes de listar los riesgos vale reconocer por qué tanta gente competente la eligió.

Para poner un bot o un agente en WhatsApp por la vía oficial necesitas una cuenta de Meta Business, verificación de la empresa, un número que no esté en uso en la app común, templates aprobados antes de poder iniciar cualquier conversación, y un webhook con verificación de firma.

Con Evolution API levantas un container, abres el QR, lo escaneas con el celular y ya estás enviando mensajes. Costo: tu VPS. Plazo: una tarde.

Súmale integraciones listas con n8n, Typebot y Chatwoot, documentación en español y portugués y una comunidad grande, y queda claro por qué se volvió el default en agencias, proyectos internos y MVPs de toda LATAM.

Qué es, técnicamente

Esta es la parte que define todo lo demás, y hay equipos que la usan meses sin tenerlo claro.

Evolution API no habla con Meta. Se conecta a WhatsApp como un dispositivo vinculado, igual que WhatsApp Web. El QR que escaneas es el mismo mecanismo de "vincular un dispositivo" de la aplicación.

Consecuencia directa: desde el punto de vista de Meta, no hay ninguna API corriendo. Hay un celular con un dispositivo vinculado que manda muchos mensajes.

Eso explica todos los comportamientos que confunden al principio. Por qué el número puede ser bloqueado. Por qué no hay sello de cuenta verificada. Por qué no existen templates ni ventana de 24 horas (las reglas de Meta simplemente no aplican, porque Meta no sabe que existes). Y por qué, cuando algo se rompe, no hay a quién llamar.

Qué aceptas junto con eso

Sin alarmismo, y sin omitir nada:

Los términos de Meta prohíben clientes no autorizados. Eso no es interpretación, está escrito. La aplicación se hace bloqueando números, normalmente gatillada por reportes de usuarios o por patrones de envío. Mucha gente corre años sin problemas. Otros pierden el número en su primera campaña.

El bloqueo se lleva el número, no la instancia. Si el número bloqueado es la línea de atención de la empresa, lo que pierdes es el historial de conversaciones de tus clientes y el número que está impreso en las tarjetas, en el sitio y en Google Business. Cambiar de número cuesta más de lo que parece.

El uptime es tuyo. Se cayó la sesión, se reinició el container, el celular estuvo sin internet demasiado rato: tú te enteras y tú lo reconectas. A las tres de la mañana de un sábado.

No hay camino de soporte. Ni de Meta, porque no eres su cliente, ni de un proveedor, porque no hay proveedor. Hay una comunidad generosa, y es genuinamente buena, pero una comunidad no tiene SLA.

La escala es el punto donde un patrón se vuelve una señal. Una instancia mandando pocos mensajes a gente que escribió primero se parece a una persona. La misma instancia mandando mil mensajes en la mañana no.

La decisión

Tu situaciónElige
MVP, prototipo, validar una idea esta semanaEvolution API
Automatización interna: alertas a tu propio equipoEvolution API
Proyecto personal, bot de grupo, herramienta para tiEvolution API
El número es la línea de atención oficial de la empresaCloud API oficial
Vas a mandar campañas o mensajes con volumenCloud API oficial
Hay un contrato, un SLA o un cliente pagando por estoCloud API oficial
Necesitas iniciar conversaciones con quien no escribió primeroCloud API oficial (es la única con templates)
Sector regulado, auditorías, requisitos de trazabilidadCloud API oficial
Quieres el sello de verificado y el nombre de la empresa visibleCloud API oficial

La fila que más pesa es la tercera desde abajo. Sin templates aprobados solo puedes responderle a quien te escribió primero. Para soporte eso puede alcanzar. Para recordatorios de cita, confirmaciones de pedido, recuperación de carrito o cualquier cosa que inicias , no alcanza, y no hay forma legítima de esquivarlo.

Lo que cuesta cada una de verdad

Evolution API es gratis en el sentido de que el software es gratis. Lo que cuesta:

ÍtemEvolution APICloud API vía Zavu
Licencia de softwareGratisIncluida
ServidorTu VPS, y tiene que quedarse arribaNada que mantener
Por mensajeGratisTarifa de Meta pasada a costo, sin fee por conversación de Zavu
Mantener la sesión vivaTu trabajo, indefinidamenteNo hay sesión que se caiga
Riesgo de perder el númeroReal y no asegurableCuenta oficial
Soporte cuando se rompeComunidadSoporte del proveedor

Contando el tiempo de quien cuida la instancia, "gratis" suele salir más caro que la cuenta oficial en cualquier operación que ya tenga clientes pagando. Por debajo de esa línea, Evolution API gana cómodo, y es honesto decirlo.

El agente es el mismo en las dos

Esta es la parte tranquilizadora, y la razón por la que la decisión no tiene que ser definitiva.

Tu agente es un prompt más tools. No sabe ni le importa qué canal entregó el mensaje. Cambiar de transporte no es reescribir el agente, es cambiar de transporte.

Si hoy estás en Evolution API, el agente que escribiste sigue sirviendo. Y tampoco lo portas a mano. Instalas las skills y el CLI, y después apuntas tu coding agent al código que ya tienes:

terminal
npx skills add zavudev/zavu-skills npx zavudev@latest login

> Este es mi bot de Evolution API. Muévelo a Zavu sobre la WhatsApp Cloud API oficial, manteniendo el mismo prompt y la misma consulta de disponibilidad. Deployalo y pruébalo con "¿tienen algo libre el jueves?"

Lo que vuelve:

TypeScript
import { defineAgent, defineTool } from "@zavudev/functions" defineAgent({ senderId: process.env.SENDER_ID!, name: "Ana", provider: "zavu", model: "openai/gpt-4o-mini", prompt: Eres Ana, recepción de una clínica. Responde en dos frases o menos. Nunca confirmes una hora sin revisar la agenda., }) defineTool({ name: "check_availability", description: "Get free appointment slots for a date. Use when the patient asks about scheduling.", parameters: { type: "object", properties: { date: { type: "string" } }, required: ["date"], }, handler: async ({ date }) => { const res = await fetch(https://clinica.example.com/slots?date=${date}) return res.json() }, })

npx zavudev deploy y responde en WhatsApp oficial, y también en SMS, email y voz si el sender tiene esos canales. La misma tool, el mismo prompt.

Al revés también vale: si quieres mantener Evolution API para lo interno y usar la cuenta oficial para atención a clientes, las dos pueden apuntar a la misma lógica de negocio. La tool es una función HTTP, y le da igual quién la llamó.

Cómo se ve la migración

Si decidiste pasar a la cuenta oficial, el camino con menos dolor:

  • No migres todavía el número que funciona. Empieza con un número nuevo en la Cloud API, en paralelo. La operación sigue corriendo.
  • Sube los templates primero. La aprobación de Meta toma de minutos a algunos días, y los templates son lo que necesitas para iniciar conversaciones. Hacerlo temprano lo saca del camino crítico.
  • Apunta el agente al sender nuevo. Eso es una variable de entorno.
  • Migra el número principal al final, cuando el resto ya esté probado, y avisándole a tus clientes.
  • La guía de integración de la WhatsApp Business API cubre los pasos, y el precio por mensaje explicado cubre qué cobra Meta por categoría de conversación, que es la cuenta que vas a querer hacer antes de decidir.

    El resumen honesto

    Evolution API es un buen proyecto resolviendo un problema real, y el problema que resuelve es la burocracia de la vía oficial. Si estás validando una idea, automatizando algo interno o construyendo para ti, úsalo y sigue.

    El momento de salir es cuando la respuesta a "qué pasa si mañana bloquean este número" deja de ser "consigo otro número" y pasa a ser "la empresa se detiene".

    Para seguir leyendo

    Necesitas ayuda? Contáctanos o únete a nuestra comunidad en Discord para soporte.

    Get started

    Listo para empezar?

    Comienza a construir gratis, o agenda una llamada para discutir tu caso de uso específico.

    Evolution API WhatsApp: ¿vale la pena? | Zavu Blog