As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplo de envio de uma mensagem SMS ou voz usando o AWS End User Messaging SMS.
Você pode usar a API do AWS End User Messaging SMS para enviar mensagens diretamente dos seus aplicativos. Mensagens transacionais são mensagens que você envia a destinatários específicos.
Esta seção inclui exemplos de código para enviar mensagens SMS e mensagens de voz.
Importante
Para usar um recurso compartilhado, você deve usar o nome do recurso da Amazon (ARN) completo.
Tópicos nesta seção:
Enviando uma mensagem SMS usando o AWS End User Messaging SMS.
Se você estiver usando um recurso compartilhado, deverá usar o nome do recurso da Amazon (ARN) completo do recurso. Você pode usar o exemplo de código a seguir para enviar uma mensagem SMS usando o 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()
No exemplo de código anterior, faça as seguintes alterações na função main():
-
Altere o valor de
configuration_setpara o nome ou o nome do recurso da Amazon (ARN) do conjunto de configuração que você deseja usar para enviar esta mensagem. -
Altere o valor de
context_keyspara as chaves e os valores que deseja usar ao enviar esta mensagem. Essas chaves aparecem nos registros de eventos associados a essa mensagem. -
Se você usar um ID de remetente registrado para enviar mensagens a clientes na Índia, altere o valor de
country_parameterspara corresponder ao ID da entidade registrado e ao ID do modelo que você recebeu ao registrar o ID de remetente.Importante
Se você não usa um ID de remetente registrado para enviar mensagens aos clientes na Índia, omita completamente esse parâmetro. Se você fizer isso, também deverá remover a linha correspondente na função
send_sms_message. -
Altere o valor de
destination_numberpara o número de telefone para o qual você deseja enviar a mensagem. -
Se você quiser executar essa operação sem enviar nenhuma mensagem, altere o valor de
dry_runparaTrue. -
Altere o valor de
max_pricepara a quantia máxima de dinheiro que você deseja gastar, em dólares americanos, para enviar esta mensagem a cada parte de mensagem. Uma parte de mensagem contém até 140 bytes de informação. Para obter mais informações, consulte Limites de caracteres de SMS. -
Altere o valor de
message_bodypara incluir a mensagem que deseja enviar. O tamanho máximo de uma mensagem depende dos caracteres contidos nela. Para obter mais informações sobre a codificação de caracteres do SMS, consulte Limites de caracteres de SMS. -
Altere o valor de
message_typepara representar a categoria de mensagem apropriada. Os valores válidos são TRANSACTIONAL (para mensagens de extrema importância ou urgentes) e PROMOTIONAL (para mensagens que não são de extrema importância ou urgentes). -
Altere o valor de
origination_numberpara o número de telefone que você deseja usar para enviar a mensagem. O número de telefone deve estar no formato E.164. -
Altere o valor de
ttlpara a quantidade de tempo, em segundos, que o AWS End User Messaging SMS deve tentar entregar a mensagem. Você pode definir o valor do TTL em até 259200 segundos (72 horas).
Enviando uma mensagem de voz usando o AWS End User Messaging SMS.
Você pode usar o exemplo de código a seguir para enviar uma mensagem de voz usando o 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()
No exemplo de código anterior, faça as seguintes alterações na função main():
-
Altere o valor de
configuration_setpara o nome ou o nome do recurso da Amazon (ARN) do conjunto de configuração que você deseja usar para enviar esta mensagem. -
Altere o valor de
context_keyspara as chaves e os valores que deseja usar ao enviar esta mensagem. Essas chaves aparecem nos registros de eventos associados a essa mensagem. -
Altere o valor de
destination_numberpara o número de telefone para o qual você deseja enviar a mensagem. -
Altere o valor de
max_pricepara a quantia máxima que você deseja gastar por minuto enviando essa mensagem. -
Altere o valor de
message_bodypara incluir a mensagem que deseja enviar. A mensagem pode conter até 6.000 caracteres. -
Se você quiser usar um script de texto simples em vez de um com formato SSML, altere o valor de
message_typeparaTEXT. -
Altere o valor de
origination_numberpara o número de telefone que você deseja usar para enviar a mensagem. O número de telefone deve estar no formato E.164. -
Se você quiser executar essa operação sem enviar nenhuma mensagem, altere o valor de
dry_runparaTrue. -
Altere o valor de
ttlpara a quantidade de tempo, em segundos, que o AWS End User Messaging SMS deve tentar entregar a mensagem. Você pode definir o valor do TTL em até 259200 segundos (72 horas). -
Substitua
MATTHEWpelo nome da voz do Amazon Polly que você deseja usar para enviar a mensagem. Para obter uma lista completa das vozes compatíveis, consulte SendVoiceMessage na Referência da API de SMS e voz, versão 2. Se você não especificar uma voz, sua mensagem será enviada usando a voz “MATTHEW”.