Envoi de SMS en Kotlin : API de la bibliothèque sms-client-kotlin

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Envoi de SMS en Kotlin : API de la bibliothèque sms-client-kotlin



Les applications mobiles modernes et les solutions serveur nécessitent souvent une intégration avec des passerelles SMS pour envoyer des notifications, des confirmations ou des messages marketing. Pour le langage Kotlin, il existe une bibliothèque pratique sms-client-kotlin qui fournit une API simple et typée pour travailler avec les fournisseurs de SMS populaires. Dans cet article, nous allons détailler son architecture, ses méthodes et des exemples d'utilisation.



Qu'est-ce que sms-client-kotlin ?



La bibliothèque sms-client-kotlin est un client HTTP léger, écrit en Kotlin pur avec l'utilisation de coroutines. Elle abstrait le travail avec les API REST de différents fournisseurs de SMS (par exemple, Twilio, Vonage, SMS-Center) et fournit une interface unifiée pour l'envoi de messages. Principaux avantages :



  • Asynchrone — toutes les requêtes sont exécutées via les coroutines Kotlin.
  • Sécurité des types — typage strict des paramètres de requêtes et de réponses.
  • Modularité — prise en charge de plusieurs fournisseurs via une interface unique SmsSender.
  • Configuration facile — nombre minimal de dépendances.


Installation et connexion



Pour ajouter la bibliothèque à votre projet, utilisez Gradle. Ajoutez la dépendance dans le fichier build.gradle.kts :



dependencies {    implementation("com.github.sms-client:sms-client-kotlin:1.2.0")    implementation("io.ktor:ktor-client-core:2.3.0")    implementation("io.ktor:ktor-client-cio:2.3.0") // ou un autre moteur}


Après la synchronisation du projet, vous pouvez créer une instance du client. Exemple d'initialisation pour le fournisseur Twilio :



import sms.client.SmsClientimport sms.client.provider.twilio.TwilioConfig

fun main() { val config = TwilioConfig( accountSid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", authToken = "your_auth_token_here", fromNumber = "+1234567890" )

val client = SmsClient.create(config)}


Méthodes principales de l'API



La bibliothèque fournit plusieurs méthodes clés pour l'envoi et la gestion des SMS :



1. Envoi d'un seul message



La méthode sendSms prend le numéro du destinataire et le texte du message. Elle retourne un objet SmsResult avec des informations sur l'envoi.



suspend fun sendSingleMessage(client: SmsClient) {    val result = client.sendSms(        to = "+79876543210",        message = "Bonjour ! Ceci est un message de test depuis Kotlin."    )

when (result) { is SmsResult.Success -> println("Envoyé ! ID : ${result.messageId}") is SmsResult.Failure -> println("Erreur : ${result.errorMessage}") }}


2. Envoi par lots



Pour les envois en masse, utilisez la méthode sendBatch. Elle prend une liste de destinataires et un texte commun (ou des messages individuels).



suspend fun sendBatch(client: SmsClient) {    val recipients = listOf(        BatchRecipient("+79111111111", "Réduction de 10% sur votre première commande !"),        BatchRecipient("+79222222222", "Votre code de confirmation : 1234")    )

val batchResult = client.sendBatch(recipients) println("Envoyés avec succès : ${batchResult.successCount}, erreurs : ${batchResult.failureCount}")}


3. Vérification du statut de livraison



La méthode getDeliveryStatus permet d'obtenir le statut actuel d'un message précédemment envoyé via son identifiant.



suspend fun checkStatus(client: SmsClient, messageId: String) {    val status = client.getDeliveryStatus(messageId)    println("Statut du message $messageId : ${status.status} (${status.description})")}


Gestion des erreurs et exceptions



La bibliothèque utilise les mécanismes standard de Kotlin pour la gestion des erreurs. Toutes les erreurs réseau

Recommendations