Here it goes the example of how to implement a very simple “parrot” bot (that replies exactly what has been said to it) using Node.js with an Express server:
The below sample code is shared by one of the picky assist customer based in Chile.
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
// enable extended to let nested POST
app.use(bodyParser.urlencoded({extended: true}));
// webhook set up
// on production authenticate each POST - you could add a token to the URL
app.post('/webhook/', (req, res) => {
// for development only - console log the post content
console.log(req.body);
// builds the answer replicating the message sent
let reply = {
'message-out': req.body['message-in'],
'delay': 0,
};
// Sends the reply - ENSURE a JSON response add JSON.stringfy just to be safe
res.status(200).send(JSON.stringify(reply));
});
// Sets server port and logs message on success
app.listen(process.env.PORT || 6000, () => console.log('server is listening'));
Node Js - Push API -Http method
var http = require("https");
var options = {
"method": "POST",
"hostname": "pickyassist.com",
"port": null,
"path": "/app/api/v2/push",
"headers": {
"content-type": "application/json",
}
};
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());
});
});
req.write(JSON.stringify({
token: 'c2a0b6221c5dd55ceb09ae1f74e46521756d',
'priority ': 0,
application: '2',
sleep: 0,
globalmessage: '',
globalmedia: '',
data: [{number: '1212', message: 'Test'}]
}));
req.end();