Définition des préférences de messagerie SMS - Amazon Simple Notification Service

Définition des préférences de messagerie SMS

Utilisez Amazon SNS pour spécifier des préférences pour la messagerie SMS. Par exemple, vous pouvez spécifier si vous souhaitez optimiser les distributions à des fins de coût ou de fiabilité, votre limite de dépenses mensuelles, comment les distributions sont consignées et si vous souhaitez vous abonner à des rapports d'utilisation quotidiens des SMS.

Ces préférences prennent effet pour chaque SMS que vous envoyez depuis votre compte, mais vous pouvez en remplacer certaines lorsque vous envoyez un message individuel. Pour plus d'informations, consultez Publication sur un téléphone mobile.

Définition des préférences SMS à l'aide de AWS Management Console

  1. Connectez-vous à la console Amazon SNS.

  2. Choisissez une région qui prend en charge les SMS.

  3. Dans le panneau de navigation, choisissez Mobile, SMS.

  4. Sur la pageSMS mobile, dans la section Préférences de SMS, choisissez Modifier.

  5. Sur la page Modifier les préférences SMS, dans la section Détails, procédez comme suit :

    1. Pour Type de message par défaut, sélectionnez l'une des options suivantes :

      • Promotionnel (Par défaut) – Messages non stratégiques (par exemple, marketing). Amazon SNS optimise la distribution de messages pour générer le coût le plus bas.

      • Transactional – Messages stratégiques qui prennent en charge les transactions clients, comme des codes secrets uniques pour l'authentification multifacteur. Amazon SNS optimise la distribution de messages pour obtenir la meilleure fiabilité possible.

      Pour la tarification des messages promotionnels et transactionnels, consultez la page Tarifs SMS internationaux.

    2. Dans le champ Limite de dépense du compte, saisissez le montant maximal (en USD) que vous voulez dépenser pour les SMS par mois calendaire.

      Important
      • Par défaut, le quota de dépenses est définie sur 1,00 USD. Si vous souhaitez augmenter le quota de service, soumettez une demande.

      • Si le montant défini dans la console dépasse le quota de votre service, Amazon SNS cesse la publication de SMS.

      • Amazon SNS étant un système distribué, il cesse d'envoyer des SMS quelques minutes après le dépassement du quota de dépense. Si vous continuez à envoyer des SMS au cours de cet intervalle, vous risquez de devoir payer des coûts au-delà de votre quota.

  6. (Facultatif) Pour ID de l'expéditeur par défaut, entrez un ID personnalisé, par exemple votre marque, qui s'affichera en tant qu'expéditeur de l'appareil de réception.

    Note

    La prise en charge des ID expéditeur varie selon les pays.

  7. (Facultatif) Saisissez le nom du compartiment Amazon S3 pour les rapports d'utilisation.

    Note

    La politique de compartiment S3 doit accorder l'accès en écriture à Amazon SNS.

  8. Choisissez Enregistrer les modifications.

Définition des préférences (kits SDK AWS)

Pour définir vos préférences SMS à l'aide de l'un des kits SDK AWS, utilisez l'action de ce kit SDK qui correspond à la demande SetSMSAttributes dans l'API Amazon SNS. Cette demande vous permet d'affecter des valeurs aux différents attributs SMS, tels que votre quota de dépenses mensuelles et votre type de SMS par défaut (promotionnel ou transactionnel). Pour tous les attributs SMS, consultez SetSMSAttributes dans la Référence de l'API Amazon Simple Notification Service.

Les exemples de code suivants montrent comment définir les paramètres par défaut pour l'envoi de messages SMS à l'aide d'Amazon SNS.

C++
Kit SDK pour C++
Note

Voir cet exemple sur GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

Comment utiliser Amazon SNS pour définir l’attribut DefaultSMSType.

Aws::SDKOptions options; Aws::InitAPI(options); { Aws::SNS::SNSClient sns; Aws::String sms_type = argv[1]; Aws::SNS::Model::SetSMSAttributesRequest ssmst_req; ssmst_req.AddAttributes("DefaultSMSType", sms_type); auto ssmst_out = sns.SetSMSAttributes(ssmst_req); if (ssmst_out.IsSuccess()) { std::cout << "SMS Type set successfully " << std::endl; } else { std::cout << "Error while setting SMS Type: '" << ssmst_out.GetError().GetMessage() << "'" << std::endl; } } Aws::ShutdownAPI(options);
  • Pour de plus amples informations sur l’API, consultez SetSMSAttributes dans AWS SDK for C++ Référence de l’API.

Java
Kit SDK pour Java 2.x
Note

Il y en a plus sur GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

public class SetSMSAttributes { public static void main(String[] args) { HashMap<String, String> attributes = new HashMap<>(1); attributes.put("DefaultSMSType", "Transactional"); attributes.put("UsageReportS3Bucket", "janbucket" ); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); setSNSAttributes(snsClient, attributes); snsClient.close(); } public static void setSNSAttributes( SnsClient snsClient, HashMap<String, String> attributes) { try { SetSmsAttributesRequest request = SetSmsAttributesRequest.builder() .attributes(attributes) .build(); SetSmsAttributesResponse result = snsClient.setSMSAttributes(request); System.out.println("Set default Attributes to " + attributes + ". Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
  • Pour de plus amples informations sur l’API, consultez SetSMSAttributes dans AWS SDK for Java 2.x Référence de l’API.

JavaScript
Kit SDK pour JavaScript V3
Note

Il y en a plus sur GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

Créez le client dans un module séparé et exportez-le.

import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };

Importez le kit SDK et les modules client et appelez l’API.

// Import required AWS SDK clients and commands for Node.js import {SetSMSAttributesCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { attributes: { /* required */ DefaultSMSType: "Transactional" /* highest reliability */, //'DefaultSMSType': 'Promotional' /* lowest cost */ }, }; const run = async () => { try { const data = await snsClient.send(new SetSMSAttributesCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();
PHP
Kit SDK pour PHP
Note

Il y en a plus sur GitHub. Trouvez l'exemple complet et découvrez comment le configurer et l'exécuter dans le référentiel d'exemples de code AWS.

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->SetSMSAttributes([ 'attributes' => [ 'DefaultSMSType' => 'Transactional', ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }