How to Send a WhatsApp API using NodeJS

Introduction

  • In this code snippet, you learn how to send a WhatsApp API using NodeJS, to send a text message, WhatsApp Templates, media, interactive buttons, lists, products … etc, Alvochat account is required to run the following codes. Create an Account if you don’t have one.

  • The next codes use NodeJS using Native request, if you want to send a WhatsApp API with Javascript using another library you can view the codes from here.

Send template using WhatsApp API with NodeJS

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/template",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "name": "hello_world",
    "language": "en_us",
    "header": "",
    "body": "",
    "buttons": "",
    "priority": ""
});
req.write(postData);
req.end();

Send a text message using WhatsApp API with NodeJS

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/chat",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "body": "WhatsApp API on alvochat.com works good",
    "priority": "",
    "preview_url": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send image

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/image",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "image": "https://alvochat-example.s3-accelerate.amazonaws.com/image/1.jpeg",
    "caption": "image caption",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send audio

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/audio",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "audio": "https://alvochat-example.s3-accelerate.amazonaws.com/audio/1.mp3",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send video

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/video",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "video": "https://alvochat-example.s3-accelerate.amazonaws.com/video/1.mp4",
    "caption": "video caption",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send document

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/document",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "document": "https://alvochat-example.s3-accelerate.amazonaws.com/document/1.pdf",
    "filename": "",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send sticker

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/sticker",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "sticker": "https://alvochat-example.s3-accelerate.amazonaws.com/sticker/1.webp",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send Contact

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/contact",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "contact": "",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send Location

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/location",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "lat": 37.484296000000000503860064782202243804931640625,
    "lng": -122.1487029999999975871105561964213848114013671875,
    "address": "Menlo Park, California, United States",
    "name": "Meta Headquarters",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send list

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/list",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "header": "header",
    "body": " please select one of the following options",
    "footer": "footer",
    "button": "options",
    "sections": "option_1,option_2,option_3",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send button

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/button",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "header": "header",
    "body": " please select one of the following options",
    "footer": "footer",
    "buttons": "option_1,option_2,option_3",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

Send products

var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.alvochat.com",
  "port": null,
  "path": "/instance1199/messages/product",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
var postData = qs.stringify({
    "token": "YourToken",
    "to": 16315555555,
    "header": "header",
    "body": "Hi , check out our new products",
    "footer": "footer",
    "catalog_id": "",
    "product": "",
    "priority": "",
    "message_id": ""
});
req.write(postData);
req.end();

You can see the Full Whatsapp API Documentation here.