Skip to content

A small Flask application to demonstrate receiving, saving, and replying with media to incoming WhatsApp media messages

License

Notifications You must be signed in to change notification settings

TwilioDevEd/whatsapp-media-tutorial-flask

Repository files navigation

Twilio

Receive, Download, and Reply with media in WhatsApp Messages. Powered by Twilio - Python/Flask

Use Twilio to receive WhatsApp media messages. For a step-by-step tutorial see the Twilio docs.

Local development

This project is built using the Flask web framework. It runs on Python 3.6+.

To run the app locally:

  1. Clone this repository and cd into it

    git clone [email protected]:TwilioDevEd/whatsapp-media-tutorial-flask.git
    cd whatsapp-media-tutorial-flask
  2. Create a new virtual environment using virtualenv

    virtualenv -p python3 venv
    source venv/bin/activate
  3. Install the requirements

    pip install -r requirements.txt
  4. Run the application

    flask run
  5. Expose your application to the wider internet using ngrok. This step is important because the application won't work as expected if you run it through localhost.

    ngrok http -host-header=localhost 8000

    Note: You can read this blog post for more details on how to use ngrok.

  6. Configure Twilio's Sandbox for WhatsApp to call your webhook URL

    You will need to configure your Twilio Sandbox for WhatsApp to call your application (exposed via ngrok) when your Sandbox number receives an incoming message. Your URL will look something like this:

    http://6b5f6b6d.ngrok.io/whatsapp/
    

    Here are detailed instructions for Twilio Sandbox for WhatsApp

  7. Check it out at http://localhost:5000

How to Demo

  1. Send a message with a media attachment to your WhatsApp Sandbox phone number

  2. Your Flask application should display the incoming request from Twilio. In a few moments, you should get back a WhatsApp reply featuring a "good boy."

Meta

  • No warranty expressed or implied. Software is as is. Diggity.
  • MIT License
  • Lovingly crafted by Twilio Developer Education.

About

A small Flask application to demonstrate receiving, saving, and replying with media to incoming WhatsApp media messages

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages