Receive WhatsApp Media Messages Using Ruby

    Overview

    This guide shows how to receive WhatsApp text messages on a phone number registered against your WhatsApp Business Account. Typical use cases for receiving messages include customer support, opt-in and opt-out messages, and other customer interactions.

    You can start receiving WhatsApp text messages using our APIs. Follow these instructions.

    Prerequisites

    To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Ruby development environment.

    To receive incoming messages, you must have an onboarded WhatsApp account with inbound-capable numbers registered against it. If a number is in connected state, it can receive incoming messages.

    Create a Server to receive messages

    Create a file called WhatsappMessagereceive.rb and paste into it this code.

    "include Plivo
    include Plivo::XML
    
    class PlivoController < ApplicationController
    def inbound
        from_number = params[:From]
          to_number = params[:To]
          text = params[:Body]
          media = params[:Media0]
          puts ""Message received - From: #{from_number}, To: #{to_number}, Media Attachment: #{media}""
    
          if text
            puts "Text: #{text}"
      end
    end"
    

    Configure a webhook URL in your WhatsApp Business Account

    Add or update a webhook URL against a WhatsApp Business Account. Once you’ve done this, you should be able to receive incoming messages.

    Test

    Send a text message to the Plivo number you specified using any phone.

    Topics Involved