Use Twilio to receive WhatsApp media messages. For a step-by-step tutorial see the Twilio docs.
This project is built using the Laravel Lumen web framework. It runs on PHP 7.1+.
To run the app locally:
-
Clone this repository and
cd
into itgit clone git@github.com:TwilioDevEd/whatsapp-media-tutorial-php.git cd whatsapp-media-tutorial-php
-
Install dependencies
composer install
-
Copy
.env.example
to.env
to setup you environment.cp .env.example .env
-
Run the application
php -S localhost:5000 -t public
-
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 5000
Note: You can read this blog post for more details on how to use ngrok.
-
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
-
Send a message with a media attachment to your WhatsApp Sandbox phone number
-
Your PHP application should display the incoming request from Twilio. In a few moments, you should get back a WhatsApp reply featuring a "good boy."
$ ./vendor/bin/phpunit
- No warranty expressed or implied. Software is as is. Diggity.
- MIT License
- Lovingly crafted by Twilio Developer Education.