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.
Vous pouvez utiliser l'API de messagerie SMS pour l'utilisateur AWS final pour envoyer des messages directement depuis vos applications. Les messages transactionnels sont des messages que vous envoyez à des destinataires spécifiques.
Cette section contient des exemples de code pour l'envoi de SMS et de messages vocaux.
Important
Pour utiliser une ressource partagée, vous devez utiliser le nom complet de la ressource Amazon (ARN).
Rubriques de cette section :
Envoi d'un message SMS à l'aide de la messagerie SMS à l'utilisateur AWS final
Si vous utilisez une ressource partagée, vous devez utiliser le nom Amazon Resource Name (ARN) complet de la ressource. Vous pouvez utiliser l'exemple de code suivant pour envoyer un SMS à l'aide de AWS SDK pour Python (Boto3).
import boto3
from botocore.exceptions import ClientError
def send_sms_message(sms_voice_v2_client, configuration_set, context_keys,
country_parameters, destination_number, dry_run, keyword,
max_price, message_body, message_type, origination_number,
ttl):
try:
response = sms_voice_v2_client.send_text_message(
ConfigurationSetName=configuration_set,
Context=context_keys,
DestinationCountryParameters=country_parameters,
DestinationPhoneNumber=destination_number,
DryRun=dry_run,
Keyword=keyword,
MaxPrice=max_price,
MessageBody=message_body,
MessageType=message_type,
OriginationIdentity=origination_number,
TimeToLive=ttl
)
except ClientError as e:
print(e.response)
else:
return response['MessageId']
def main():
configuration_set = "MyConfigurationSet"
context_keys = {"key1": "value1"}
country_parameters = {
"IN_TEMPLATE_ID": "TEMPLATE01234",
"IN_ENTITY_ID": "ENTITY98765"
}
destination_number = "+14255550168"
dry_run = False
keyword = "MyKeyword"
max_price = "2.00"
message_body = ("This is a test message sent from AWS End User Messaging SMS "
"using the AWS SDK for Python (Boto3). ")
message_type = "TRANSACTIONAL"
origination_number = "+12065550183"
ttl = 120
print(
f"Sending text message to {destination_number}.")
message_id = send_sms_message(
boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys,
country_parameters, destination_number, dry_run, keyword, max_price,
message_body, message_type, origination_number, ttl)
print(f"Message sent!\nMessage ID: {message_id}")
if __name__ == '__main__':
main()
Dans l'exemple de code précédent, apportez les modifications suivantes à la fonction main()
:
-
Remplacez la valeur de
configuration_set
par le nom ou Amazon Resource Name (ARN) du jeu de configuration que vous souhaitez utiliser pour envoyer ce message. -
Remplacez la valeur de
context_keys
par les clés et valeurs que vous souhaitez utiliser lors de l'envoi de ce message. Ces clés apparaissent dans les enregistrements d'événements associés à ce message. -
Si vous utilisez un ID d'expéditeur enregistré pour envoyer des messages à des clients en Inde, modifiez la valeur de
country_parameters
pour qu'elle corresponde à l'ID d'entité enregistré et à l'ID de modèle que vous avez reçus lors de l'enregistrement de votre ID d'expéditeur.Important
Si vous n'utilisez pas d'ID d'expéditeur enregistré pour envoyer des messages à des clients en Inde, omettez complètement ce paramètre. Dans ce cas, vous devez également supprimer la ligne correspondante dans la fonction
send_sms_message
. -
Remplacez la valeur de
destination_number
par le numéro de téléphone auquel vous souhaitez envoyer le message. -
Si vous souhaitez exécuter cette opération sans envoyer de message, modifiez la valeur de
dry_run
enTrue
. -
Modifiez la valeur de
max_price
au montant maximum que vous souhaitez dépenser, en dollars américains, pour envoyer chaque message faisant partie de ce message. Une partie de message contient jusqu'à 140 octets d'information. Pour de plus amples informations, veuillez consulter Limites de caractères des SMS. -
Modifiez la valeur de
message_body
pour inclure le message que vous souhaitez envoyer. La longueur maximale d'un message dépend des caractères qu'il contient. Pour plus d’informations sur l’encodage de caractères SMS, consultez Limites de caractères des SMS. -
Modifiez la valeur de
message_type
pour représenter la catégorie de message appropriée. Les valeurs valides sont TRANSACTIONAL (pour les messages qui sont critiques ou sensibles au facteur temps) et PROMOTIONAL (pour les messages qui ne sont pas critiques ou sensibles au facteur temps). -
Remplacez la valeur de
origination_number
par le numéro de téléphone que vous souhaitez utiliser pour envoyer le message. Le numéro de téléphone doit être au format E.164. -
Remplacez la valeur
ttl
de par la durée, en secondes, pendant laquelle le SMS de l'utilisateur AWS final doit tenter de délivrer le message. Vous pouvez définir la valeur TTL jusqu'à 259 200 secondes (72 heures).
Envoi d'un message vocal par SMS AWS à l'utilisateur final
Vous pouvez utiliser l'exemple de code suivant pour envoyer un message vocal à l'aide de AWS SDK pour Python (Boto3).
import boto3
from botocore.exceptions import ClientError
def send_voice_message(sms_voice_v2_client, configuration_set, context_keys,
destination_number, dry_run, max_price, message_body,
message_type, origination_number, ttl, voice_id):
try:
response = sms_voice_v2_client.send_voice_message(
ConfigurationSetName=configuration_set,
Context=context_keys,
DestinationPhoneNumber=destination_number,
DryRun=dry_run,
MaxPricePerMinute=max_price,
MessageBody=message_body,
MessageBodyTextType=message_type,
OriginationIdentity=origination_number,
TimeToLive=ttl,
VoiceId=voice_id
)
except ClientError as e:
print(e.response)
else:
return response['MessageId']
def main():
configuration_set = "MyConfigurationSet"
context_keys = {"key1":"value1"}
destination_number = "+12065550123"
dry_run = False
max_price = "2.00"
message_body = (
"<speak>"
"This is a test message sent from <emphasis>AWS End User Messaging SMS</emphasis>"
"using the <break strength='weak'/> AWS SDK pour Python (Boto3). "
"<amazon:effect phonation='soft'>Thank you for listening."
"</amazon:effect>"
"</speak>")
message_type = "SSML"
origination_number = "+18445550142"
ttl = 120
voice_id = "MATTHEW"
print(
f"Sending voice message with AWS End User Messaging SMS from {origination_number} to {destination_number}.")
message_id = send_voice_message(
boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys,
destination_number, dry_run, max_price, message_body, message_type,
origination_number, ttl, voice_id)
print(f"Message sent!\nMessage ID: {message_id}")
if __name__ == '__main__':
main()
Dans l'exemple de code précédent, apportez les modifications suivantes à la fonction main()
:
-
Remplacez la valeur de
configuration_set
par le nom ou Amazon Resource Name (ARN) du jeu de configuration que vous souhaitez utiliser pour envoyer ce message. -
Remplacez la valeur de
context_keys
par les clés et valeurs que vous souhaitez utiliser lors de l'envoi de ce message. Ces clés apparaissent dans les enregistrements d'événements associés à ce message. -
Remplacez la valeur de
destination_number
par le numéro de téléphone auquel vous souhaitez envoyer le message. -
Modifiez la valeur de
max_price
par le montant maximum que vous souhaitez dépenser par minute pour envoyer ce message. -
Modifiez la valeur de
message_body
pour inclure le message que vous souhaitez envoyer. Le corps de votre message peut contenir jusqu'à 6 000 caractères. -
Si vous souhaitez utiliser un script en texte brut plutôt qu'un script au format SSML, modifiez la valeur de
message_type
enTEXT
. -
Remplacez la valeur de
origination_number
par le numéro de téléphone que vous souhaitez utiliser pour envoyer le message. Le numéro de téléphone doit être au format E.164. -
Si vous souhaitez exécuter cette opération sans envoyer de message, modifiez la valeur de
dry_run
enTrue
. -
Remplacez la valeur
ttl
de par la durée, en secondes, pendant laquelle le SMS de l'utilisateur AWS final doit tenter de délivrer le message. Vous pouvez définir la valeur TTL jusqu'à 259 200 secondes (72 heures). -
Remplacez
MATTHEW
par le nom de la voix Amazon Polly que vous souhaitez utiliser pour envoyer le message. Pour obtenir la liste complète des voix prises en charge, consultez SendVoiceMessagele manuel de référence de l'API SMS and Voice, version 2. Si vous ne spécifiez pas de voix, votre message est envoyé en utilisant la voix « MATTHEW ».