Saturn Studio – Evolution API WhatsApp

image_pdfimage_print

Evolution API es una solución de código abierto y gratuita diseñada para integrar WhatsApp en diversas aplicaciones. Permite realizar una gestión avanzada de la comunicación, incluyendo el envío y recepción de mensajes, la administración de múltiples instancias y otras funcionalidades potentes para la automatización de flujos de trabajo.

Descripción de los Comandos

Crear Instancia (Create instance)

Genera una nueva instancia de WhatsApp dentro de Evolution API para comenzar a operar.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API configurada para la creación de instancias.credencial
Nombre de la instanciaIdentificador único para reconocer la instancia de WhatsApp.mi_instancia_whatsapp
Token (opcional)Clave de seguridad adicional para la autenticación de la instancia.token_secreto
URL del Webhook (opcional)Dirección URL del servidor que recibirá las notificaciones de eventos.https://mi-servidor.com/webhook
Asignar resultado a variableVariable donde se almacenará el resultado de la operación. {var}

Conectar a WhatsApp (Connect to WhatsApp)

Conectar la instancia a WhatsApp y generar código QR

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API necesaria para la conexión.credencial
Nombre de la instanciaNombre de la instancia creada previamente que se desea conectar.mi_instancia_whatsapp
Asignar resultado a variableVariable donde se almacenará el estado de la conexión. Ejemplo: {var}{var}

Obtener Código QR (Get QR code)

Genera y recupera el código QR necesario para realizar el escaneo desde la aplicación de WhatsApp.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API autorizada.credencial
Nombre de la instanciaNombre de la instancia para la cual se requiere el código QR.mi_instancia_whatsapp
Asignar resultado a variableVariable donde se almacenará la imagen o el código QR generado. Ejemplo: {var}{var}

Enviar Mensaje (Send message)

Envía un mensaje de texto simple a un destinatario específico.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API necesaria para el envío.credencial
Nombre de la instanciaNombre de la instancia conectada y activa.mi_instancia_whatsapp
Número de teléfonoNúmero de destino con código de país (sin el signo +).5491123456789
MensajeTexto informativo o contenido que se desea enviar.Hola, ¿cómo estás?
Asignar resultado a variableVariable donde se almacenará la confirmación del envío. Ejemplo: {var}{var}

Esperar Mensaje (Wait for message)

Mantiene el flujo en espera hasta recibir un mensaje entrante a través del webhook configurado.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API para la recepción.credencial
Asignar resultado a variableVariable donde se guardará el contenido del mensaje recibido. Ejemplo: {var}{var}

Descargar Media (Download media)

Permite bajar archivos multimedia (fotos, audios, documentos) contenidos en un mensaje.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API autorizada.credencial
Nombre de la instanciaInstancia desde la cual se descargará el archivo.mi_instancia_whatsapp
Clave del mensajeIdentificador único del mensaje que contiene el archivo multimedia.mensaje_key_123
Asignar resultado a variableVariable que contendrá el archivo descargado para su uso posterior. Ejemplo: {var}{var}

Enviar Media (Send media)

Envía archivos como imágenes, videos o documentos a un contacto.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API para la transferencia.credencial
Nombre de la instanciaInstancia conectada que realizará el envío.mi_instancia_whatsapp
Número de teléfonoNúmero de WhatsApp del destinatario.5491123456789
Variable del archivoVariable de Saturn Studio que contiene el archivo a transmitir.archivo_variable
Leyenda (opcional)Texto descriptivo o pie de foto que acompaña al archivo.Descripción del archivo
Asignar resultado a variableVariable donde se almacenará el estado del envío multimedia. Ejemplo: {var}{var}

Información de Instancia (Instance info)

Consulta el estado actual y los detalles de configuración de una instancia.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API autorizada.credencial
Nombre de la instanciaNombre de la instancia de la cual se desea obtener datos.mi_instancia_whatsapp
Asignar resultado a variableVariable donde se almacenará el objeto con la información. Ejemplo: {var}{var}

Eliminar Instancia (Delete instance)

Borra de forma definitiva una instancia de WhatsApp del servidor.

ParámetroDescripciónEjemplo
CredencialCredencial de Evolution API configurada.credencial
Nombre de la instanciaNombre de la instancia que se desea remover.mi_instancia_whatsapp
Asignar resultado a variableVariable donde se guardará la respuesta de la eliminación. Ejemplo: {var}{var}

Configuración de Credenciales

Para utilizar este módulo en Saturn Studio, debe crear una credencial de tipo Evolution API completando los siguientes datos:

  • URL Base de la API: Dirección completa de su servidor (ej. https://api.evolution-api.com).
  • API Key: Clave de seguridad proporcionada por la plataforma para la autenticación de las peticiones.

Instalación de Evolution API

Si desea alojar su propio servidor, puede realizar una instalación rápida utilizando Docker mediante el siguiente comando:

docker run -d \
    --name evolution_api \
    -p 8080:8080 \
    -e AUTHENTICATION_API_KEY=su-api-key-aqui \
    atendai/evolution-api:latest

Ejemplos de uso

1. Crear y conectar una instancia

  1. Usar el comando “Crear instancia” con el nombre “mi_bot”
  2. Usar el comando “Conectar a WhatsApp” para generar el QR
  3. Usar el comando “Obtener código QR” para mostrar el QR al usuario
  4. Escanear el QR con WhatsApp

2. Enviar un mensaje

Una vez conectada la instancia, usar el comando “Enviar mensaje” con:

  • Nombre de instancia: “mi_bot”
  • Número: “5491123456789”
  • Mensaje: “¡Hola! Este es un mensaje desde Evolution API”

3. Recibir mensajes

Usar el comando “Esperar mensaje” para recibir mensajes entrantes a través de webhooks.

Notas Importantes

  • Cada instancia generada debe poseer un nombre único para evitar conflictos.
  • Los números de teléfono deben ingresarse con el código de país correspondiente, sin incluir el símbolo +.
  • El uso de webhooks requiere una URL con acceso público desde internet.
  • El módulo es compatible con las funciones principales de la aplicación y gestiona la sesión de forma similar a WhatsApp Web.