Envoyer un SMS sans numéro de téléphone avec de C#, .NET et un expéditeur alphanumérique

April 05, 2022
Written by
Reviewed by

Envoyer un SMS sans numéro de téléphone avec de C#, .NET et un expéditeur alphanumérique

Vous pouvez acheter rapidement un numéro de téléphone à l'aide du réseau Super Network de Twilio, puis utiliser ce numéro pour envoyer et recevoir des SMS. Cependant, il n'est pas nécessaire de disposer de messages bidirectionnels pour toutes les applications. Par ailleurs, il existe de nombreux cas d'usage où les messages unidirectionnels sont plus adaptés - par exemple les alertes, les notifications et les vérifications. Dans ces types de scénarios, vous devriez envisager d'utiliser un expéditeur alphanumérique.

Dans ce tutoriel, nous vous expliquons comment envoyer des SMS à partir d'un expéditeur alphanumérique avec C#, .NET et Twilio Programmable SMS ; mais commençons par clarifier un point.

Qu'est-ce qu'un expéditeur alphanumérique ?

Un expéditeur alphanumérique (ou Alpha Sender) vous permet d'envoyer des SMS à partir d'un identifiant d'expéditeur composé d'un ensemble de caractères alphanumériques, au lieu d'un numéro de téléphone.

Le principal avantage lié à l'utilisation d'un expéditeur alphanumérique réside dans le fait qu'il permet d'utiliser un identifiant que vos utilisateurs reconnaîtront plus facilement qu'un numéro de téléphone. L'exemple ci-dessous montre à quoi ressemble un expéditeur alphanumérique (AUTHMSG) au lieu d'un numéro standard.

Deux screenshots de conversations SMS côte-à-côte. Le message de gauche provient d"un numéro de téléphone et celui de droite d"un identifiant d"expéditeur alphanumérique "AUTHMSG"

Vous devez connaître quelques éléments importants concernant les expéditeurs alphanumériques :

Pour consulter les autres avantages, limites et conseils, lisez l'article d'assistance concernant les expéditeurs alphanumériques pour Twilio Programmable SMS.

 

Prérequis

Vous devez disposer des éléments suivants pour suivre ce tutoriel :

Vous trouverez le code source de ce tutoriel sur GitHub  Utilisez-le en cas de problème ou signalez le problème si vous en rencontrez un.

Configuration d'un expéditeur alphanumérique dans Twilio

La méthode recommandée pour envoyer des SMS à partir d'un expéditeur alphanumérique consiste à utiliser un service de messagerie dans Twilio. Pour créer un service de messagerie, connectez-vous à la console Twilio, puis cliquez sur Explore Products (Découvrir les produits) dans le menu de navigation de gauche. Sur la page Explore Products, recherchez le produit Messaging (Messagerie) et cliquez dessus. Ensuite, dans le menu de navigation de gauche, cliquez sur Services dans le sous-menu Messaging. Sur la page Messaging Services (Services de messagerie), cliquez sur Create Messaging Service (Créer un service de messagerie) pour accéder à un assistant en plusieurs étapes.

À l'étape 1, saisissez un nom explicite dans Messaging Service friendly name (Nom convivial du service de messagerie), puis cliquez sur Create Messaging Service.

Etape 1 "Créer un service de messagerie". Cette étape contient un formulaire avec un champ obligatoire : le nom convivial. Il y a un bouton "créer un service de messagerie" pour passer à l"étape suivante.

À l'étape 2, sélectionnez l'option « Alpha Sender » (Expéditeur alphanumérique) dans la liste déroulante Sender Type (Type d'expéditeur), puis cliquez sur Continuer. Saisissez ensuite l'identifiant de votre choix dans le champ ID Alpha Sender (Expéditeur alphanumérique). Il s'agit de l'identifiant qui sera affiché dans l'application de messagerie du destinataire au lieu d'un numéro de téléphone.

Un formulaire pour ajouter l"identifiant de l"expéditeur alphanumérique aux expéditeurs du service de messagerie. Il contient un champ obligatoire : Alpha Sender ID.

Cliquez sur Add Alpha Sender (Ajouter un expéditeur alphanumérique), puis sur «  Step 3 : Set up integration » (Étape 3 : configuration de l'intégration).

L'étape 3 vous permet de configurer la gestion des messages entrants. Les expéditeurs alphanumériques ne peuvent pas recevoir de messages. Vous pouvez donc ignorer cette étape et passer directement à « Step 4: Add compliance info » (Étape 4 : ajout d'informations de conformité).

À l'étape 4, suivez la procédure indiquée pour ajouter des informations de conformité, si cela est nécessaire pour votre cas d'usage.

Enfin, cliquez sur Complete Messaging Service Setup (Terminer la configuration du service de messagerie).

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é.

Une commande cURL s'affiche, vous pouvez la copier-coller sur votre terminal. Si vous utilisez l'interface de test ou la commande cURL pour envoyer un SMS à votre numéro de téléphone, vous devez recevoir un SMS provenant votre expéditeur alphanumérique. Notez que vous ne pouvez pas y répondre.

Configuration Twilio

Vous aurez besoin de certains éléments de configuration dans Twilio pour envoyer des messages texte avec C#. Une fois dans la console Twilio, cliquez sur le lien Properties (Propriétés) sous votre service de messagerie dans le menu de navigation de gauche, puis notez votre Messaging Service SID. Vous en aurez besoin ultérieurement.

Cliquez ensuite sur le lien de votre compte en haut à gauche pour revenir à la page de démarrage de la console Twilio et notez votre Account SID  Twilio ainsi que votre Auth Token situés en bas à gauche de la page.

Les 3 champs contenant votre Account SID, votre Auth Token,  et votre numéro de téléphone Twilio.

Vous devez paramétrer cette configuration Twilio en tant que variables d'environnement car cela est nécessaire pour le projet. Ouvrez le shell de votre choix et définissez ces variables d'environnement à l'aide des commandes suivantes.

Si vous utilisez Bash ou un shell similaire :

export ToPhoneNumber=[RECIPIENT_PHONE_NUMBER]
export TwilioAccountSid=[TWILIO_ACCOUNT_SID]
export TwilioAuthToken=[TWILIO_AUTH_TOKEN]
export TwilioMessagingServiceSid=[TWILIO_MESSAGING_SERVICE_SID]

Si vous utilisez PowerShell :

$Env:ToPhoneNumber = "[RECIPIENT_PHONE_NUMBER]"
$Env:TwilioAccountSid = "[TWILIO_ACCOUNT_SID]"
$Env:TwilioAuthToken = "[TWILIO_AUTH_TOKEN]"
$Env:TwilioMessagingServiceSid = "[TWILIO_MESSAGING_SERVICE_SID]"

Si vous utilisez CMD :

set ToPhoneNumber=[RECIPIENT_PHONE_NUMBER]
set TwilioAccountSid=[TWILIO_ACCOUNT_SID]
set TwilioAuthToken=[TWILIO_AUTH_TOKEN]
set TwilioMessagingServiceSid=[TWILIO_MESSAGING_SERVICE_SID]

Dans chaque cas :

 

Envoi d'un SMS à partir d'un expéditeur alphanumérique avec C# et .NET

Une fois cette configuration terminée, passons à l'écriture du code C# et à la création d'un projet console sur l'interface de ligne de commande .NET en exécutant la commande suivante :

dotnet new console -o SendAlphaSms

Un projet console est alors créé dans un nouveau dossier nommé SendAlphaSms. Accédez au dossier SendAlphaSms en exécutant la commande suivante :

cd SendAlphaSms

Le meilleur moyen de commencer à utiliser Twilio dans .NET consiste à ajouter le SDK Twilio pour C# et .NET. Ajoutez le package Twilio NuGet à l'aide de l'interface de ligne de commande .NET :

dotnet add package Twilio

Ouvrez le projet dans l'éditeur .NET de votre choix, ainsi que le fichier Program.cs. Remplacez ensuite le code existant par ce qui suit :

using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

var toPhoneNumber = Environment.GetEnvironmentVariable("ToPhoneNumber");
var twilioAccountSid = Environment.GetEnvironmentVariable("TwilioAccountSid");
var twilioAuthToken = Environment.GetEnvironmentVariable("TwilioAuthToken");
var twilioMessagingServiceSid = Environment.GetEnvironmentVariable("TwilioMessagingServiceSid");

// authenticate with Twilio
TwilioClient.Init(twilioAccountSid, twilioAuthToken);

// send SMS using a Messaging Service
MessageResource.Create(
        to: new PhoneNumber(toPhoneNumber),
        messagingServiceSid: twilioMessagingServiceSid,
        body: "Hello from your Alpha sender 👏"
);

Le code récupère la configuration à partir des variables d'environnement, puis s'authentifie avec Twilio avant d'envoyer un SMS à l'aide de votre service de messagerie, qui utilisera votre expéditeur alphanumérique.

Testez-le en exécutant l'application sur l'interface de ligne de commande .NET :

dotnet run

Si vous avez saisi votre numéro de téléphone, vous recevrez un SMS provenant de votre expéditeur alphanumérique ! Bon travail 🎉

Étapes suivantes

Félicitations ! Vous savez désormais envoyer des SMS à partir d'un expéditeur alphanumérique avec .NET et C# ! En cas de problème, consultez le code source de ce tutoriel sur GitHub ou signalez-le sur le répertoire GitHub. Outre l'exemple de code ci-dessus, le code source contient également un exemple d'envoi de SMS à partir d'un expéditeur alphanumérique sans service de messagerie.

Nous avons hâte de voir ce que vous allez construire avec Twilio et les expéditeurs alphanumériques !

Niels Swimberghe est un ingénieur logiciel belgo-américain et un créateur de contenu technique chez Twilio. Contactez Niels sur Twitter @RealSwimburger et suivez son blog personnel sur .NET, Azure et le développement Web à l'adresse swimburger.net.