// Primary
https://smtpapi.vocotext.com/isms_send_all_id.php
// Mirror 2
https://smtpapi2.vocotext.com/isms_send_all_id.php
// Mirror 3
https://www.isms.com.my/isms_send_all_id.phpconst https = require('https');
const querystring = require('querystring');
const params = querystring.stringify({
un: 'your_username', // iSMS account username
pwd: 'your_password', // iSMS account password
dstno: '601X-XXXXXXX', // Recipient — full international format
msg: 'Hello from iSMS!',
type: '1', // 1 = ASCII (English/BM), 2 = Unicode (Chinese/Arabic)
agreedterm: 'YES',
sendid: 'MyBrand' // Optional sender ID (max 11 chars)
});
const options = {
hostname: 'smtpapi.vocotext.com',
path: '/isms_send_all_id.php',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(params)
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
if (data.includes('2000')) {
const trxId = data.split(':')[1];
console.log('SMS sent! Transaction ID:', trxId);
} else {
console.error('Failed:', data); // e.g. -1004 = INSUFFICIENT CREDITS
}
});
});
req.on('error', err => console.error('Connection error:', err.message));
req.write(params);
req.end();; — recommended max 30 per call.const recipients = ['601X-XXXXXXX', '601X-XXXXXXX', '601X-XXXXXXX'];
const params = querystring.stringify({
un: 'your_username',
pwd: 'your_password',
dstno: recipients.join(';'), // Semicolon-separated
msg: 'Dear customer, your order is ready!',
type: '1',
agreedterm: 'YES'
}); // ... same https.request() as above2000 = SUCCESS:1143007207
// Save the transaction ID for delivery tracking-1001 = AUTHENTICATION FAILED
-1003 = IP NOT ALLOWED
-1004 = INSUFFICIENT CREDITS
-1008 = MISSING PARAMETER
-1013 = INVALID TERM AGREEMENTRegister free, get your API credentials, and start sending in minutes.