|

|  How to Send WhatsApp Messages Using Twilio API in Node.js

How to Send WhatsApp Messages Using Twilio API in Node.js

October 31, 2024

Learn to send WhatsApp messages with Twilio API in Node.js with this step-by-step guide. Master integration for efficient communication in just a few steps.

How to Send WhatsApp Messages Using Twilio API in Node.js

 

Install the Twilio SDK

 

  • Ensure you have Node.js and npm installed in your environment.
  •  

  • Install the Twilio npm package in your Node.js project by running:

 

npm install twilio

 

Set Up Your Node.js Application

 

  • Create a new JavaScript file in your Node.js project. For example, name it `sendWhatsApp.js`.
  •  

  • Import the installed Twilio package into your JavaScript file:

 

const twilio = require('twilio');

 

Configure Twilio Client

 

  • Initialize the Twilio client with your `Account SID` and `Auth Token`. Make sure these credentials are stored securely, possibly using environment variables:

 

const accountSid = process.env.TWILIO_ACCOUNT_SID; // Replace with your Account SID
const authToken = process.env.TWILIO_AUTH_TOKEN;   // Replace with your Auth Token
const client = new twilio(accountSid, authToken);

 

Sending a WhatsApp Message

 

  • Use the Twilio client to send a WhatsApp message. You need to specify the `from` and `to` numbers in the WhatsApp format:

 

client.messages.create({
     from: 'whatsapp:+14155238886',  // This is Twilio's sandbox number for WhatsApp
     body: 'Hello from Twilio WhatsApp API!',
     to: 'whatsapp:+12345678901'     // Replace with the destination number
   })
  .then(message => console.log(`Message sent with SID: ${message.sid}`))
  .catch(error => console.error('Error sending message:', error));

 

Using Twilio Sandbox for WhatsApp

 

  • If you're using Twilio's WhatsApp Sandbox, ensure that you have joined the sandbox by sending a message from your phone to Twilio's WhatsApp number. Follow instructions in your Twilio console.
  •  

  • Test sending messages by specifying your phone number as the recipient (`to` number).

 

Setting Up Environment Variables

 

  • Use a `.env` file to securely manage your credentials. Install the `dotenv` package to easily access these environment variables in your `sendWhatsApp.js`:

 

npm install dotenv

 

  • Create a `.env` file in your project directory and store your credentials:

 

TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token

 

  • Load environment variables at the start of your `sendWhatsApp.js`:

 

require('dotenv').config();

 

Run Your Script

 

  • Execute your script to send a WhatsApp message. Use the following command in your terminal:

 

node sendWhatsApp.js

 

Handle Errors and Success

 

  • Implement logging for both successful and erroneous message attempts, ensuring you're aware of any issues in real-time:
  •  

  • Use promises or async/await for better readability and error handling in larger applications.

 

async function sendMessage() {
  try {
    const message = await client.messages.create({
      from: 'whatsapp:+14155238886',
      body: 'Hello from Twilio WhatsApp API!',
      to: 'whatsapp:+12345678901'
    });
    console.log(`Message sent with SID: ${message.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
  }
}

sendMessage();