

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
<a name="notify-send-messages"></a>

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
<a name="notify-send-text"></a>

------
#### [ Console ]

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

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

1. Para canal, selecione **Texto**.

1. Selecione um modelo na tabela de modelos.

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

1. Preencha as variáveis do modelo.

1. 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
<a name="notify-send-voice"></a>

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/](https://console.aws.amazon.com/sms-voice/).

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

1. Para canal, selecione **Voz**.

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

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

1. 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
<a name="notify-send-dryrun"></a>

`DryRun`Defina 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
<a name="notify-send-parameters"></a>

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
<a name="notify-send-routing"></a>

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
<a name="notify-send-feedback"></a>

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
<a name="notify-send-delivery-events"></a>

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, consulte[Conjuntos de configurações no AWS End User Messaging SMS](configuration-sets.md).


**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
<a name="notify-send-errors"></a>

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
<a name="notify-send-important-notes"></a>
+ **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](notify-dedicated-numbers.md).
+ **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
<a name="notify-send-troubleshooting"></a>

**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).

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

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

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