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();