Want to send text-messages in your Node.js application? Then you are at the right place.
The package is currently limited in features compared to the CM gateway, but if you want to get all the functionalities, go to: CM.com API Docs
First, run npm install @cmdotcom/text-sdk
. Then, in your source file:
const messagingApi = require("@cmdotcom/text-sdk");
// Get your product token at CM.com.
const yourProductToken = "";
const myMessageApi = new messagingApi.MessageApiClient(yourProductToken);
const result = myMessageApi.sendTextMessage(["00316012345678"], "TestSender", "Hello world?!");
result.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
or send multiple
const result = myMessageApi.sendTextMessage(["00316012345678","003160000000"], "TestSender", "Hello world?!");
send rich messages using the message builder
const richMessage = {
media: {
mediaName: "cm.com",
mediaUri: "https://avatars3.githubusercontent.com/u/8234794?s=200&v=4"
},
text: "Our logo!"
};
const suggestion = {
action: "openUrl",
label: "Click me",
url: "https://www.cm.com"
};
const response = client.createMessage()
.setMessage(["00316012345678"], "TestSender", "Hello world?!")
.setAllowedChannels(["Viber"])
.setConversation([richMessage])
.setSuggestion([suggestion])
.send();
response.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
or send whatsapp template messages using the message builder
const template = {
whatsapp: {
elementName: 'template-name',
language: {
code: 'en',
policy: 'deterministic'
},
namespace: 'the-namespace-of-template',
components: [{
type: 'body',
parameters: [{
type: 'text',
text: 'firstname'
}]
}]
}
};
const response = client.createMessage()
.setMessage(["00316012345678"], "TestSender", "Hello world?!")
.setAllowedChannels(["WhatsApp"])
.setTemplate(template)
.send();
response.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
or send whatsapp interactive messages using the message builder
const whatsAppInteractiveContent = {
type: 'list',
header: {
type: "text",
text: "your-header-content"
},
body: {
text: "your-text-message-content"
},
footer: {
text: "your-footer-content"
},
action: {
button: "cta-button-content",
sections: [{
title: "your-section-title1",
rows: [{
id: "unique-row-identifier1",
title: "row-title-content",
description: "row-description-content"
}]
},
{
title: "your-section-title2",
rows: [{
id: "unique-row-identifier2",
title: "row-title-content",
description: "row-description-content"
}]
}
]
}
};
const response = client.createMessage()
.setMessage(["00316012345678"], "TestSender", "Hello world?!")
.setAllowedChannels(["WhatsApp"])
.setInteractive(whatsAppInteractiveContent)
.send();
response.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
@cmdotcom/text-sdk is under the MIT license. See LICENSE file.