This guide covers how to receive WhatsApp text messages when a user sends it to your registered phone number.
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 Node.js development environment.
To receive incoming messages, you must have an onboarded WhatsApp account with inbound capable numbers registered against the same. If the number is in connected state, it can receive incoming messages.
Create a file called receive_whatsapp.js
and paste into it this code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(function (req, response, next) {
response.contentType('application/xml');
next();
});
app.set('port', (process.env.PORT || 3000));
app.all('/receive_whatsapp/', function (request, response) {
let from_number = request.body.From || request.query.From;
let to_number = request.body.To || request.query.To;
let text = request.body.Body || request.query.Body;
console.log('Message received - From: ' + from_number + ', To: ' + to_number + ', Text: ' + text);
});
app.listen(app.get('port'), function () {
console.log('Node app is running on port', app.get('port'));
});
As shown below, you can very easily add/update webhook url against a WhatsApp Business Account. Once this step is concluded, you are good to receive incoming messages.
Send a text message to the Plivo number you specified using any phone.