View a markdown version of this page

Enviando mensagens com o Notify - AWS SMS de mensagens para o usuário final

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á.

Enviando mensagens com o Notify

O Notify fornece dois APIs para enviar mensagens:

  • SendNotifyTextMessage— Envia uma mensagem SMS usando um modelo pré-aprovado.

  • SendNotifyVoiceMessage— Envia uma chamada de voz que lê o conteúdo do modelo usando text-to-speech.

Enviar uma mensagem SMS

Console
  1. Abra o console SMS do AWS End User Messaging em https://console.aws.amazon.com/sms-voice/.

  2. Navegue até a configuração Notificar e escolha a guia Teste.

  3. Para canal, selecione Texto.

  4. Selecione um modelo na tabela de modelos.

  5. Insira o número de telefone de destino no formato E.164.

  6. Preencha as variáveis do modelo.

  7. Selecione Enviar.

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')}")

Enviar uma mensagem de voz

As mensagens de voz exigem que o VOICE canal esteja ativado na configuração do Notify.

dica

Para mensagens de voz, separe dígitos com pontos ou espaços (por exemplo,"1. 2. 3. 4. 5. 6.") para que o text-to-speech mecanismo leia cada dígito individualmente em vez de como um único número.

Console
  1. Abra o console SMS do AWS End User Messaging em https://console.aws.amazon.com/sms-voice/.

  2. Navegue até a configuração Notificar e escolha a guia Teste.

  3. Para canal, selecione Voz.

  4. Selecione um modelo de voz na tabela de modelos.

  5. Insira o número de telefone de destino e preencha as variáveis do modelo.

  6. Selecione Enviar.

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 Modo de uso

DryRunDefina como true para validar uma solicitação de envio sem realmente entregar a mensagem. DryRun O modo verifica a validação da variável do modelo, as restrições de país e os limites de gastos, mas não envia a mensagem nem deduz do seu limite de gastos.

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

Parâmetros de solicitação de envio

Ambos SendNotifyTextMessage e SendNotifyVoiceMessage aceite os seguintes parâmetros:

NotifyConfigurationId (obrigatório)

O ID ou ARN da configuração do Notify.

DestinationPhoneNumber (obrigatório)

O número de telefone do destinatário no formato E.164.

TemplateVariables (obrigatório)

Um mapa de nomes de variáveis para valores. Todos os valores são cadeias de caracteres, mesmo para variáveis inteiras ou booleanas.

TemplateId

O modelo a ser usado. Se omitido, o modelo padrão da configuração será usado.

ConfigurationSetName

Um conjunto de configurações para roteamento de eventos.

Contexto

Pares de valores-chave incluídos nos registros de eventos.

DryRun

Valida a solicitação sem enviar.

TimeToLive

Por quanto tempo a mensagem é válida, em segundos. O padrão é 72 horas.

MessageFeedbackEnabled

Permite o rastreamento de feedback de mensagens por meio da PutMessageFeedback API.

VoiceId (somente voz)

A voz do Amazon Polly a ser usada (por exemplo,JOANNA,MATTHEW).

Como funciona o roteamento de mensagens

AWS seleciona automaticamente a melhor identidade de origem para cada mensagem com base no país de destino. Se você associou um pool telefônico à sua configuração do Notify, as identidades de propriedade do cliente no pool serão testadas primeiro. Se nenhuma identidade adequada de propriedade do cliente estiver disponível, as identidades AWS gerenciadas serão usadas como alternativa.

Feedback de mensagens

Se você ativar MessageFeedbackEnabled ao enviar uma mensagem, poderá relatar se o usuário final recebeu e usou o código com sucesso:

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

Eventos de entrega

Notifique os eventos de entrega de emissões para seus destinos de eventos CloudWatch configurados (Amazon Data Firehose ou Amazon SNS). Para obter informações sobre como configurar destinos de eventos, consulteConjuntos de configurações no AWS End User Messaging SMS.

Tipos de eventos de entrega
Event Description
PENDING A mensagem está na fila para entrega.
DELIVERED A mensagem foi entregue no dispositivo do destinatário.
FAILED Falha na entrega da mensagem. Verifique o motivo da falha para obter detalhes.
BLOCKED A mensagem foi bloqueada pelas regras de configuração do Protect.

Tratamento de erros

ValidationException

Variáveis de modelo ausentes ou inválidas, formato de número de telefone inválido ou país de destino não ativado na configuração.

ResourceNotFoundException

A configuração ou o modelo do Notify não foram encontrados.

ServiceQuotaExceededException

Limite diário de mensagens (nível Básico) ou limite de gastos mensais atingido.

ConflictException

A configuração do Notify não está no ACTIVE status.

Observações importantes

  • Mensagens bidirecionais — Não há suporte para mensagens bidirecionais ao usar identidades de originação AWS gerenciadas. Se você precisar de mensagens bidirecionais, associe seu próprio pool telefônico. Consulte Usando números dedicados com o Notify.

  • Comportamento de exclusão — Para casos de uso de OTP com identidades AWS gerenciadas, as respostas da palavra-chave STOP são apenas informativas. Nenhuma lista de exclusão persistente é mantida porque cada solicitação de OTP é uma aceitação implícita. Se você associar seu próprio pool telefônico, a lista de exclusão do pool será respeitada.

Solução de problemas

Mensagens não entregues

Se suas mensagens não estiverem sendo entregues, verifique o seguinte:

  1. Verifique se o número de telefone de destino está no formato E.164 (começa com + o código do país).

  2. Verifique se o país de destino está na sua EnabledCountries lista.

  3. Verifique se o status da sua configuração éACTIVE.

  4. Verifique se seu limite de gastos não foi excedido.

Status BLOQUEADO

A mensagem foi bloqueada por uma configuração do Protect. Os motivos comuns incluem o país de destino não estar na sua lista de países habilitados ou a mensagem ser sinalizada como potencial AIT (tráfego inflado artificialmente).

Erros de validação

Certifique-se de que todos os requisitos TemplateVariables sejam fornecidos. Verifique se os valores das variáveis correspondem aos tipos declarados (por exemplo, números inteiros são números válidos). Verifique se a ID do modelo existe e está ativa.