Envoi de SMS via API sur Node.js : bibliothèque twilio

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Envoi de SMS en JavaScript (Node.js) : bibliothèque twilio



Dans le développement web moderne, il est souvent nécessaire d'envoyer des notifications SMS aux utilisateurs : confirmation d'inscription, codes d'authentification à deux facteurs, alertes sur le statut des commandes, etc. Dans l'écosystème Node.js, l'une des bibliothèques les plus populaires et fiables pour cette tâche est twilio. Il s'agit du SDK officiel de la société Twilio, qui fournit une API simple et puissante pour l'envoi programmatique de SMS, d'appels vocaux et pour travailler avec d'autres services de télécommunications.



Dans cet article, nous allons voir en détail comment installer, configurer et utiliser la bibliothèque twilio pour envoyer des SMS depuis votre application Node.js. Vous découvrirez les méthodes de base, apprendrez à gérer les erreurs et verrez plusieurs exemples pratiques.



Installation et configuration



Pour commencer, vous aurez besoin d'un compte sur Twilio. Après l'inscription, vous recevrez :

  • Account SID — un identifiant unique de votre compte.
  • Auth Token — une clé secrète pour l'authentification des requêtes.
  • Twilio phone number — un numéro de téléphone à partir duquel les SMS seront envoyés (fourni gratuitement pour les tests).


Installez la bibliothèque via npm :



npm install twilio


Après l'installation, créez un fichier send-sms.js et importez la bibliothèque en transmettant vos identifiants :



const twilio = require('twilio');

const accountSid = 'YOUR_ACCOUNT_SID';const authToken = 'YOUR_AUTH_TOKEN';const client = twilio(accountSid, authToken);


Envoi de base d'un SMS



Pour envoyer un message, utilisez la méthode client.messages.create(). Elle accepte un objet avec trois champs obligatoires :

  • body — le texte du message (jusqu'à 1600 caractères pour un seul SMS).
  • from — votre numéro Twilio (au format +1234567890).
  • to — le numéro du destinataire (également au format international).


Exemple d'envoi d'un SMS simple :



client.messages  .create({    body: 'Bonjour ! Ceci est un message test avec Twilio.',    from: '+1234567890',    to: '+79876543210'  })  .then(message => console.log('Message envoyé. SID :', message.sid))  .catch(error => console.error('Erreur :', error));


Après un envoi réussi, vous recevrez un objet message contenant un sid unique (identifiant du message), le statut de livraison et d'autres informations.



Envoi asynchrone avec async/await



Pour une approche plus moderne, utilisez la syntaxe async/await. Encapsulez l'appel dans un bloc try...catch pour gérer les erreurs :



const sendSMS = async (to, body) => {  try {    const message = await client.messages.create({      body: body,      from: '+1234567890',      to: to    });    console.log(`SMS envoyé à ${to}. SID : ${message.sid}`);    return message;  } catch (error) {    console.error('Échec de l\'envoi du SMS :', error.message);    throw error;  }};

// UtilisationsendSMS('+79876543210', 'Votre code de confirmation : 1234');


Paramètres supplémentaires



La bibliothèque prend en charge de nombreux paramètres optionnels. En voici quelques-uns :

  • mediaUrl — URL d'une image ou d'un autre fichier multimédia (pour MMS).
  • statusCallback — URL pour recevoir des notifications sur le statut de livraison (webhook).
  • applicationSid — SID de l'application Twilio pour une configuration supplémentaire.


Exemple d'envoi d'un MMS avec une image :



client.messages  .create({    from: '+1234567890',    to: '+79876543210',    body: 'Regardez ce                    

Recommendations