Tous les produits
Search
Centre de documentation

Short Message Service:SDK Java

Dernière mise à jour :Aug 09, 2026

Le SDK Alibaba Cloud SMS pour Java simplifie l'appel des opérations d'API SMS depuis des applications Java. Le SDK prend en charge l'envoi de messages, la gestion des signatures et des modèles, la consultation des journaux d'envoi et la gestion des qualifications.

Le SDK prend en charge l'envoi de messages, la gestion des signatures et des modèles, la consultation des journaux d'envoi et la gestion des qualifications.

Installation

Configuration requise

Installer avec Maven

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dysmsapi20180501</artifactId>
    <!-- Replace 'the-latest-version' with the latest version number: https://mvnrepository.com/artifact/com.aliyun/dysmsapi20180501 -->
  <version>the-latest-version</version>
</dependency>

Configurer l'authentification

Étape 1 : Créer un utilisateur RAM et lui accorder des permissions

Important

Votre compte racine dispose de toutes les permissions. Utilisez un utilisateur RAM pour les appels d'API et les opérations de maintenance courantes. Pour plus d'informations, consultez la rubrique Présentation.

  • Créez un utilisateur RAM : Accédez à la page Create User. Spécifiez les informations requises, sélectionnez Permanent AccessKey pour Access Configuration, puis cliquez sur OK. Enregistrez votre AccessKey pour une utilisation ultérieure.

  • Accordez des permissions à l'utilisateur RAM : Accédez à la page Users. Recherchez l'utilisateur RAM que vous avez créé et cliquez sur Attach Policy dans la colonne Actions. Dans la zone de recherche Policy, saisissez AliyunDysmsFullAccess, sélectionnez la politique, puis cliquez sur OK.

Remarque
  • AliyunDysmsFullAccess: Accorde toutes les permissions de gestion du service SMS.

  • AliyunDysmsReadOnlyAccess : Accorde des permissions en lecture seule pour accéder au service SMS.

  • Pour créer une politique personnalisée, consultez la rubrique Autorisation RAM.

Étape 2 : Configurer les identifiants d'accès

Stockez votre paire AccessKey dans des variables d'environnement. Consultez la rubrique Configurer les variables d'environnement sous Linux, macOS et Windows.

Remarque
  • N'intégrez pas vos identifiants AccessKey en dur dans le code. Récupérez-les à partir des variables d'environnement.

  • L'exemple de code utilise les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Bonnes pratiques de sécurité

  • Stockez les identifiants à l'aide de variables d'environnement ou d'un service de gestion des clés.

  • Faites pivoter régulièrement votre paire AccessKey.

  • Appliquez le principe du moindre privilège en accordant aux utilisateurs RAM uniquement les permissions minimales requises.

  • N'imprimez pas les informations d'identification dans les journaux.

  • Utilisez un rôle RAM plutôt que les identifiants de votre compte racine dans les environnements de production.

Démarrage rapide

Exemple de code

Cet exemple appelle l'API SMS pour envoyer un message. Remplacez les valeurs d'espace réservé comme indiqué dans les commentaires.

package com.aliyun.sample;

import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dysmsapi20180501.Client;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeRequest;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeResponse;
import static com.aliyun.teautil.Common.toJSONString;

public class Sample {
    public static Client createClient() throws Exception {
        Config config = new Config()
                // Configure your AccessKey ID. Make sure the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Configure your AccessKey secret. Make sure the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

        // Configure the endpoint.
        config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        // Initialize the request client.
        Client client = Sample.createClient();

        // Create a request object and specify the parameter values.
        SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest()
                .setTo("<YOUR_VALUE>")
                .setMessage("<YOUR_VALUE>");

        // Obtain the response object.
        SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest);

        // The response includes the body and headers from the server.
        System.out.println(toJSONString(sendSmsResponse));
    }
}

Télécharger l'exemple de code

Téléchargez et exécutez directement l'exemple de code.

  1. Accédez à SendMessageToGlobe.

  2. Dans l'onglet Parameters, spécifiez les paramètres requis. Exemples de valeurs :

  • To: 88691567****

  • Message: This is a test message.

  1. Dans l'onglet SDK Sample Code situé à droite, sélectionnez V2.0 pour la version du SDK et Java pour la langue (Java ou Java asynchrone). Cliquez sur Download Project pour télécharger l'exemple de code.

  2. Extrayez le package, ouvrez le projet dans votre IDE, attendez le chargement des dépendances, puis ouvrez le fichier src/main/java/com/aliyun/sample/Sample.java.

Exécuter le projet

Exécutez le projet. Exemple de réponse :

{
  "headers": {
    "date": "Tue, 24 Oct 2023 07:47:17 GMT",
    "content-type": "application/json;charset=utf-8",
    "content-length": "263",
    "connection": "keep-alive",
    "keep-alive": "timeout=25",
    "access-control-allow-origin": "*",
    "access-control-expose-headers": "*",
    "x-acs-request-id": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
    "x-acs-trace-id": "29c11fe4c778b74774d5f5602f0e7975",
    "etag": "2a+mcDRTDkXqx9VF7b6U57Q3"
  },
  "statusCode": 200,
  "body": {
    "ResponseCode": "OK",
    "NumberDetail": {
    "Region": "Taiwan",
    "Country": "Taiwan, Province of China",
    "Carrier": "FarEasTone"
  },
    "RequestId": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
    "Segments": "1",
    "ResponseDescription": "OK",
    "To": "88691567****",
    "MessageId": "191921698133637273"
  }
}

Bonnes pratiques

Optimisation des performances

  • Réutilisez les connexions HTTP à l'aide d'un pool de connexions pour réduire la surcharge.

  • Utilisez des appels asynchrones pour les scénarios à haute fréquence.

  • Définissez des délais d'expiration pour éviter de bloquer votre service.

  • Utilisez le traitement par lot intégré pour les opérations groupées.

Recommandations de sécurité

  • Utilisez toujours HTTPS pour communiquer avec l'API.

  • Ne consignez pas les données sensibles telles que les numéros de mobile ou les codes de vérification.

  • Validez les numéros de mobile saisis par l'utilisateur pour empêcher toute entrée malveillante.

  • Privilégiez les identifiants temporaires fournis par le service Alibaba Cloud Security Token Service (STS) plutôt que les identifiants à long terme.

Gestion des ressources

  • Fermez les connexions client inutilisées.

  • Dimensionnez votre pool de threads en fonction de la concurrence attendue.

  • Surveillez la fréquence des appels API pour éviter de dépasser les limites QPS.

Références