Sailsjs et Twilio pour envoyer des SMS
Sailsjs est un framework basé sur nodejs et qui vous permet de développer des applications web. Il est basé sur le modèle de programmation MVC. Avec sailsjs vous pouvez créer votre backend qui accepte presque tous les clients commes Angular , Vue , Android etc.. Si vous ne connaissez pas le framework sailsjs, je vous invite à lire mon blog qu'est ce que sailsjs. Dans ce blog je vais vous montrer comment envoyer des sms depuis une application sailsjs et la plateforme Twilio.
Qu'est ce que Twilio
Twilio est une société américaine spécialisée dans la communication par voix, image et SMS. Twilio a développé des APIs pour permettre aux développeurs d'utiliser facilement ses services. Dans ce blog, je vais vous montrer comment utiliser l'API SMS de Twilio pour envoyer des sms dans une applications sailsjs. Avant d'utiliser Twilio, vous devez créer un compte et récupérer les 2 paramètres ACCOUNT SID
et AUTH TOKEN
. Ces 2 paramètres se trouvent dans votre dashboard de Twilio. Vous devez aussi achetez un numéro capable d'envoyer des sms chez Twilio et chargez évidemment votre compte.
Configuration de Twilio dans Sailsjs
L'utilisation de Twilio dans une application Sailsjs necessite quelques modifications. Si vous n'avez jamais créé un projet sailsjs, je vous invite à lire mon blog l'anatomie d'un projet sailsjs. Ce blog explique très bien un projet sailsjs et tout son contenu.
Installez le module twilio avec la commande suivante
npm install twilio --save
Cette commande va installer le module twilio dans votre projet sailsjs.
Ouvrez le fichier de configuration config/custom.js
et rajoutez les variables suivantes:
TWILIO:{
accountSid:'Votre accountSid ',
authToken:'Votre authToken',
from:'Votre numéro sous la forme +33XXXXXX'
},
Création d'un helper pour envoyer les sms
Nous allons maintenant créé un helper pour envoyer les sms. Un helper est comme un service que vous pouvez utiliser dans tout votre projet sailsjs.
Exécutez la commande suivante:
sails generate helper sendSms
Cette commande va créer le fichier api/helpers/send-sms.js
. Modifiez ce fichier comme ci-dessous
var twilio = require('twilio');
module.exports = {
friendlyName: 'Send sms',
description: '',
inputs: {
message:{
type:'string'
},
to:{
type:'string'
}
},
exits: {
},
fn: async function (inputs, exits) {
var client = new twilio(sails.config.custom.TWILIO.accountSid, sails.config.custom.TWILIO.authToken);
client.messages.create({
body: inputs.message,
to: inputs.to,
from: sails.config.custom.TWILIO.from
})
.then(msg => {return exits.success(msg)})
.catch(error => {return exits.error(error)})
}
};
Le helper prend en paramètre le message à envoyer et le numéro de téléphone toujours sous la forme E.164.
Envoie des sms depuis un controller
Une fois votre helper créé comme ci-dessous, vous pouvez l'utiliser depuis n'importe quel controller de votre application comme ci-dessous:
const resultsms = await sails.helpers.sendSms.with({
message:'Votre message',
to:'Le numéro du destinataire sous la forme +33xxxxx'
})
C'est terminé. Merci d'avoir lu mon blog. N"hésiter pas à le commenter et le partager sur les réseaux sociaux.