Comment envoyer des SMS depuis Ruby

Voyons comment utiliser Ruby pour envoyer des messages SMS avec des requêtes HTTP. L'exemple de code montre que vous n'avez besoin que de quelques lignes de code pour configurer les détails du message et envoyer une requête HTTP. Ensuite, la passerelle SMS reçoit la requête et livre le SMS au destinataire. Enfin, la passerelle SMS renvoie la réponse au programme Ruby qui l'affiche dans la console.

Qu'est-ce que l'API SMS Ruby ?

L'API SMS Ruby (Ruby sms) vous permet d'envoyer des messages SMS depuis votre programme Ruby. L'API SMS Ruby initie des requêtes HTTP et les envoie à la passerelle SMS qui livre le message au destinataire.

Prérequis

Envoyer un SMS depuis Ruby

  1. Ouvrir Notepad
  2. Créer un nouveau fichier
  3. Copier-Coller l'exemple de code ci-dessous
  4. Enregistrer le fichier sous HttpApiTester.rb
  5. Ouvrir l'Invite de commandes
  6. Naviguer vers le dossier où vous avez enregistré le fichier Ruby
  7. Taper 'ruby HttpApiTester.rb' dans l'Invite de commandes
  8. Appuyer sur Entrée pour exécuter le programme Ruby
  9. Ruby Rails envoie des messages texte SMS

Vidéo 1 - Comment envoyer un SMS depuis Ruby (Tutoriel vidéo)

Exemple de code source SMS Ruby

Cet exemple simple de code source ci-dessous, écrit en langage de programmation Ruby, est libre d'utilisation. Vous pouvez simplement l'implémenter dans votre projet, ou vous pouvez modifier le code source pour l'utiliser dans d'autres projets ou applications. Pour exécuter l'exemple de code et voir comment envoyer des requêtes HTTP depuis Ruby, vous avez juste besoin de créer un nouveau fichier Ruby et de placer cet exemple de code dans ce fichier. Pour exécuter le programme Ruby, lancez-le simplement depuis l'Invite de commandes. Ces opérations sont expliquées et démontrées dans les étapes et les sections vidéo.

require 'uri'
require 'net/http'

username = "john"
password = "Xc3ffs"
messagetype = "SMS:TEXT"
httpUrl = "https://127.0.0.1:9508/"
recipient = URI.encode_www_form_component("+36201324567")
messagedata = URI.encode_www_form_component("TestMessage")

sendString = "#{httpUrl}api?action=sendmessage&username=#{username}&password="\
			 "#{password}&recipient=#{recipient}&messagetype="\
			 "#{messagetype}&messagedata=#{messagedata}"

puts("Sending http request #{sendString}")

OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
url = URI(sendString)
response = Net::HTTP.get(url)
puts("Http response received:")
puts(response)

Étape 1 - Ouvrir un éditeur de texte

La première étape pour exécuter l'exemple de code SMS Ruby ci-dessus est de créer un fichier Ruby qui contient le code source. Pour effectuer cette opération, vous avez juste besoin d'un éditeur de texte. Vous pouvez télécharger un éditeur de texte personnalisé pour cela, mais l'application Notepad par défaut installée sur Windows peut aussi faire l'affaire. Donc, comme vous pouvez le voir sur la Figure 1, cliquez simplement sur l'icône de Notepad pour l'ouvrir.

ouvrir un éditeur de texte
Figure 1 - Ouvrir un éditeur de texte

Étape 2 - Copier le code source Ruby

L'étape suivante du guide est d'obtenir le code source Ruby. Cela peut être facilement fait, puisque le code se trouve sur cette page, donc vous avez juste besoin de le copier. Donc, comme le montre la Figure 2, allez simplement à la section de l'exemple de code, sélectionnez tout le code source et appuyez sur Ctrl+C sur votre clavier pour copier le code Ruby dans le presse-papiers.

copier le code source depuis le site web
Figure 2 - Copier le code source depuis le site web

Étape 3 - Coller le code Ruby dans votre éditeur de texte

Après avoir copié le code Ruby depuis cette page, vous devez le coller dans votre fichier texte vide. Pour cela, vous avez juste besoin de naviguer vers le fichier texte et d'appuyer sur Ctrl+V sur votre clavier. En effectuant cette action, le code Ruby sera collé dans votre fichier texte comme le montre la Figure 3.

coller le code du programme dans l'éditeur de texte
Figure 3 - Coller le code du programme dans l'éditeur de texte

Étape 4 - Enregistrer le fichier Ruby

Après avoir placé le code source dans le fichier texte, la prochaine étape consiste à enregistrer le fichier avec l'extension Ruby, qui est '.rb'. Sélectionnez simplement l'option 'Enregistrer sous' dans le Bloc-notes, nommez le fichier et ajoutez l'extension '.rb' comme vous pouvez le voir sur la Figure 4, puis cliquez sur Enregistrer.

enregistrer le fichier ruby httpapitester
Figure 4 - Enregistrer le fichier Ruby HttpApiTester

Étape 5 - Ouvrir l'Invite de commandes

L'étape suivante consiste à exécuter le fichier Ruby créé. Cette tâche peut être facilement réalisée en utilisant l'Invite de commandes. Vous pouvez l'ouvrir en lançant l'Explorateur de fichiers, en naviguant vers le dossier où vous avez enregistré le fichier Ruby, et en tapant 'cmd' dans la barre d'adresse de l'Explorateur de fichiers comme sur la Figure 5. Si vous appuyez sur Entrée à ce moment-là, l'Invite de commandes s'affichera et sera prête à l'emploi.

ouvrir l'invite de commandes
Figure 5 - Ouvrir l'Invite de commandes

Étape 6 - Exécuter le fichier Ruby

Dans l'Invite de commandes, vous n'avez besoin que d'une seule commande simple pour exécuter l'exemple Ruby SMS. La commande doit être 'ruby *nom du fichier*.rb'. Après avoir tapé cette commande, appuyez simplement sur Entrée, et la commande exécutera le programme Ruby. Le programme exemple affiche la requête HTTP et le message de réponse du SMS Gateway dans l'Invite de commandes. (Figure 6)

exécuter le fichier httpapitesterrb dans cmd
Figure 6 - Exécuter le fichier HttpApiTester.rb dans cmd

Étape 7 - Vérifier le résultat de l'envoi dans les logs Ozeki

Dans Ozeki 10 SMS Gateway, vous pouvez facilement vérifier quels messages ont été envoyés par votre application, car le service HTTP API enregistre chaque événement survenu pendant son activation. Ainsi, si vous ouvrez le SMS Gateway et sélectionnez les détails du service HTTP API, vous pourrez voir les événements. Comme le montre la Figure 7, le service a enregistré un événement lorsque le programme exemple Ruby a envoyé la requête HTTP au service.

vérifier les logs du service http api
Figure 7 - Vérifier les logs du service HTTP API

Le processus d'envoi du message peut également être visualisé à travers les événements. Pour cela, ouvrez la connexion utilisateur HTTP API que vous avez dû configurer auparavant. La Figure 8 montre comment la connexion traite la requête HTTP et envoie le message au destinataire que vous avez spécifié dans votre programme exemple Ruby SMS.

vérifier les logs de l'utilisateur http api
Figure 8 - Vérifier les logs de l'utilisateur HTTP API

Résumé

Cet article vous a expliqué comment envoyer des SMS depuis un projet écrit en Ruby. Envoyer des messages depuis n'importe quel objet Ruby signifie que vous pouvez offrir des services SMS à vos clients dans n'importe quelle solution Ruby. Cela rendra votre solution polyvalente et largement utilisée. La solution est basée sur le Ozeki SMS Gateway. Le code que nous avons fourni enverra des requêtes HTTP depuis Ruby vers le Ozeki SMS Gateway et le Ozeki SMS Gateway fera ce qui est demandé.

Pour en savoir plus sur le système, n'hésitez pas à consulter le site web d'Ozeki où vous trouverez plus d'informations sur toute configuration que vous pouvez réaliser avec le Ozeki SMS Gateway. Commencez par l'article sur la réception de SMS. Ou découvrez d'autres langages de programmation avec lesquels le Ozeki SMS Gateway peut fonctionner. Par exemple, PHP.

La prochaine étape est de télécharger le Ozeki SMS Gateway et de commencer à travailler dès maintenant !

More information