Envoyer un SMS sans numéro de téléphone avec un expéditeur alphanumérique et Ruby

March 28, 2022
Rédigé par
Phil Nash
Twilion

Envoyer un SMS sans numéro de téléphone avec un expéditeur alphanumérique et Ruby

Chez Twilio, nous parlons beaucoup de la messagerie conversationnelle ; la possibilité d'envoyer des messages à vos clients et de recevoir des réponses de leur part vous permet d'échanger avec eux de manière plus efficace. Parfois, vous avez simplement besoin d'envoyer un message qui n'exige aucune réponse, lorsqu'il s'agit d'alertes, de notifications ou de vérifications par exemple. Pour un message unidirectionnel comme celui-ci, vous pouvez envisager d'utiliser un expéditeur alphanumérique au lieu d'un numéro de téléphone.

Lorsqu'un utilisateur reçoit un message envoyé par un expéditeur alphanumérique, il ressemble à ceci :

Screenshot - Iphone montrant un message reçu de l"expéditeur "PHILNASH"

Pour cet exemple, j'ai envoyé le message provenant de PHILNASH et, comme vous pouvez le constater, l'identifiant remplace le numéro de téléphone du contact dans l'application de messagerie iOS.

Les expéditeurs alphanumériques se comportent différemment des numéros de téléphone et présentent des avantages dans certaines situations :

  • Votre entreprise peut être identifiée instantanément par son nom. Votre nom s'affiche sans que votre numéro de téléphone ne soit enregistré dans le répertoire de votre destinataire, ce qui permet d'obtenir des taux d'ouverture plus élevés.
  • Les expéditeurs alphanumériques peuvent être utilisés dans de nombreux pays sans qu'il soit nécessaire de disposer d'un numéro de téléphone dédié pour chacun d'entre eux.
  • L'utilisation d'un expéditeur alphanumérique est gratuite dans la plupart des pays.
  • Les destinataires ne peuvent pas répondre aux messages envoyés à partir d'un expéditeur alphanumérique. Vous n'avez donc pas besoin de gérer les messages entrants via une application.

Mais les expéditeurs alphanumériques présentent également quelques inconvénients, notamment :

  • Les destinataires ne peuvent pas répondre aux messages envoyés à partir d'un expéditeur alphanumérique. Ils ne conviennent donc pas aux cas d'usage conversationnels.
  • Vous devez fournir des solutions alternatives pour que les utilisateurs puissent se désinscrire de l'envoi de messages, car ils ne peuvent pas envoyer de message « STOP ».
  • Les expéditeurs alphanumériques ne sont pas pris en charge dans tous les pays et, dans certains d'entre eux, le pré-enregistrement peut être payant.

Dans l'ensemble, les expéditeurs alphanumériques sont très utiles dans les cas d'usage appropriés. Dans la suite de cet article, nous allons configurer notre compte Twilio pour l'envoi de messages à partir d'un expéditeur alphanumérique et nous vous expliquerons comment y procéder en Ruby.

Éléments nécessaires pour envoyer des SMS à partir d'un expéditeur alphanumérique

  • Vous devez disposer d'un compte Twilio mis à niveau.
  • Je vais utiliser Ruby pour montrer comment envoyer un message à partir de votre expéditeur alphanumérique. Si vous souhaitez coder en même temps, assurez-vous que Ruby est installé.

 

Configuration de votre expéditeur alphanumérique

Nous vous recommandons de configurer l'envoi de SMS à partir d'un expéditeur alphanumérique via un Messaging Service. Les services de messagerie offrent de nombreux avantages, notamment la possibilité de repasser à un numéro de code long pour effectuer des envois vers un pays ne prenant pas en charge les expéditeurs alphanumériques. La configuration de votre Messaging Service ne prend que quelques minutes, alors configurons-en un maintenant.

Création et configuration d'un Messaging Service

Pour créer un Messaging Service, accédez à la console Twilio puis, dans le menu Messaging (Messagerie), sélectionnez Services. Sur cette page, cliquez sur Create Messaging Service (Créer un Service de Messagerie) pour afficher le processus en 4 étapes.

Étape 1

La première étape est la plus simple : donnez un nom à votre nouveau Messaging Service.

Screenshot - Etape 1 de la création d"un Messaging Service. Lors de cette étape, vous devez entrer un nom convivial pour le service de messagerie

Étape 2

Ensuite, ajoutez un expéditeur alphanumérique à votre Messaging Service. Sélectionnez le type d'expéditeur « Alpha Sender » (Expéditeur alphanumérique).

Screenshot - Lors de l"étape 2 de la configuration du Messaging Service, vous pouvez appuyer sur le bouton pour ajouter un expéditeur. Lorsque vous le faites, une boîte de dialogue s"ouvre vous demandant le type d"expéditeur ; choisissez "Alpha Sender" (expéditeur alphanumérique)

Cliquez sur Continuer, puis saisissez l'expéditeur alphanumérique de votre choix. Vous devez respecter certaines règles : l'identifiant peut comporter 11 caractères maximum et au moins l'un d'entre eux doit être une lettre.

Screenshot - Toujours lors de l"étape 2, l"image montre la page après que vous ayez choisi d"ajouter l"expéditeur alphanumérique. Il y a une entrée pour l"identifiant de l"expéditeur alphanumérique et un bouton pour l"ajouter.

Après avoir cliqué sur Add Alpha Sender (Ajouter un expéditeur alphanumérique), votre nouvel expéditeur alphanumérique s'affiche dans votre groupe d'expéditeurs. Cliquez sur Step 3: Set up integration (Étape 3 : configuration de l'intégration).

Étape 3

Cette étape permet de configurer la manière dont votre Messaging Service gère les messages entrants. Dans la mesure où nous abordons uniquement les expéditeurs alphanumériques qui ne peuvent pas recevoir de messages entrants, passons directement à l'étape suivante. Si vous ajoutez un numéro de code long à votre groupe d'expéditeurs, vous devrez configurer ces paramètres ultérieurement. Cliquez sur Step 4: Add compliance info (Étape 4 : ajout d'informations de conformité).

Étape 4

Si vous envoyez des SMS A2P (application-to-person, application vers la personne) aux États-Unis, vous devrez respecter les règles A2P 10DLC. Nous n'aborderons pas ce sujet ici, mais si cela vous concerne, cliquez sur ce lien afin d'en savoir plus et de vous inscrire pour utiliser la messagerie A2P 10DLC. Cliquez sur Complete Messaging Service Setup (Terminer la configuration du Service de Messagerie), puis sur View my new Messaging Service (Afficher mon nouveau Service de Messagerie).

Vous pouvez désormais écrire du code et envoyer des SMS à partir de votre Messaging Service en utilisant un expéditeur alphanumérique.

Envoi d'un SMS à partir d'un expéditeur alphanumérique en Ruby

Votre compte Twilio est désormais configuré pour vous permettre d'envoyer des messages à partir de votre expéditeur alphanumérique. Passons à l'écriture du code d'envoi de message. Si vous souhaitez passer directement à la fin, le code est disponible sur GitHub.

 

Création d'un projet Ruby

En premier lieu, assurez-vous que Ruby est installé sur votre machine. Vérifiez également que Bundler est installé pour gérer les dépendances.

gem install bundler

Créez un nouveau répertoire pour ce projet, puis accédez à ce répertoire sur la ligne de commande :

mkdir send-sms-with-twilio-alphanumeric-sender-ruby
cd send-sms-with-twilio-alphanumeric-sender-ruby

Dans le répertoire, exécutez la commande :

bundle init

Cette commande crée un fichier Gemfile pour stocker les dépendances de notre projet. Ajoutez la gem Twilio comme dépendance :

bundle add twilio-ruby

Cette commande ajoute la dernière version de la librairie au fichier Gemfile. Nous devrons stocker des informations d'identification dans le projet. Ajoutez donc également la gem dotenv :

bundle add dotenv

Lorsque ces deux dépendances sont configurées, nous devons utiliser un fichier pour notre code et un autre pour nos informations d'identification. Créez un fichier intitulé send-sms.rb et un autre nommé .env.

touch send-sms.rb .env

Ouvrez le fichier .env. Nous y stockerons les informations d'identification dont nous avons besoin pour appeler l'API, ainsi que le Messaging Service SID que nous venons de créer. Copiez les lignes ci-dessous et saisissez les détails demandés pour chacune des informations d'identification. Vous pouvez rechercher votre Messaging Service SID.

TWILIO_ACCOUNT_SID=YOUR_ACCOUNT_SID
TWILIO_AUTH_TOKEN=YOUR_AUTH_TOKEN
MESSAGING_SERVICE_SID=YOUR_MESSAGING_SERVICE_SID

Passons à présent à l'écriture du code. Ouvrez le fichier send-sms.rb. Commencez par requêter "dotenv/load", qui charge les variables répertoriées dans le fichier .env dans l'environnement, et "twilio-ruby", la librairie de Twilio Ruby.

require 'dotenv/load'
require 'twilio-ruby'

Récupérez les variables dont nous avons besoin dans l'environnement :

account_sid = ENV.fetch("TWILIO_ACCOUNT_SID")
auth_token = ENV.fetch("TWILIO_AUTH_TOKEN")
messaging_service_sid = ENV.fetch("MESSAGING_SERVICE_SID")

L'utilisation d'une commande ENV.fetch de ce type génère une erreur si la variable n'est pas présente dans l'environnement, ce qui est utile pour identifier les bugs rapidement.

Pour envoyer un message, vous devez disposer d'une adresse d'expédition, gérée par notre Messaging Service, d'un numéro de destination et du message que vous souhaitez envoyer. Pour ce script, transmettons le numéro au script sur la ligne de commande. Pour obtenir cet argument, accédons au premier membre de la liste ARGV.

to = ARGV.first

Nous devons à présent créer un client API à partir de la librairie Twilio et l'utiliser pour envoyer le message. Terminez le code avec les lignes suivantes :

client = Twilio::REST::Client.new(account_sid, auth_token)
message = client.messages.create(
  to: to,
  messaging_service_sid: messaging_service_sid,
  body: "Hello from your Alpha Sender"
)
puts "Message envoyé ! Message sid : #{message.sid}"

Voici le code complet :

require 'dotenv/load'
require 'twilio-ruby'

account_sid = ENV.fetch("TWILIO_ACCOUNT_SID")
auth_token = ENV.fetch("TWILIO_AUTH_TOKEN")
messaging_service_sid = ENV.fetch("MESSAGING_SERVICE_SID")

to = ARGV.first

client = Twilio::REST::Client.new(account_sid, auth_token)
message = client.messages.create(
  to: to,
  messaging_service_sid: messaging_service_sid,
  body: "Hello from your Alpha Sender"
)
puts "Message envoyé ! Message sid : #{message.sid}"

Exécutez le script sur la ligne de commande, en transmettant votre propre numéro de téléphone (au format E.164). Vous recevrez alors un message provenant de votre expéditeur alphanumérique.

ruby send-sms.rb +VOTRE_NUMERO_ICI

Félicitations, vous avez réussi à vous envoyer un message à partir de votre expéditeur alphanumérique !

Découvrez les services de messagerie

Dans cet article, vous avez appris à configurer un Messaging Service utilisant un expéditeur alphanumérique et à envoyer un message à l'aide de ce service en Ruby. Vous pouvez consulter l'intégralité du code de ce repo GitHub.

L'envoi d'un message sans numéro de téléphone n'est qu'un exemple parmi d'autres de ce qu'un Messaging Service peut faire pour vous. Vous pouvez également configurer votre Messaging Service pour :

N'hésitez pas à me faire part des projets que vous construisez avec la messagerie Twilio. Contactez-moi sur Twitter : @philnash ou par e-mail à l'adresse philnash@twilio.com.