
Partager:
Julia s'engage à aider ses collègues développeurs en créant des tutoriels, des guides et des ressources pratiques. Grâce à son expérience en matière de sensibilisation et d'éducation, elle vise à rendre la technologie plus accessible et à améliorer l'expérience globale des développeurs. Vous pouvez souvent la trouver lors d'événements communautaires locaux.
Comment envoyer des SMS avec Node-RED
Temps de lecture : 8 minutes
Note : Certains des outils ou méthodes décrits dans cet article peuvent ne plus être pris en charge ou ne plus être d'actualité. Pour un contenu mis à jour ou une assistance, consultez nos derniers articles ou contactez-nous sur le site Communauté Vonage Slack
Ceci est le premier article d'une série de tutoriels "Getting Started with Vonage and Node-RED" (Démarrer avec Vonage et Node-RED).
L'API SMS de Vonage SMS DE VONAGE vous permet d'envoyer et de recevoir des SMS dans le monde entier, à l'aide d'une simple API basée sur HTTP.
La bonne nouvelle est que l'interaction avec cette API, et bien d'autres, vient d'être facilitée par l'ajout des nœuds Nexmo à la palette Node-RED.
Dans cet article, vous allez apprendre à envoyer des SMS avec Node-RED. Obtenez ce flux à partir de la Bibliothèque Node-RED ou suivez la procédure.
Conditions préalables
Avant de commencer, vous aurez besoin de quelques éléments :
ngrok - se mettre au diapason avec L'article du blog d'Aaron
Obtenir ses diplômes
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Alors que dans certains pays, vous pouvez envoyer un SMS sans louer un numéro Vonage, d'autres pays, comme les États-Unis, exigent que vous soyez propriétaire du numéro d'où proviennent vos SMS.
Configuration de l'éditeur Node-RED
Tout d'abord, vous devez installer le runtime et l'éditeur. Cela peut se faire sur votre machine locale, sur un Single Board Computer (par exemple Raspberry Pi), ou sur un certain nombre d'options hébergées dans le cloud. Cet exemple utilisera votre machine locale, donc une fois que vous avez installé Node-RED globalement, tapez simplement la commande ci-dessous dans votre terminal pour commencer.
Vous pouvez ensuite accéder à l'éditeur Node-RED en pointant votre navigateur sur http://localhost:1880.
Une fois votre éditeur ouvert, vous devez installer les nœuds Nexmo. Vous pouvez le faire sous la palette Gérer la palette en recherchant le paquet node-red-contrib-nexmo et en cliquant sur installer.
Install the Nexmo Node-RED package
Vous devriez maintenant voir tous les nœuds Nexmo apparaître sur le côté gauche de votre écran, parmi les nœuds par défaut.
Envoyer un SMS avec Node-RED
Faites défiler vers le bas jusqu'au nœud sendsms et faites-le glisser dans votre espace de travail. C'est lui qui fera le gros du travail dans le tutoriel d'aujourd'hui.
Vous pouvez configurer ce nœud en double-cliquant dessus et en remplissant les paramètres ci-dessous. Vous trouverez API KEY et API SECRET en cliquant sur le bouton d'édition à côté de Nexmo Credentials.
CLÉ
DESCRIPTION
API KEY
Votre clé API, indiquée dans votre vue d'ensemble de votre Account.
API SECRET
Votre secret API, indiqué dans votre vue d'ensemble de votre Account.
TO
Le numéro auquel vous envoyez le SMS au format E.164. Par exemple 447401234567.
FROM
Le numéro ou le texte affiché sur un combiné lorsqu'il affiche votre message. Vous pouvez définir un FROM alphanumérique personnalisé pour mieux représenter votre marque, si cette fonction est prise en charge dans votre pays. cette fonction est prise en charge dans votre pays.
TEXT
Le contenu de votre message. N'hésitez pas à faire preuve de créativité, mais un "Hello World !" fera tout aussi bien l'affaire.
Ensuite, ajoutez un nœud inject au flux et le câbler en tant qu'entrée pour sendsms.
Il s'agit d'une fonction assez puissante, qui permet d'initier le flux avec une valeur de charge utile spécifique. Il permet d'injecter des chaînes, des nombres, des booléens, des objets JavaScript ou des valeurs de contexte de flux/global, avec par défaut le timestamp de l'heure actuelle en millisecondes depuis le 1er janvier 1970.
Vous pouvez simplement l'utiliser pour déclencher votre flux, en codant en dur tous les paramètres dans le nœud sendsms ou vous pouvez aller plus loin.
À côté du TO,FROM et TEXT il y a un signe {} ce qui signifie que Mustache templating est pris en charge pour ces champs. Cela s'avère pratique lorsque l'on passe certaines valeurs dynamiquement au nœud sendsms de manière dynamique.
Sachant que l'horodatage est injecté, ajoutons cette valeur au texte du message en faisant référence à {{msg.payload}}par exemple :
Hello World! The timestamp is `{{msg.payload}}`.Pour avoir une idée plus précise de ce qui se passe lorsque vous envoyez un SMS, insérez la sortie sendsmsdans un nœud debug nœud. Double-cliquez dessus et définissez le paramètre Output à complete msg object.
Frapper Déployer et cliquez sur le bouton du nœud inject votre SMS devrait être en route !
Sending an SMS in Node-RED
Lorsque vous faites une requête réussie à l'API SMS, celle-ci renvoie un tableau d'objets message. Idéalement, chacun de ces objets a un `status` de `0`, indiquant que votre message a été programmé avec succès pour l'envoi, et quelques autres détails comme le numéro du destinataire, l'identifiant du message, le solde restant, le prix et le réseau de l'opérateur qui sera utilisé pour l'envoi du SMS.
Vous pouvez jeter un coup d'œil à cet objet de réponse dans la zone de débogage sur le côté droit de votre éditeur Node-RED.
Bien que l'inspection de cette sortie soit très utile pour déterminer ce que l'API SMS a fait, il n'y a aucune garantie que le message ait atteint le combiné du destinataire.
Lorsque le message est délivré, l'opérateur de téléphonie mobile renvoie un reçu de livraison à Vonage. Celui-ci contient l'état de la livraison.
Réception d'un accusé de réception d'un transporteur mobile
Pour connaître le status de votre message sortant, vous devrez configurer un point de terminaison webhook que Vonage pourra transmettre à l'expéditeur. Accusé de réception à Vonage.
Définition d'un point de terminaison Webhook
Tout d'abord, connectez un nœud d'entrée http à un nœud http response ainsi qu'à un nœud debug afin que vous puissiez visualiser votre accusé de réception dans la zone de débogage.
Dans le nœud d'entrée http nœud d'entrée, sélectionnez POST en tant que Method et remplissez le champ URL avec quelque chose comme /receipt. Le nœud http response devrait avoir 200 défini comme Status codemais ne vous inquiétez pas, c'est aussi la valeur par défaut.
Setting up a webhook for delivery receipts
Exposer votre serveur local à l'Internet
Ensuite, vous devrez exposer votre serveur local à l'internet, afin que Vonage puisse y accéder. Une façon pratique de le faire est d'utiliser un service de tunneling comme ngrok.
Télécharger et installez ngrokpuis lancez-le dans le terminal pour démarrer un tunnel sur le port 1880.
Starting an ngrok tunnel in a terminal window
Votre serveur local dispose désormais d'une URL ngrok qui peut être utilisée comme point de terminaison de votre webhook.
Configuration du point d'accès avec Vonage
La dernière étape consiste à indiquer à l'API SMS de Vonage l'endroit où il doit transmettre les accusés de réception. Vous pouvez le faire dans vos paramètres de l'API dans la section Paramètres SMS par défaut section Default SMS Setting.
Définissez l'URL par défaut du webhook pour les accusés de réception comme suit YOUR_NGROK_URL/receiptpuis Save changes.
Delivery receipt endpoint URL in dashboard
Maintenant, lorsque vous retournez dans votre éditeur Node-RED et que vous envoyez un autre message, vous verrez le reçu de livraison apparaître dans la zone de débogage :
Delivery receipt in debug sidebar
Les status et err-code indiquent tous deux que le message a été livré avec succès. Pour en savoir plus sur les messages d'état de réception et les codes d'erreur, consultez la section docs.
Quelle est la prochaine étape ?
Envoyer des notifications de groupe avec Google Sheets et Node-RED
En savoir plus sur l'API Nexmo SMS API
Mieux comprendre les accusés de réception
Regardez de plus près Node-RED
Partager:
Julia s'engage à aider ses collègues développeurs en créant des tutoriels, des guides et des ressources pratiques. Grâce à son expérience en matière de sensibilisation et d'éducation, elle vise à rendre la technologie plus accessible et à améliorer l'expérience globale des développeurs. Vous pouvez souvent la trouver lors d'événements communautaires locaux.
