Envoyer un SMS sans numéro de téléphone avec un AlphaSenderID et Java

March 15, 2022
Rédigé par
Révisé par
Diane Phan
Twilion

Les SMS sont utiles pour la communication bidirectionnelle : vous pouvez discuter avec vos amis et interagir avec des entreprises. Il existe également de nombreux cas d'usage où les messages unidirectionnels sont pratiques - par exemple, les alertes, les notifications et les vérifications. Pour ce type de message, vous devriez envisager d'utiliser un expéditeur alphanumérique.

Voici quelques informations que vous devez connaître concernant l'utilisation d'un expéditeur alphanumérique (AlphaSenderID) :

  • Un message identifie l'expéditeur par son nom sans que le numéro de téléphone soit enregistré dans le répertoire du destinataire.
  • Un expéditeur alphanumérique unique peut être utilisé 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.
  • Il n'est pas possible de répondre à un message provenant d'un expéditeur alphanumérique. L'avantage, c'est que vous n'êtes pas tenu de gérer les messages entrants. En revanche, ce type d'expéditeur n'est pas adapté aux cas d'usage nécessitant des échanges.

Un message entrant provenant d'un expéditeur alphanumérique appelé « MatthewTwlo » se présente comme suit :

Screenshot - application de messagerie montrant un message reçu d"un expéditeur alpha numérique du nom de "MatthewTwlo".

Vous ne pouvez pas envoyer de SMS à un expéditeur alphanumérique. Mon application de messagerie affiche donc ce message sans possibilité d'y répondre.

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

  • Vous devez disposer d'un compte Twilio mis à niveau. Si vous n'avez pas encore de compte, inscrivez-vous sur ce lien
  • Le code à la fin de cet article utilise Java. Pour suivre cette section, vous devez donc configurer votre environnement de développement Java.

Configuration d'un expéditeur alphanumérique

La méthode recommandée pour paramétrer l'envoi de SMS à partir d'un expéditeur alphanumérique consiste à configurer un service de messagerie. Vous pouvez envoyer des messages à l'aide d'un expéditeur alphanumérique sans service de messagerie, mais nous n'aborderons pas ce sujet dans cet article. La configuration d'un service de messagerie ne prend qu'une minute et sera plus flexible à l'avenir. Créez le service de messagerie à partir des menus de la console Twilio :

Messaging (Messagerie) > Services > « Create Messaging Service » (Créer un service de messagerie)

Création et configuration d'un service de messagerie

Étape 1

Donnez un nom à votre service de messagerie :

Screenshot: Etape 1 de la création du Messaging Service

 

Étape 2

Ajoutez un expéditeur à votre nouveau service de messagerie, en sélectionnant le type d'expéditeur « Alpha Sender » (Expéditeur alphanumérique) :

Screenshot - Ajouter un expéditeur alphanumérique sur un Messaging Service

Cette boîte de dialogue contient des liens vers la documentation relative aux expéditeurs alphanumériques et des informations sur l'assistance internationale pour les expéditeurs alphanumériques.

Définissez ensuite l'identifiant d'expéditeur. Il s'affichera dans les applications de messagerie des destinataires, comme indiqué dans le premier exemple.

Screenshot -  "Add Senders" : ajouter un expéditeur alphanumérique appelé "MatthewTwlo"

L'identifiant d'expéditeur peut comporter 11 caractères alphanumériques maximum.

Cliquez sur « Setup Integration » (Configuration de l'intégration).

Étape 3

Configuration de l'intégration : cette étape permet de configurer la manière dont le service de messagerie gère les messages entrants, mais les expéditeurs alphanumériques ne peuvent pas recevoir de messages. Vous pouvez donc cliquer pour passer directement à l'étape 4.

Étape 4

Si vous envoyez des SMS A2P (application-to-person, application vers la personne) aux États-Unis, vous devrez respecter les règles A2P10DLC. Nous n'aborderons pas ce sujet dans cet article, mais si cela vous concerne, cliquez sur ce lien pour en savoir plus et vous inscrire. Cliquez sur le bouton Complete Messaging Service Setup (Terminer la configuration du service de messagerie).

Terminer la configuration

Cliquez sur Complete Messaging Service Setup (Terminer la configuration du service de messagerie) pour terminer la configuration de votre service de messagerie et de votre expéditeur alphanumérique.

Vous serez invité à effectuer un test dans la console. Vous pouvez également y accéder en parcourant les menus de la console : Messaging (Messagerie) > Try it out (Tester) > Send an SMS (Envoyer un SMS). Un message d'avertissement peut indiquer qu'aucun numéro de téléphone n'est configuré pour ce service de messagerie. Vous pouvez l'ignorer en toute sécurité. Après tout, il est logique de ne pas avoir besoin de numéro de téléphone lorsque vous utilisez un expéditeur alphanumérique.

Une commande cURL s'affiche, vous pouvez la copier-coller sur votre terminal. Saisissez votre Auth Token afin de recevoir un SMS sur votre téléphone provenant de votre expéditeur alphanumérique. Notez que vous ne pouvez pas y répondre.

Envoi de SMS à partir d'expéditeurs alphanumériques en code Java

Vous avez désormais configuré tous les éléments nécessaires dans votre compte Twilio. Passons à présent à l'écriture du code. Si vous souhaitez passer à l'étape suivante, le projet complet est disponible sur GitHub.

Création d'un projet Maven

Créez un projet Maven dans votre IDE (environnement de développement intégré). Pour ce faire, le moyen le plus simple pour consiste à utiliser l'assistant « New Project » (Nouveau projet) de votre IDE. Après avoir configuré un projet Maven, vous pouvez commencer à coder.

Utilisez une version récente de Java

Par défaut, Maven part du principe que vous utilisez une ancienne version de Java. Mettez à jour le projet vers la dernière version avec l'extrait XML suivant dans pom.xml, s'il n'y figure pas déjà :

    <properties>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.source>11</maven.compiler.source>
    </properties>

La librairie Twilio nécessite au minimum Java 8, sachant que la version 11 est la plus utilisée actuellement.

Ajoutez la librairie Twilio à votre projet

Ajoutez une dépendance à la librairie Twilio en saisissant ce qui suit dans la section <dependencies> de votre pom.xml. Créez la section <dependencies> de premier niveau si elle n'est pas affichée à l'aide des lignes suivantes :

        <dependency>
            <groupId>com.twilio.sdk</groupId>
            <artifactId>twilio</artifactId>
            <version>8.27.0</version>
        </dependency>

Nous vous recommandons d'utiliser systématiquement la dernière version des librairies d'aide. Au moment de la rédaction de cet article, il s'agit de la version 8.27.0. De nouvelles versions sont publiées fréquemment. Il est toujours possible de consulter MvnRepository pour obtenir la liste des mises à jour.

Votre pom.xml devrait ressembler à cela après ces modifications.

Un peu de code Java

Créez une classe appelée AlphaSender dans src/main/java. Collez le contenu suivant :

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class AlphaSender {

    public static void main(String[] args) {

        Twilio.init(
            System.getenv("TWILIO_ACCOUNT_SID"),
            System.getenv("TWILIO_AUTH_TOKEN"));

        Message.creator(
            new PhoneNumber(System.getenv("DESTINATION_NUMBER")),
            System.getenv("MSG_SVC_SID"),
            "Hello from your Alpha sender 😊")
            .create();
    }
}

[ce code sur GitHub]

Ce code s'appuie sur 4 variables d'environnement :

  • TWILIO_ACCOUNT_SID : recherchez-la dans votre console Twilio.
  • TWILIO_AUTH_TOKEN : recherchez-la dans votre console Twilio.
  • DESTINATION_NUMBER : numéro de téléphone du destinataire. Utilisez le format E.164.
  • MSG_SVC_SID : identifiant de votre service de messagerie. Vous le trouverez sur la page de la console Twilio sur laquelle vous avez créé le service de messagerie ci-dessus.

L'utilisation de variables d'environnement permet d'éviter de coder en dur les informations sensibles, ce qui est particulièrement important si vous ajoutez ce code à un repo de contrôle de source. Pour faciliter la gestion, tirez parti des plug-ins d'IDE. Pour ma part, j'utilise le plug-in EnvFile pour IntelliJ IDEA.

Après avoir enregistré le code et configuré les variables d'environnement, vous pouvez exécuter cette classe directement dans votre IDE. Il est possible que des avertissements concernant les librairies de logging non configurées s'affichent. Vous pouvez les ignorer pour cet exemple (dans une application plus importante, il est nécessaire de configurer le logging correctement). Le téléphone que vous avez indiqué dans DESTINATION_NUMBER vibre ou émet une sonnerie. Félicitations, vous avez utilisé un expéditeur alphanumérique pour envoyer un SMS !

Conclusion

Si vous avez réussi jusqu'à présent, félicitations ! Vous savez désormais envoyer un SMS provenant d'un expéditeur alphanumérique, mais la suite dépend de vous. Je serais ravi de savoir comment vous utilisez Twilio et Java. Alors, n'hésitez pas à me faire part des projets que vous construisez ou à me poser vos questions.