Envoi de SMS en Java : Comment utiliser les bibliothèques API pour l'envoi de messages
L'envoi de messages SMS est une fonctionnalité très demandée dans les applications web modernes, les systèmes d'authentification (2FA), les notifications et les campagnes marketing. En Java, des bibliothèques spécialisées sont utilisées pour interagir avec les API cloud des fournisseurs. Dans cet article, nous examinerons deux des bibliothèques les plus populaires : Twilio et Vonage (anciennement Nexmo). Vous apprendrez à les connecter, à envoyer votre premier SMS et à gérer les erreurs potentielles.
1. Pourquoi une bibliothèque dédiée pour les SMS ?
Travailler avec les SMS directement via des requêtes HTTP est possible, mais peu pratique. Les bibliothèques offrent :
- Des classes prêtes à l'emploi pour créer et envoyer des messages.
- La gestion des erreurs et les tentatives de reprise en cas de problèmes réseau.
- Un travail sécurisé avec les clés API et les jetons.
- La prise en charge de fonctionnalités supplémentaires (statuts de livraison, réception de SMS entrants).
2. Bibliothèque Twilio pour Java
Twilio est l'un des leaders du marché. Son SDK Java (Software Development Kit) est facile à apprendre et dispose d'une excellente documentation.
2.1 Ajout de la dépendance (Maven)
Ajoutez le bloc suivant dans pom.xml :
<dependency> <groupId>com.twilio.sdk</groupId> <artifactId>twilio</artifactId> <version>9.14.1</version> <!-- Vérifiez la version actuelle --></dependency>2.2 Envoi de SMS via Twilio
Exemple de code pour envoyer un message. Assurez-vous d'avoir votre Account SID et votre Auth Token depuis la console Twilio, ainsi qu'un numéro de téléphone acheté.
import com.twilio.Twilio;import com.twilio.rest.api.v2010.account.Message;import com.twilio.type.PhoneNumber;
public class SmsSender { // Définissez vos identifiants public static final String ACCOUNT_SID = "VOTRE_ACCOUNT_SID"; public static final String AUTH_TOKEN = "VOTRE_AUTH_TOKEN";
public static void main(String[] args) { Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
Message message = Message.creator( new PhoneNumber("+71234567890"), // Numéro du destinataire new PhoneNumber("+19876543210"), // Votre numéro Twilio "Bonjour de Java et Twilio !" ).create();
System.out.println("SMS envoyé. SID : " + message.getSid()); }}Important : Les numéros de téléphone doivent être au format international (commençant par +).
3. Bibliothèque Vonage (Nexmo) pour Java
L'API SMS de Vonage est un autre choix populaire. Sa bibliothèque s'appelle nexmo-java ou vonage-java-sdk.
3.1 Ajout de la dépendance (Gradle)
implementation 'com.vonage:client:7.3.0'Pour Maven :
<dependency> <groupId>com.vonage</groupId> <artifactId>client</artifactId> <version>7.3.0</version></dependency>3.2 Envoi de SMS via Vonage
import com.vonage.client.VonageClient;import com.vonage.client.sms.MessageStatus;import com.vonage.client.sms.SmsSubmissionResponse;import com.vonage.client.sms.messages.TextMessage;
public class VonageSms { public static void main(String[] args) { VonageClient client = VonageClient.builder() .apiKey("VOTRE_API_KEY") .apiSecret("VOTRE_API_SECRET") .build();
TextMessage message = new TextMessage( "VonageAPI", // Expéditeur (jusqu'à 11 caractères) "+71234567890", // Destinataire "Message test de Java et Vonage !" );
SmsSubmissionResponse response = clien Aussi dans la bibliothèque
Mise en cache en PHP : Redis, Memcached, APCu et mise en cache de fichiers
Travailler avec S3 et les stockages cloud en Go : la bibliothèque minio-go
WorkManager pour Kotlin : guide complet avec exemples
ORM pour PHP : comparaison de Doctrine, Eloquent et Cycle — exemples de code
Travailler avec Excel en PHP : bibliothèques PhpSpreadsheet, PhpOffice et génération XLSX