Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplo de envío de un mensaje SMS o de voz mediante Mensajes SMS para usuarios finales de AWS
Puede utilizar la API de Mensajes SMS para usuarios finales de AWS para enviar mensajes directamente desde sus aplicaciones. Los mensajes transaccionales son mensajes que se envían a destinatarios específicos.
En esta sección se incluyen ejemplos de códigos para enviar mensajes SMS y mensajes de voz.
importante
Para usar un recurso compartido debe utilizar el nombre de recurso de Amazon (ARN) completo.
Temas de esta sección:
Envío de un mensaje SMS mediante Mensajes SMS para usuarios finales de AWS
Si utiliza un recurso compartido, debe utilizar el nombre de recurso de Amazon (ARN) completo del recurso. Puede utilizar el siguiente ejemplo de código para enviar un mensaje SMS con AWS SDK para 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()
En el ejemplo de código anterior, realice los siguientes cambios en la función main():
-
Cambie el valor de
configuration_setpor el nombre o el nombre de recurso de Amazon (ARN) del conjunto de configuración que desea utilizar para enviar este mensaje. -
Cambie el valor de
context_keyspor las claves y los valores que desea utilizar al enviar este mensaje. Estas claves aparecen en los registros de eventos asociados a este mensaje. -
Si utiliza un ID de remitente registrado para enviar mensajes a clientes en India, cambie el valor de
country_parameterspara que coincida con el ID de entidad registrado y el ID de plantilla que recibió al registrar el ID de remitente.importante
Si no utiliza un ID de remitente registrado para enviar mensajes a clientes en India, omita este parámetro por completo. Si lo hace, también debe eliminar la línea correspondiente de la función
send_sms_message. -
Cambie el valor de
destination_numberpor el número de teléfono al que desea enviar el mensaje. -
Si desea ejecutar esta operación sin enviar ningún mensaje, cambie el valor de
dry_runporTrue. -
Cambie el valor de
max_pricepor la cantidad máxima de dinero que desee gastar, en dólares estadounidenses, para enviar cada parte del mensaje de este mensaje. Una parte de mensaje contiene hasta 140 bytes de información. Para obtener más información, consulte Límites de caracteres de SMS. -
Cambie el valor de
message_bodypara incluir el mensaje que desea enviar. La longitud máxima de un mensaje depende de los caracteres que contenga. Para obtener más información acerca de la codificación de caracteres SMS, consulte Límites de caracteres de SMS. -
Cambie el valor de
message_typepara que represente la categoría de mensaje adecuada. Los valores válidos son TRANSACTIONAL (para mensajes críticos o sensibles al tiempo) y PROMOTIONAL (para mensajes que no son críticos ni sensibles al tiempo). -
Cambie el valor de
origination_numberpor el número de teléfono que desea usar para enviar el mensaje. El número de teléfono debe estar en formato E.164. -
Cambie el valor de
ttlpor el tiempo, en segundos, que Mensajes SMS para usuarios finales de AWS debe intentar entregar el mensaje. Puede establecer el valor de TTL en 259 200 segundos (72 horas).
Envío de un mensaje de voz mediante Mensajes SMS para usuarios finales de AWS
Puede utilizar el siguiente ejemplo de código para enviar un mensaje de voz con AWS SDK para 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 para 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()
En el ejemplo de código anterior, realice los siguientes cambios en la función main():
-
Cambie el valor de
configuration_setpor el nombre o el nombre de recurso de Amazon (ARN) del conjunto de configuración que desea utilizar para enviar este mensaje. -
Cambie el valor de
context_keyspor las claves y los valores que desea utilizar al enviar este mensaje. Estas claves aparecen en los registros de eventos asociados a este mensaje. -
Cambie el valor de
destination_numberpor el número de teléfono al que desea enviar el mensaje. -
Cambie el valor de
max_pricepor la cantidad máxima de dinero que desee gastar por minuto para enviar este mensaje. -
Cambie el valor de
message_bodypara incluir el mensaje que desea enviar. El mensaje puede contener hasta 6000 caracteres. -
Si desea utilizar un script de texto sin formato en lugar de uno con formato SSML, cambie el valor de
message_typeporTEXT. -
Cambie el valor de
origination_numberpor el número de teléfono que desea usar para enviar el mensaje. El número de teléfono debe estar en formato E.164. -
Si desea ejecutar esta operación sin enviar ningún mensaje, cambie el valor de
dry_runporTrue. -
Cambie el valor de
ttlpor el tiempo, en segundos, que Mensajes SMS para usuarios finales de AWS debe intentar entregar el mensaje. Puede establecer el valor de TTL en 259 200 segundos (72 horas). -
Sustituya
MATTHEWpor el nombre de la voz de Amazon Polly que desea utilizar para enviar el mensaje. Para obtener una lista completa de las voces compatibles, consulte SendVoiceMessage en la referencia de la API de SMS y voz, versión 2. Si no especifica una voz, el mensaje se envía con la voz “MATTHEW”.