Cómo integrar WhatsApp con Twilio: guía paso a paso

22 de septiembre de 2025 • 7 min de lectura

Inicio / Blog / Cómo integrar WhatsApp con Twilio: guía paso a paso

Sobre el autor

Author

Gonzalo Gomez

Especialista en IA y Automatización

Diseño sistemas de comunicación impulsados por IA. Mi trabajo se centra en agentes de voz, chatbots de WhatsApp, asistentes de IA y automatización de flujos, construidos principalmente sobre Twilio, n8n y LLM modernos como OpenAI y Claude. En los últimos 7 años he entregado más de 30 proyectos de automatización que manejan más de 250 000 interacciones mensuales.

Suscríbete a mi newsletter

Si te gusta el contenido que hago, puedes suscribirte y recibir información valiosa por correo. No se envía spam, solo novedades sobre publicaciones interesantes o contenido especializado del que hablo.

Cómo integrar WhatsApp con Twilio: guía paso a paso | Guía práctica para integrar WhatsApp con Twilio: sandbox de pruebas, envío y recepción de mensajes con Python, webhook con Flask y paso a producción.

Introducción

Si querés sumar mensajería de WhatsApp a tu app o a tu flujo de negocio, sin pelearte con la WhatsApp Business API, Twilio lo hace sorprendentemente simple. WhatsApp es enorme para la comunicación con clientes, sobre todo en países donde es LA app de mensajería. Integrándolo con Twilio mandás notificaciones, manejás chats de soporte o automatizás recordatorios, todo por código.

 

En esta guía te llevo por el proceso paso a paso. Arrancamos con el sandbox de Twilio para probar, que no tiene costo ni aprobaciones previas, y después pasamos a producción con los WhatsApp senders. Los senders son los números aprobados atados a una WhatsApp Business Account, y te dejan mandar mensajes a escala con tu marca.

 

Los ejemplos van en Python porque es amigable para arrancar, pero Twilio soporta un montón de lenguajes: PHP, Node.js, Java y más. Vamos a eso.

 

Requisitos

Antes de arrancar vas a necesitar:

 

  • Una cuenta gratis de Twilio (registrate en twilio.com si no tenés).
  • Python instalado en tu máquina (con la versión 3.6+ alcanza).
  • La librería de Twilio para Python: instalala con pip install twilio.
  • Un número con WhatsApp (el tuyo personal para las pruebas).
  • Para producción, una cuenta de Facebook Business Manager y un número dedicado para tu WhatsApp Business Account.
  • Manejo básico de variables de entorno y de correr scripts desde la terminal.

 

Twilio se encarga de lo pesado con su API, así que no tenés que lidiar directo con el backend de WhatsApp.

 

Paso 1: crear la cuenta de Twilio y sacar las credenciales

  1. Andá a twilio.com/try-twilio y creá una cuenta gratis. Te dan $15 de crédito de prueba para experimentar.
  2. Ya con sesión iniciada, andá al dashboard de la Twilio Console. Ahí están tu Account SID y tu Auth Token, que funcionan como tus API keys. Copialos a un lugar seguro.
  3. Guardalos como variables de entorno para no exponerlos, nunca hardcodeados en los scripts. En macOS/Linux, abrí la terminal y corré:

     

    export TWILIO_ACCOUNT_SID='your_account_sid_here'
    export TWILIO_AUTH_TOKEN='your_auth_token_here'

    En Windows, usá set en lugar de export.

 

Con eso tu código ya puede autenticarse contra los servidores de Twilio.

 

Paso 2: configurar el sandbox de Twilio para WhatsApp

El sandbox es un entorno de pruebas donde mandás y recibís mensajes sin la aprobación completa de WhatsApp. Es ideal para prototipar.

  1. En la Twilio Console, andá a Messaging > Try it out > Send a WhatsApp message. O entrá a console.twilio.com/us1/develop/sms/try-it-out/whatsapp-learn.
  2. Aceptá los términos y hacé clic en Confirm para activar el sandbox. Vas a ver un número de sandbox (algo como +14155238886) y una frase de código única (tipo "join apple-tree").
  3. Desde tu celular, abrí WhatsApp y mandá el mensaje join <your-sandbox-code> (por ejemplo, "join apple-tree") al número del sandbox. WhatsApp te responde confirmando la conexión.
  4. Si después querés desconectarte, respondé "stop" al número del sandbox.

 

Dato: solo los números que se unieron al sandbox pueden interactuar con él. Si vas a probar con varias personas, que se unan también. Todo esto es gratis durante el trial.

 

Paso 3: mandar tu primer mensaje de WhatsApp

Ahora vamos a mandar un mensaje desde el código a tu celular, vía sandbox.

  1. Creá un archivo Python nuevo llamado send_whatsapp.py.
  2. Pegá este código:

     

    from twilio.rest import Client
    import os
    
    # Grab your credentials from environment variables
    account_sid = os.environ['TWILIO_ACCOUNT_SID']
    auth_token = os.environ['TWILIO_AUTH_TOKEN']
    client = Client(account_sid, auth_token)
    
    message = client.messages.create(
        from_='whatsapp:+14155238886',  # Your sandbox number
        body='Hello from Twilio! This is your first WhatsApp message.',
        to='whatsapp:+12345678901'  # Your WhatsApp number in E.164 format (e.g., +1 for US)
    )
    
    print(f"Message SID: {message.sid}")
  3. Reemplazá el valor de to por tu propio número de WhatsApp (con código de país, tipo +15551234567).
  4. Reemplazá from_ por tu número real del sandbox.
  5. Guardá el archivo y correlo: python send_whatsapp.py.
  6. Mirá tu WhatsApp, el mensaje tiene que aparecer ahí.

 

Si funcionó, listo: acabás de mandar un mensaje de WhatsApp por código. Ojo: para mensajes iniciados por el negocio fuera de la ventana de respuesta de 24 horas, en producción vas a necesitar templates pre-aprobados.

 

Paso 4: recibir mensajes y armar una respuesta automática

Para que sea bidireccional necesitás un webhook que maneje los mensajes entrantes.

  1. Instalá Flask (un framework web liviano): pip install flask.
  2. Creá un archivo nuevo llamado reply_whatsapp.py:

     

    from flask import Flask, request
    from twilio.twiml.messaging_response import MessagingResponse
    
    app = Flask(__name__)
    
    @app.route('/whatsapp', methods=['POST'])
    def whatsapp_reply():
        # Get the incoming message
        incoming_msg = request.values.get('Body', '').lower()
        resp = MessagingResponse()
        msg = resp.message()
    
        # Simple echo reply for testing
        msg.body(f'You said: {incoming_msg}. Thanks for chatting!')
    
        return str(resp)
    
    if __name__ == '__main__':
        app.run(port=3000)
  3. Levantá el server: python reply_whatsapp.py.
  4. Para exponer tu server local a internet, porque Twilio necesita una URL pública, usá ngrok. Descargalo de ngrok.com y corré ngrok http 3000. Anotá la URL de forwarding (por ejemplo, https://abc123.ngrok.io).
  5. De vuelta en la Twilio Console, andá a la configuración del sandbox de WhatsApp. En el campo "When a message comes in", pegá tu URL de ngrok con /whatsapp al final (por ejemplo, https://abc123.ngrok.io/whatsapp). Poné el método en POST y guardá.
  6. Probalo: mandá un mensaje desde tu WhatsApp al número del sandbox. Tenés que recibir una respuesta automática que repite tu mensaje.

 

Este webhook es clave para apps reales, porque lo podés extender para integrar bases de datos, IA u otros servicios.

 

Paso 5: pasar a producción con WhatsApp Senders

Cuando terminaste de probar, pasá a producción para usuarios reales.

  1. Creá una WhatsApp Business Account (WABA) desde Facebook Business Manager si todavía no tenés.
  2. En la Twilio Console, andá a Messaging > Senders > WhatsApp Senders.
  3. Hacé clic en Get Started y seguí el proceso de alta: vinculá tu WABA, verificá el número y esperá la aprobación de WhatsApp (puede tardar unos días).
  4. Una vez aprobado, tu sender aparece en la consola. Actualizá el from_ del código para usarlo: whatsapp:+your-approved-number.
  5. Los templates se envían desde la Twilio Console para que WhatsApp los apruebe, porque son obligatorios para mensajes proactivos.

Precios: cada mensaje cuesta alrededor de $0.005 a $0.01, según la región. Mirá tu consumo en la consola.

 

Errores comunes y consejos

  • Rate limits: el sandbox tiene límites (por ejemplo, 1 mensaje por segundo). Producción escala mejor.
  • Templates: usá siempre templates aprobados para mensajes salientes y evitá bloqueos.
  • Debugging: revisá el debugger de Twilio en la consola cuando algo falle.
  • Seguridad: nunca expongas tu Auth Token en público.
  • Escalar: para cosas más avanzadas, mirá la Conversations API de Twilio para soporte multicanal.

 

Conclusión

Y ahí lo tenés: una integración de WhatsApp funcionando. Esta guía cubre las piezas más importantes para arrancar con mensajería de WhatsApp. Twilio te lo simplifica sin que tengas que armar APIs propias para el setup de WhatsApp Business. Como ves, mandás mensajes por código en pocas líneas.

9112
Twilio,  Python
Publicado el 22 de septiembre de 2025

Descubre cuánto te está costando tu sistema de comunicaciones.

Obtén la auditoría de comunicaciones

Posts relacionados

Por qué un bootcamp de programación ya no te alcanza

11 de abril de 2024
Seamos honestos: la mayoría de la gente que arranca en IT elige el camino de la programación, y muchos entran por un bootcamp. Es una... Leer más

Agente que reconoce productos y cotiza por WhatsApp

23 de junio de 2026
Un agente que reconoce productos y cotiza en tiempo real por WhatsApp y MessengerEl sistema funciona así: un cliente manda una foto de un motherboard... Leer más

Asistente multi-agente para WhatsApp con LangGraph

3 de octubre de 2025
IntroducciónEn esta guía te muestro cómo crear un asistente multi-agente para WhatsApp con Python y LangGraph.La idea es tener varios agentes de IA trabajando juntos:... Leer más

Twilio Flex: empezá simple y escalá tu contact center

22 de abril de 2025
Introducción Por querer dar una atención al cliente impecable, muchas empresas caen en la trampa de sobreconstruir la infraestructura de su contact center. Invierten fuerte al... Leer más