/whatsapp-media-tutorial-php

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

Primary LanguagePHPMIT LicenseMIT

Twilio

Receive, Download, and Reply with media in WhatsApp Messages. Powered by Twilio - PHP

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

Build Status

Local development

This project is built using the Laravel Lumen web framework. It runs on PHP 7.1+.

To run the app locally:

  1. Clone this repository and cd into it

    git clone git@github.com:TwilioDevEd/whatsapp-media-tutorial-php.git
    cd whatsapp-media-tutorial-php
  2. Install dependencies

    composer install
  3. Copy .env.example to .env to setup you environment.

    cp .env.example .env
  4. Run the application

    php -S localhost:5000 -t public
  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 5000

    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

How to Demo

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

  2. 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."

Run the Tests

$ ./vendor/bin/phpunit

Meta

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