View a markdown version of this page

Envío de mensajes RCS - 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 RCS

AWS La mensajería para el usuario final utiliza la misma SendTextMessage API para la entrega de RCS y SMS. La forma en que el servicio enruta el mensaje depende de la identidad de origen que especifique en la solicitud. Puede enviar mensajes a través de un grupo de teléfonos (recomendado), a nivel de cuenta o directamente a través de un ARN de agente RCS de AWS.

En esta sección se explican los tres patrones de envío, cómo interpretar los recibos de entrega y se proporcionan ejemplos de códigos. Para obtener más información sobre el envío fijo, la identidad de origen, el orden de prioridad y la reserva automática de SMS, consulte. Recurso alternativo de RCS a SMS mediante grupos de teléfonos Para obtener más información sobre la administración de los agentes de AWS RCS, consulteAdministrar los agentes de RCS.

Patrones de envío

AWS La mensajería del usuario final admite tres patrones para enviar mensajes RCS. Cada patrón determina la forma en que el servicio selecciona una identidad de origen y si está disponible la opción alternativa automática de SMS.

Patrones de envío de RCS
Patrón Funcionamiento Recurso alternativo a los SMS Cuándo se debe usar
Basado en grupos (recomendado) Especifique un ID de grupo como identidad de origen. El servicio selecciona la mejor identidad del grupo. Todos los casos de uso. Ofrece una selección automática de canales y una alternativa de SMS con un enrutamiento que garantiza la conformidad.
A nivel de cuenta Omita la identidad de origen. El servicio selecciona entre todas las identidades disponibles en su cuenta. Configuraciones sencillas con un único caso de uso. No se recomienda para cuentas con varios casos de uso.
Envío directo Especifique un ARN de agente RCS de AWS como identidad de origen. El mensaje se envía únicamente a través de RCS. No RCS-or-nothing casos de uso o cuando gestionas el envío de SMS de forma alternativa a la mensajería para el usuario AWS final.

Envío basado en grupos (recomendado)

El envío basado en grupos es el enfoque recomendado para todos los casos de uso de RCS. Cuando especificas un ID de grupo como identidad de origen de tu SendTextMessage solicitud, AWS End User Messaging selecciona la mejor identidad de origen del grupo en función del destino, la disponibilidad del canal y el historial de envíos persistente.

Si el grupo contiene un agente de AWS RCS y números de teléfono SMS, el servicio intenta primero la entrega por RCS. Si se produce un error en la entrega de RCS, el servicio recurre automáticamente a los SMS utilizando un número de teléfono del mismo grupo. Como todas las identidades del grupo están registradas para el mismo caso de uso, el mensaje alternativo siempre se envía desde un número adecuado.

Para obtener más información sobre la creación y configuración de grupos con los agentes RCS de AWS, consulteRecurso alternativo de RCS a SMS mediante grupos de teléfonos.

Envío a nivel de cuenta

Al omitir la identidad de origen de su SendTextMessage solicitud, AWS End User Messaging selecciona una identidad de origen de entre todas las identidades disponibles en su cuenta. El servicio usa el orden de prioridad de la identidad de origen para determinar qué identidad usar. Para obtener más información, consulte Lógica alternativa y orden de prioridad.

importante

El envío a nivel de cuenta crea un riesgo de conformidad si tu cuenta contiene números de teléfono registrados para diferentes casos de uso. Si se produce un error en la entrega de RCS y el servicio recurre a los SMS, es posible que seleccione un número de teléfono que no coincida con el contenido del mensaje. Por ejemplo, un mensaje OTP podría dirigirse a un número gratuito registrado como recordatorio de citas, infringiendo así las condiciones de registro de ese número. Para evitar este riesgo, utiliza el envío basado en grupos con un grupo por caso de uso. Para obtener más información, consulte Riesgo de conformidad con los envíos a nivel de cuenta.

Envío directo (solo RCS)

Cuando especifica un ARN de agente RCS de AWS como identidad de origen en SendTextMessage su solicitud AWS , End User Messaging envía el mensaje únicamente a través de RCS. No existe una alternativa automática por SMS. Si se produce un error en la entrega del RCS, el mensaje no se vuelve a intentar en otro canal.

Usa el envío directo cuando:

  • Quieres que te lo RCS-or-nothing entreguen. El mensaje solo debe entregarse a través de RCS y prefieres no entregarlo antes que enviarlo por SMS.

  • Los SMS se gestionan de forma alternativa a la mensajería para el usuario AWS final. La aplicación gestiona la lógica alternativa de forma independiente, por ejemplo, detectando un error en la entrega del RCS y enviando un SMS diferente a través de un sistema o proveedor diferente.

nota

El envío directo evita toda la lógica alternativa de los SMS. Si el dispositivo o el operador del destinatario no son compatibles con RCS, el mensaje no se entrega. En la mayoría de los casos de uso, se recomienda el envío basado en grupos, ya que permite enviar SMS de forma automática sin coste adicional.

Envío fijo, orden prioritario y reserva de SMS

Cuando envías mensajes a través de un pool o a nivel de cuenta, la mensajería para el usuario AWS final utiliza el envío continuo (una optimización del enrutamiento en 25 horas), un orden de prioridad de identidad de origen y un SMS alternativo automático para seleccionar el mejor canal e identidad para cada mensaje. Para obtener información completa sobre el funcionamiento de estos mecanismos, incluidos el respaldo automático, los recibos de entrega durante el proceso alternativo y las implicaciones de facturación, consulte. Recurso alternativo de RCS a SMS mediante grupos de teléfonos

Ejemplos de código

Los siguientes ejemplos de Python muestran cómo enviar mensajes RCS utilizando cada uno de los tres patrones de envío. Todos los ejemplos utilizan el pinpoint-sms-voice-v2 cliente boto3 y la API. SendTextMessage

Ejemplo de envío basado en grupos

El siguiente ejemplo envía un mensaje a través de un grupo de teléfonos. El servicio selecciona la mejor identidad de origen del grupo y recurre automáticamente a los SMS si no es posible la entrega por RCS.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', OriginationIdentity='pool-a1b2c3d4e5f6g7h8i', MessageBody='Your appointment is confirmed for tomorrow at 2:00 PM.', MessageType='TRANSACTIONAL' ) print(f"Message ID: {response['MessageId']}")

Ejemplo de envío a nivel de cuenta

El siguiente ejemplo envía un mensaje a nivel de cuenta omitiendo la identidad de origen. El servicio selecciona una identidad de entre todas las identidades disponibles en su cuenta siguiendo el orden de prioridad.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', MessageBody='Your verification code is 123456.', MessageType='TRANSACTIONAL' ) print(f"Message ID: {response['MessageId']}")
importante

Si tu cuenta contiene números de teléfono registrados para distintos casos de uso, el envío a nivel de cuenta puede redirigir los SMS a un número que no coincide con el contenido de tu mensaje. Utiliza el envío basado en grupos con un grupo por caso de uso para evitar riesgos de conformidad.

Ejemplo de envío directo

El siguiente ejemplo envía un mensaje directamente a través de un ARN de agente RCS de AWS. El mensaje se entrega únicamente a través de RCS, sin necesidad de enviar SMS de respaldo.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', OriginationIdentity='arn:aws:sms-voice:us-east-1:123456789012:rcs-agent/rcs-a1b2c3d4', MessageBody='Welcome to our RCS channel! Reply HELP for assistance.' ) print(f"Message ID: {response['MessageId']}")
nota

Si el dispositivo o el operador del destinatario no son compatibles con el RCS, el mensaje no se entrega. No se intenta recurrir a ningún SMS alternativo. Utilice este patrón solo cuando desee la RCS-or-nothing entrega o cuando gestione el envío alternativo de SMS fuera de la mensajería para el usuario AWS final.

Un agente de IA solicita el envío de mensajes RCS

Si utiliza un asistente de codificación de IA generativo o un agente de IA, puede utilizar el siguiente mensaje para obtener ayuda para enviar mensajes de RCS mediante la AWS CLI o el SDK.

nota

Copia el siguiente mensaje y pégalo en tu agente de IA o asistente de codificación:

## RCS Messaging Assistant Prompt Help me send RCS messages using AWS End User Messaging SMS with the `pinpoint-sms-voice-v2` service. Show me exact CLI commands and Python/boto3 examples. Ask me for my details before generating any commands. **Important rules for generating commands:** - The API is `send-text-message` — the same command used for SMS. There is NO separate RCS send API. - There is NO `describe-messages` API. Do not generate it. - The boto3 method is `send_text_message` on the `pinpoint-sms-voice-v2` client. - Use the term "testing" — NOT "sandbox". **Prerequisites:** I have an existing RCS agent (created via the setup process) and a verified test device. ### Pattern 1: Direct RCS sending (simplest, good for testing) Send directly through my RCS Agent ARN. RCS-only delivery, no SMS fallback. If the recipient's device doesn't support RCS, the message is not delivered. CLI: `send-text-message --destination-phone-number <E.164> --origination-identity <agent-arn> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` Returns `MessageId`. ### Pattern 2: Pool-based sending (recommended for production) Send through a phone pool containing my RCS agent (and optionally SMS phone numbers for fallback). The service tries RCS first, then falls back to SMS asynchronously if no RCS signal within 25 seconds. This is NOT synchronous fallback — the SMS is sent as a separate attempt after the timeout. To set up a pool: - `create-pool --origination-identity <rcs-agent-id> --message-type TRANSACTIONAL` → returns `PoolId` - Optionally add SMS numbers: `associate-origination-identity --pool-id <id> --origination-identity <phone-number-id>` CLI: `send-text-message --destination-phone-number <E.164> --origination-identity <pool-id> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` ### Pattern 3: Account-level sending Send without specifying `--origination-identity`. The service auto-selects the best identity from the account. CLI: `send-text-message --destination-phone-number <E.164> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` **Compliance warning:** If the account has multiple RCS agents, SMS numbers, or different use cases, the service picks an identity automatically — which may not be the intended one. Use pool-based or direct sending for explicit control over which identity is used. ### Delivery verification - For testing: check the test device directly — the message appears from the branded RCS agent. - For production: configure event destinations BEFORE sending using `create-event-destination` (SNS, CloudWatch Logs, or Firehose). Event destinations do not retroactively capture events for already-sent messages. - CloudWatch metrics in `AWS/SMSVoice` namespace provide aggregate delivery statistics. ### Behavioral notes - Sticky sending: the service remembers the last successful identity per destination number for 25 hours. - Pool-based sending is recommended for production because it provides automatic SMS fallback. - All three patterns use the same `send-text-message` API — the only difference is what you pass (or don't pass) as `--origination-identity`. --- **Before generating commands, ask me for:** - Which sending pattern I want to use (direct, pool-based, or account-level) - My RCS Agent ARN - My pool ID (if using pool-based sending) - Destination phone number in E.164 format - Message type (TRANSACTIONAL or PROMOTIONAL) - Message text

Gestión del recibo de entrega

AWS End User Messaging proporciona recibos de entrega de los mensajes de RCS a través de Amazon EventBridge y los destinos de eventos establecidos en la configuración. Los recibos de entrega indican el estado final del mensaje y el canal que se utilizó para la entrega. Para obtener información sobre cómo configurar los destinos de los eventos para capturar los recibos de entrega y otros eventos de mensajes, consulteDestinos de eventos en los SMS de mensajería para usuarios AWS finales.

Valores del estado de entrega

Los siguientes valores de estado de entrega se aplican a los mensajes RCS:

ENTREGADO

El mensaje se ha enviado correctamente al dispositivo del destinatario.

PENDIENTE

La infraestructura de RCS ha aceptado el mensaje, pero aún no se ha recibido la confirmación de entrega. Es posible que el mensaje aún se esté entregando.

EXPIRED

El mensaje no se ha entregado en el plazo permitido. En el caso de los mensajes RCS con respaldo de SMS, este estado se aplica al intento de RCS antes de que se produzca el respaldo.

IMPOSIBLE DE ENTREGAR

No se ha podido entregar el mensaje. Esto puede ocurrir cuando el dispositivo del destinatario está permanentemente inaccesible o el número de teléfono no es válido.

REJECTED

La infraestructura o el operador del RCS rechazaron el mensaje. Esto puede ocurrir debido a infracciones de la política de contenido o a un filtrado a nivel del operador.

Atribución del canal

Los recibos de entrega incluyen la atribución del canal, que indica si el mensaje se entregó mediante RCS o SMS. Esto es importante para entender la combinación de entregas y para fines de facturación.

  • Cuando se entrega un mensaje a través de RCS, el recibo de entrega indica que RCS es el canal de entrega e incluye la identidad del agente de AWS RCS.

  • Cuando un mensaje vuelve a convertirse en SMS, el comprobante de entrega indica que el SMS es el canal de entrega e incluye la identidad del número de teléfono del SMS que se utilizó para la entrega.

  • Cuando se produce un error en un envío directo (ARN del agente RCS de AWS), el recibo de entrega indica que RCS es el canal intentado con un estado de error. No se genera ningún recibo alternativo por SMS.

Para obtener más información sobre las CloudWatch métricas de RCS y la supervisión de los patrones de entrega, consulte. Monitorización y CloudWatch métricas de RCS Para obtener información sobre cómo el canal de entrega afecta a la facturación, consulteModelo de facturación y precios de RCS.