View a markdown version of this page

Envío de mensajes con Notify - AWS SMS de mensajería para el usuario final

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.

Envío de mensajes con Notify

Notify ofrece dos opciones APIs para enviar mensajes:

  • SendNotifyTextMessage— Envía un mensaje SMS mediante una plantilla previamente aprobada.

  • SendNotifyVoiceMessage— Envía una llamada de voz que lee el contenido de la plantilla text-to-speech utilizada.

Envío de un mensaje SMS

Console
  1. Abra la consola de SMS de mensajería para el usuario AWS final en https://console.aws.amazon.com/sms-voice/.

  2. Navegue hasta una configuración de Notify y elija la pestaña Probar.

  3. Para el canal, selecciona Texto.

  4. Seleccione una plantilla de la tabla de plantillas.

  5. Introduzca el número de teléfono de destino en formato E.164.

  6. Rellene las variables de la plantilla.

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

Envío de un mensaje de voz

Los mensajes de voz requieren que el VOICE canal esté habilitado en la configuración de Notify.

sugerencia

En el caso de los mensajes de voz, separe los dígitos con puntos o espacios (por ejemplo"1. 2. 3. 4. 5. 6.") para que el text-to-speech motor lea cada dígito individualmente en lugar de hacerlo como un número único.

Console
  1. Abra la consola de SMS de mensajería para usuarios AWS finales en https://console.aws.amazon.com/sms-voice/.

  2. Navegue hasta una configuración de Notify y elija la pestaña Probar.

  3. Para el canal, selecciona Voz.

  4. Selecciona una plantilla de voz de la tabla de plantillas.

  5. Introduzca el número de teléfono de destino y rellene las variables de la plantilla.

  6. Seleccione 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

DryRuntrueConfigúrelo en para validar una solicitud de envío sin entregar realmente el mensaje. DryRun mode comprueba la validación de las variables de la plantilla, las restricciones nacionales y los límites de gasto, pero no envía el mensaje ni lo deduce del límite de gasto.

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

Envía los parámetros de la solicitud

Ambos SendNotifyTextMessage SendNotifyVoiceMessage aceptan los siguientes parámetros:

NotifyConfigurationId (obligatorio)

El ID o el ARN de la configuración de Notify.

DestinationPhoneNumber (obligatorio)

El número de teléfono del destinatario en formato E.164.

TemplateVariables (obligatorio)

Un mapa de nombres de variables a valores. Todos los valores son cadenas, incluso en el caso de variables enteras o booleanas.

TemplateId

La plantilla que se va a utilizar. Si se omite, se utiliza la plantilla predeterminada de la configuración.

ConfigurationSetName

Un conjunto de configuraciones para el enrutamiento de eventos.

Contexto

Pares clave-valor incluidos en los registros de eventos.

DryRun

Valida la solicitud sin enviarla.

TimeToLive

Cuánto tiempo es válido el mensaje, en segundos. El valor predeterminado es 72 horas.

MessageFeedbackEnabled

Permite el seguimiento de los comentarios de los mensajes a través de la PutMessageFeedback API.

VoiceId (solo por voz)

La voz de Amazon Polly que se va a utilizar (por ejemplo,JOANNA,MATTHEW).

Cómo funciona el enrutamiento de mensajes

AWS selecciona automáticamente la mejor identidad de origen para cada mensaje en función del país de destino. Si ha asociado un grupo de teléfonos a su configuración de Notify, primero se probarán las identidades del grupo que pertenezcan al cliente. Si no hay disponible una identidad adecuada propiedad del cliente, las identidades AWS administradas se utilizan como alternativa.

Respuestas a los mensajes

Si lo habilitas MessageFeedbackEnabled al enviar un mensaje, puedes informar si el usuario final ha recibido y utilizado correctamente el código:

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

Eventos de entrega

Notify emite eventos de entrega a los destinos de eventos configurados (CloudWatchAmazon Data Firehose o Amazon SNS). Para obtener información sobre cómo configurar los destinos de los eventos, consulte. Conjuntos de configuraciones en Mensajes SMS para usuarios finales de AWS

Tipos de eventos de entrega
Event Description (Descripción)
PENDING El mensaje está en cola para su entrega.
DELIVERED El mensaje se ha entregado al dispositivo del destinatario.
FAILED No se pudo entregar el mensaje. Compruebe el motivo del error para obtener más información.
BLOCKED Las reglas de configuración de Protect bloquearon el mensaje.

Gestión de errores

ValidationException

Faltan variables de plantilla o no son válidas, el formato del número de teléfono no es válido o el país de destino no está activado en la configuración.

ResourceNotFoundException

No se encontró la configuración o la plantilla de Notify.

ServiceQuotaExceededException

Se ha alcanzado el límite diario de mensajes (nivel básico) o el límite de gasto mensual.

ConflictException

La configuración de Notify no está en ACTIVE estado.

Notas importantes

  • Mensajería bidireccional: no se admite la mensajería bidireccional cuando se utilizan identidades de origen AWS administradas. Si necesitas mensajería bidireccional, asocia tu propio grupo de teléfonos. Consulte Uso de números dedicados con Notify.

  • Comportamiento de exclusión: en los casos de uso de OTP con identidades AWS administradas, las respuestas a la palabra clave STOP son únicamente informativas. No se mantiene una lista de exclusión persistente porque cada solicitud de OTP es una suscripción implícita. Si asocias tu propio grupo de teléfonos, se respetará la lista de exclusión del grupo.

Resolución de problemas

¿No se entregan los mensajes

Si los mensajes no se entregan, compruebe lo siguiente:

  1. Comprueba que el número de teléfono de destino esté en formato E.164 (empieza + por un código de país).

  2. Comprueba que el país de destino esté en tu EnabledCountries lista.

  3. Compruebe que el estado de la configuración seaACTIVE.

  4. Comprueba que no se haya superado tu límite de gasto.

Estado bloqueado

Una configuración de Protect bloqueó el mensaje. Algunas de las razones más comunes son que el país de destino no esté en la lista de países habilitados o que el mensaje esté marcado como posible AIT (tráfico inflado artificialmente).

Errores de validación

Asegúrese de proporcionar todos los requisitos. TemplateVariables Compruebe que los valores de las variables coincidan con los tipos declarados (por ejemplo, los enteros son números válidos). Compruebe que el ID de la plantilla existe y está activo.