Envoyez des SMS depuis une application en Javascript ou Node.js
Construisez une solution d’envoi de SMS sur mesure au sein de votre environnement JavaScript ou Node.js. Automatisez votre communication par SMS, répondez aux besoins spécifiques, ajoutez la messagerie à vos outils JavaScript et Node.Js. Profitez d’un guide de démarrage rapide pour intégrer le SMS en quelques minutes.
L’envoi de SMS en JavaScript avec smsmode©
Intégration de l’API simple et sécurisée
Compatible avec l’ensemble des langages de programmation. Notre API REST permet de mettre en place l’envoi la réception et le monitoring de la messagerie mobile facilement grâce à une documentation complète et gratuite.
Sécurité & continuité d’activité
Notre infrastructure certifiée ISO 27001 & 27701 est hébergée en France dans 2 data centers de niveau 4 distincts (redondance). Nos API SMS sont surveillées 24h/24, 7 j/7 et 365 jours par an.
Support technique à votre disposition
Nos équipes support et développement dédiées sont disponibles pour vous aider à intégrer nos APIs SMS (REST ou http) ou pour répondre à toutes vos questions concernant l’utilisation de nos solutions au quotidien.
GUIDE DE DÉMARRAGE
Envoyer votre premier SMS en Node.js
L’API SMS vous permet de réaliser des appels à notre service d’envoi de SMS automatique à partir de pages web et applications développées en JavaScript ou Node.js. Vous pouvez ainsi configurer l’envoi et la réception de SMS et gérer les fonctionnalités de votre compte (contacts, crédits disponibles, programmation, statuts de réception, émetteur, etc.).
Le code source Node.js suivant vous permet de tester l’envoi de SMS via l’API HTTP (deprecated). ↓
const urlencode = require('urlencode');
var exports=module.exports={};
const urlencode = require('urlencode');
const http = require('https');
const querystring = require('querystring');
const fs = require('fs');
const pathname = require("path");
const ERROR_API = "Error during API call";
const ERROR_FILE = "The specified file does not exist";
const HOSTNAME = 'api.smsmode.com'
const PATH_SEND_SMS = "/http/1.6/sendSMS.do";
const PATH_SEND_SMS_Batch = "/http/1.6/sendSMSBatch.do";
/**
* Function parameters:
*
* - accessToken (required)
* - message (required)
* - destinataires (required): Receivers separated by a comma
* - emetteur (optional): Allows to deal with the sms sender
* - optionStop (optional): Deal with the STOP sms when marketing send (cf. API HTTP documentation)
* - batchFilePath (required for batch mode): The path of CSV file for sms in Batch Mode
*/
exports.ExempleClientHttpAPI = class {
// send SMS with GET method
async sendSmsGet(accessToken, message, destinataires, emetteur, optionStop) {
var finalPath = PATH_SEND_SMS + '?accessToken=' + accessToken + '&numero=' + destinataires +
"&message=" + urlencode(message,'ISO-8859-15') + '&emetteur=' + emetteur + '&stop=' + optionStop;
const options = {
hostname: HOSTNAME,
port: 443,
path: finalPath,
method: 'GET'
};
try {
let http_promise = this.getHttpResponse(options, "");
let response_body = await http_promise;
return response_body;
}
catch(error) {
return ERROR_API;
}
}
// send SMS with POST method
async sendSmsPost(accessToken, message, destinataires, emetteur, optionStop) {
var postData = querystring.stringify({
'accessToken': accessToken,
'numero': destinataires,
'emetteur' : emetteur,
'stop' : optionStop
});
postData = postData + "&message=" + urlencode(message,'ISO-8859-15');
const options = {
hostname: HOSTNAME,
port: 443,
path: PATH_SEND_SMS,
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=ISO-8859-15',
'Content-Length': Buffer.byteLength(postData)
}
};
try {
let http_promise = this.getHttpResponse(options, postData);
let response_body = await http_promise;
return response_body;
}
catch(error) {
return ERROR_API;
}
}
// send SMS with POST method (Batch)
async sendSmsBatch(accessToken, batchFilePath, optionStop) {
var finalPath = PATH_SEND_SMS_Batch + "?accessToken=" + accessToken + "&stop=" + optionStop;
try {
let content_file_promise = this.getContentFile(batchFilePath);
let content = await content_file_promise;
var boundary = "AaB03x";
var postData = Buffer.concat([
Buffer.from("--" + boundary + "\r\n"),
Buffer.from("Content-Disposition: form-data; name=\"file\"; filename=\""),
Buffer.from(pathname.basename(batchFilePath) + "\"\r\n"),
Buffer.from("Content-Type:text/csv\r\n\r\n"),
Buffer.from(content),
Buffer.from("\r\n--" + boundary + "--\r\n"),
]);
var options = {
method: 'POST',
hostname: HOSTNAME,
port: 443,
path: finalPath,
headers: {
"Content-Type": "multipart/form-data; boundary=" + boundary,
'Content-Length': Buffer.byteLength(postData)
}
};
try {
let http_promise = this.getHttpResponse(options, postData);
let response_body = await http_promise;
return response_body;
}
catch(error) {
return ERROR_API;
}
}
catch(error) {
return ERROR_FILE;
}
}
getHttpResponse(options, postData) {
return new Promise((resolve, reject) => {
const req = http.request(options, (res) => {
let chunks_of_data = [];
res.on('data', (fragments) => {
chunks_of_data.push(fragments);
});
res.on('end', () => {
let response_body = Buffer.concat(chunks_of_data);
resolve(response_body.toString());
});
});
req.on('error', (error) => {
reject(error);
});
req.write(postData);
req.end();
});
}
getContentFile(batchFilePath) {
return new Promise((resolve, reject) => {
fs.readFile(batchFilePath, async function(err, content) {
if (err) {
reject(err);
} else {
resolve(content);
}
});
});
}
}
Vous avez pu tester l’envoi de SMS en JavaScript !
Pour utiliser tout le potentiel du SMS marketing, notification ou OTP, consultez la documentation de l’API REST et ses paramètres pour exploiter l’ensemble des fonctionnalités offertes.
La documentation complète de notre API REST détaille toutes les fonctionnalités et requêtes disponibles sur notre passerelle SMS
Le SDK Curl vous permettra de configurer :
• La consultation des crédits restant
• L’envoi de SMS unitaire ou en masse
• La gestion est segmentation de vos contacts
• La programmation de la date et heure d’envoi
• L’envoi de notifications par SMS
• Les statistiques de réception des campagnes envoyées (status reçu)
Il est compatible avec :
ISO-8859-15
PHP
Java
ASP
C++
Ruby
WINDEV
Pourquoi utiliser notre passerelle SMS ?
Approuvée par plus de 10 000 clients en France et à l’étranger, notre solution est simple et rapide à installer offre des avantages concurrentiels importants :
En tant qu’opérateur Télécom ARCEP, nous ne routons les SMS qu’au travers de routes de haute qualité. Cela nous permet de vous garantir un taux de réception de vos messages vers les opérateurs de téléphonie français de +90% dans la minute qui suit l’envoi. Un véritable gage de qualité et de délivrabilité maximale.
Notre Gateway SMS est surveillé en continu. Vous pouvez avoir un accès aux performances de vos envois SMS via notre système de surveillance de trafic et bénéficier des résultats et statistiques détaillées en temps réel, être alertés des éventuels ralentissements et être assurés du succès de vos campagnes SMS.
Notre gateway haute disponibilité traite quotidiennement des millions de requêtes pour un volume d’envoi de plus de 900 millions de SMS par an. La gestion des priorités d’envoi (segmentation du trafic en 3 : OTP, notification et trafic marketing) permet d’offrir de meilleures performances adaptées aux types d’envois.
Créez votre compte gratuitement
Essayez notre plateforme SMS et bénéficiez de 20 crédits de tests offerts, sans engagement.