Configuration des préférences SMS de messagerie sur Amazon SNS - Amazon Simple Notification Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des préférences SMS de messagerie sur Amazon SNS

Utilisez Amazon SNS pour définir vos préférences en matière SMS de messagerie. Par exemple, vous pouvez spécifier si vous souhaitez optimiser les livraisons en termes de coût ou de fiabilité, votre limite de dépenses mensuelles, la manière dont les livraisons sont enregistrées et si vous souhaitez vous abonner aux rapports SMS d'utilisation quotidiens.

Ces préférences s'appliquent à chaque SMS message que vous envoyez depuis votre compte, mais vous pouvez annuler certaines d'entre elles lorsque vous envoyez un message individuel. Pour de plus amples informations, veuillez consulter Publier SMS des messages sur un téléphone portable à l'aide d'Amazon SNS.

Configuration des préférences SMS de messagerie à l'aide du AWS Management Console

  1. Connectez-vous à la SNSconsole Amazon.

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

  3. Sur le panneau de navigation, choisissez Mobile, puis Messagerie texte (SMS).

  4. Sur la page Messagerie texte mobile (SMS), dans la section des préférences de messagerie texte, 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 – Messages non stratégiques (par exemple, marketing). Amazon SNS optimise la livraison des messages afin de réduire au maximum les coûts.

      • Transactionnel (par défaut) – Messages stratégiques qui prennent en charge les transactions clients, comme des codes secrets uniques pour l'authentification multifacteur. Amazon SNS optimise la livraison des messages pour atteindre une fiabilité maximale.

      Pour obtenir des informations sur les tarifs des messages promotionnels et transactionnels, consultez la section SMSTarification globale.

    2. (Facultatif) Dans Limite de dépenses du compte, entrez le montant (enUSD) que vous souhaitez dépenser en SMS messages par mois calendaire.

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

      • Si le montant défini dans la console dépasse votre quota de service, Amazon SNS arrête de publier SMS des messages.

      • Amazon SNS étant un système distribué, il arrête d'envoyer SMS des messages quelques minutes après le dépassement du quota de dépenses. Pendant cet intervalle, si vous continuez à envoyer SMS des messages, vous risquez de devoir supporter des coûts supérieurs à 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

    Support pour les expéditeurs IDs varie selon les pays.

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

    Note

    La politique du compartiment S3 doit accorder un accès en écriture à AmazonSNS.

  8. Sélectionnez Enregistrer les modifications.

Configuration des préférences (AWS SDKs)

Pour définir vos SMS préférences à l'aide de l'un des AWS SDKs, utilisez l'action SDK correspondant à la SetSMSAttributes demande sur Amazon SNSAPI. Avec cette demande, vous attribuez des valeurs aux différents SMS attributs, tels que votre quota de dépenses mensuel et votre SMS type par défaut (promotionnel ou transactionnel). Pour tous les SMS attributs, voir S etSMSAttributes dans le manuel Amazon Simple Notification Service API Reference.

Les exemples de code suivants montrent comment utiliserSetSMSAttributes.

C++
SDKpour C++
Note

Il y en a plus à ce sujet 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'efaultSMSType attribut D.

//! Set the default settings for sending SMS messages. /*! \param smsType: The type of SMS message that you will send by default. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::setSMSType(const Aws::String &smsType, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::SetSMSAttributesRequest request; request.AddAttributes("DefaultSMSType", smsType); const Aws::SNS::Model::SetSMSAttributesOutcome outcome = snsClient.SetSMSAttributes( request); if (outcome.IsSuccess()) { std::cout << "SMS Type set successfully " << std::endl; } else { std::cerr << "Error while setting SMS Type: '" << outcome.GetError().GetMessage() << "'" << std::endl; } return outcome.IsSuccess(); }
  • Pour API plus de détails, voir S etSMSAttributes dans la section AWS SDK for C++ APIRéférence.

CLI
AWS CLI

Pour définir les attributs des SMS messages

L'set-sms-attributesexemple suivant définit l'ID d'expéditeur par défaut des SMS messages surMyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir S etSMSAttributes dans le manuel de référence des AWS CLI commandes.

Java
SDKpour Java 2.x
Note

Il y en a plus à ce sujet 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.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SetSmsAttributesRequest; import software.amazon.awssdk.services.sns.model.SetSmsAttributesResponse; import software.amazon.awssdk.services.sns.model.SnsException; import java.util.HashMap; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ 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) .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 API plus de détails, voir S etSMSAttributes dans la section AWS SDK for Java 2.x APIRéférence.

JavaScript
SDKpour JavaScript (v3)
Note

Il y en a plus à ce sujet 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"; // The AWS Region can be provided here using the `region` property. If you leave it blank // the SDK will default to the region set in your AWS config. export const snsClient = new SNSClient({});

Importez SDK les modules client et appelez leAPI.

import { SetSMSAttributesCommand } from "@aws-sdk/client-sns"; import { snsClient } from "../libs/snsClient.js"; /** * @param {"Transactional" | "Promotional"} defaultSmsType */ export const setSmsType = async (defaultSmsType = "Transactional") => { const response = await snsClient.send( new SetSMSAttributesCommand({ attributes: { // Promotional – (Default) Noncritical messages, such as marketing messages. // Transactional – Critical messages that support customer transactions, // such as one-time passcodes for multi-factor authentication. DefaultSMSType: defaultSmsType, }, }), ); console.log(response); // { // '$metadata': { // httpStatusCode: 200, // requestId: '1885b977-2d7e-535e-8214-e44be727e265', // extendedRequestId: undefined, // cfId: undefined, // attempts: 1, // totalRetryDelay: 0 // } // } return response; };
PHP
SDK pour PHP
Note

Il y en a plus à ce sujet 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()); }

Configuration des préférences SMS de messagerie pour une livraison spécifique au pays

Vous pouvez gérer et contrôler votre SMS trafic en envoyant des messages uniquement à des pays de destination spécifiques. Cela garantit que vos messages sont envoyés uniquement aux pays approuvés, évitant ainsi des SMS frais indésirables. Les instructions suivantes utilisent la configuration Protect d'Amazon Pinpoint pour spécifier les pays que vous souhaitez autoriser ou bloquer.

  1. Ouvrez la AWS SMS console à l'adresse https://console.aws.amazon.com/sms-voice/.

  2. Dans le volet de navigation, sous Vue d'ensemble, dans la section Démarrage rapide, choisissez Créer une configuration de protection.

  3. Sous Détails de configuration de Protect, entrez un nom convivial pour votre configuration de protection (par exemple, Allow-Only-AU).

  4. Dans les règles SMS du pays, cochez la case Région/Pays pour bloquer l'envoi de messages vers tous les pays pris en charge.

  5. Décochez les cases correspondant aux pays dans lesquels vous souhaitez envoyer des messages. Par exemple, pour autoriser les messages uniquement destinés à l'Australie, décochez la case Australie.

  6. Dans la section Protéger les associations de configuration, sous Type d'association, sélectionnez Compte par défaut. Cela garantira que la configuration AWS End User Messaging SMS Protect affecte tous les messages envoyés via AmazonSNS, Amazon Cognito et l'appel Amazon SendMessagesAPIPinpoint.

  7. Choisissez Créer une configuration de protection pour enregistrer vos paramètres.

    Le message de confirmation suivant s'affiche :

    Success Protect configuration protect-abc0123456789 has been created.
  8. Connectez-vous à la SNSconsole Amazon.

  9. Publiez un message dans l'un des pays bloqués, comme l'Inde.

    Le message ne sera pas délivré. Vous pouvez vérifier cela dans les journaux des échecs de livraison à l'aide de CloudWatch. Recherchez un groupe de journaux sns/region/AccountID/DirectPublishToPhoneNumber/Failurepour obtenir une réponse similaire à l'exemple suivant :

    { "notification": { "messageId": "bd59a509-XXXX-XXXX-82f8-fbdb8cb68217", "timestamp": "YYYY-MM-DD XX:XX:XX.XXXX“ }, "delivery": { "destination": "+91XXXXXXXXXX", "smsType": "Transactional", "providerResponse": "Cannot deliver message to the specified destination country", "dwellTimeMs": 85 }, "status": "FAILURE" }