View a markdown version of this page

Envoyer des messages avec Notify - AWS Messagerie SMS à l'utilisateur final

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.

Envoyer des messages avec Notify

Notify en propose deux APIs pour l'envoi de messages :

  • SendNotifyTextMessage— Envoie un message SMS à l'aide d'un modèle préapprouvé.

  • SendNotifyVoiceMessage— Envoie un appel vocal qui lit le contenu du modèle à l'aide de text-to-speech.

Envoi d’un SMS

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

  2. Accédez à une configuration Notify et choisissez l'onglet Test.

  3. Pour le canal, sélectionnez Texte.

  4. Sélectionnez un modèle dans le tableau des modèles.

  5. Entrez le numéro de téléphone de destination au format E.164.

  6. Renseignez les variables du modèle.

  7. Sélectionnez Send (Envoyer).

AWS CLI
aws pinpoint-sms-voice-v2 send-notify-text-message \ --notify-configuration-id nc-1234567890abcdef0 \ --destination-phone-number +12065550100 \ --template-id notify-code-verification-english-001 \ --template-variables '{"code":"123456"}'
Python (boto3)
import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_notify_text_message( NotifyConfigurationId='nc-1234567890abcdef0', DestinationPhoneNumber='+12065550100', TemplateId='notify-code-verification-english-001', TemplateVariables={ 'code': '123456' } ) print(f"Message sent. MessageId: {response['MessageId']}") print(f"Resolved body: {response.get('ResolvedMessageBody')}")

Envoi d'un message vocal

Les messages vocaux nécessitent que le VOICE canal soit activé dans votre configuration Notify.

Astuce

Pour les messages vocaux, séparez les chiffres par des points ou des espaces (par exemple,"1. 2. 3. 4. 5. 6.") afin que le text-to-speech moteur lise chaque chiffre individuellement plutôt que sous la forme d'un seul chiffre.

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

  2. Accédez à une configuration Notify et choisissez l'onglet Test.

  3. Pour le canal, sélectionnez Voice.

  4. Sélectionnez un modèle vocal dans le tableau des modèles.

  5. Entrez le numéro de téléphone de destination et renseignez les variables du modèle.

  6. Sélectionnez Send (Envoyer).

AWS CLI
aws pinpoint-sms-voice-v2 send-notify-voice-message \ --notify-configuration-id nc-1234567890abcdef0 \ --destination-phone-number +12065550100 \ --template-id notify-code-verification-english-001 \ --template-variables '{"code":"123456"}' \ --voice-id JOANNA

DryRun Mode d'utilisation

Définissez DryRun ce paramètre true sur pour valider une demande d'envoi sans réellement délivrer le message. DryRun le mode vérifie la validation des variables du modèle, les restrictions nationales et les limites de dépenses, mais n'envoie pas le message ni ne déduit de votre limite de dépenses.

aws pinpoint-sms-voice-v2 send-notify-text-message \ --notify-configuration-id nc-1234567890abcdef0 \ --destination-phone-number +12065550100 \ --template-id notify-code-verification-english-001 \ --template-variables '{"code":"123456"}' \ --dry-run

Paramètres de demande d'envoi

Les deux SendNotifyTextMessage et SendNotifyVoiceMessage acceptez les paramètres suivants :

NotifyConfigurationId (obligatoire)

L'ID ou l'ARN de la configuration Notify.

DestinationPhoneNumber (obligatoire)

Le numéro de téléphone du destinataire au format E.164.

TemplateVariables (obligatoire)

Une carte entre les noms de variables et les valeurs. Toutes les valeurs sont des chaînes, même pour les variables entières ou booléennes.

TemplateId

Le modèle à utiliser. En cas d'omission, le modèle par défaut de la configuration est utilisé.

ConfigurationSetName

Un ensemble de configuration pour le routage des événements.

Contexte

Paires clé-valeur incluses dans les enregistrements d'événements.

DryRun

Valide la demande sans l'envoyer.

TimeToLive

Durée de validité du message, en secondes. La valeur par défaut est de 72 heures.

MessageFeedbackEnabled

Active le suivi des commentaires via l'PutMessageFeedbackAPI.

VoiceId (voix uniquement)

La voix Amazon Polly à utiliser (par exemple,JOANNA,MATTHEW).

Comment fonctionne le routage des messages

AWS sélectionne automatiquement la meilleure identité d'origine pour chaque message en fonction du pays de destination. Si vous avez associé un pool téléphonique à votre configuration Notify, les identités appartenant au client dans le pool sont d'abord essayées. Si aucune identité appropriée appartenant au client n'est disponible, les identités AWS gérées sont utilisées comme solution de secours.

Commentaire de message

Si vous l'activez MessageFeedbackEnabled lors de l'envoi d'un message, vous pouvez indiquer si l'utilisateur final a bien reçu et utilisé le code :

client.put_message_feedback( MessageId='msg-1234567890abcdef', MessageFeedbackStatus='RECEIVED' # or 'FAILED' )

Événements de livraison

Notify émet des événements de livraison vers les destinations d'événements que vous avez CloudWatch configurées (Amazon Data Firehose ou Amazon SNS). Pour plus d'informations sur la configuration des destinations des événements, consultezEnsembles de configuration dans les SMS de messagerie destinés aux utilisateurs AWS finaux.

Types d'événements de livraison
Événement Description
PENDING Le message est en attente de livraison.
DELIVERED Le message a été envoyé à l'appareil du destinataire.
FAILED La livraison du message a échoué. Vérifiez la raison de l'échec pour plus de détails.
BLOCKED Le message a été bloqué par les règles de configuration de Protect.

Gestion des erreurs

ValidationException

Variables de modèle manquantes ou non valides, format de numéro de téléphone non valide ou pays de destination non activé dans la configuration.

ResourceNotFoundException

La configuration ou le modèle de notification est introuvable.

ServiceQuotaExceededException

Limite quotidienne de messages (niveau de base) ou limite de dépenses mensuelles atteinte.

ConflictException

La configuration Notify n'est pas en ACTIVE état.

Remarques importantes

  • Messagerie bidirectionnelle — La messagerie bidirectionnelle n'est pas prise en charge lors de l'utilisation d'identités d' AWS origine gérées. Si vous avez besoin d'une messagerie bidirectionnelle, associez votre propre pool téléphonique. Consultez Utiliser des numéros dédiés avec Notify.

  • Comportement de désinscription — Pour les cas d'utilisation OTP avec des identités AWS gérées, les réponses au mot clé STOP sont fournies à titre informatif uniquement. Aucune liste de désinscription permanente n'est maintenue car chaque demande OTP est un opt-in implicite. Si vous associez votre propre pool téléphonique, la liste de désinscription du pool est respectée.

Résolution des problèmes

Les messages ne sont pas livrés

Si vos messages ne sont pas remis, vérifiez les points suivants :

  1. Vérifiez que le numéro de téléphone de destination est au format E.164 (commence + par le code du pays).

  2. Vérifiez que le pays de destination figure dans votre EnabledCountries liste.

  3. Vérifiez que l'état de votre configuration estACTIVE.

  4. Vérifiez que votre limite de dépenses n'a pas été dépassée.

État BLOQUÉ

Le message a été bloqué par une configuration Protect. Les raisons les plus courantes incluent le fait que le pays de destination ne figure pas dans votre liste de pays activés ou que le message est marqué comme potentiel AIT (trafic artificiellement gonflé).

Erreurs de validation

Assurez-vous que tout ce TemplateVariables qui est requis est fourni. Vérifiez que les valeurs des variables correspondent à leurs types déclarés (par exemple, les entiers sont des nombres valides). Vérifiez que l'ID du modèle existe et qu'il est actif.