View a markdown version of this page

Recepción de medios RCS entrantes - 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.

Recepción de medios RCS entrantes

Los usuarios pueden enviar contenido multimedia (imágenes, vídeos, archivos de audio y documentos) en conversaciones de RCS con su agente. Al configurar el almacenamiento multimedia entrante, AWS End User Messaging descarga el contenido multimedia del proveedor de RCS, lo carga en su bucket de Amazon S3 y publica una notificación en su tema bidireccional de Amazon SNS con la ubicación del S3 y los metadatos del archivo.

Para obtener información general sobre la recepción de mensajes RCS entrantes (texto, ubicación y sugerencias de respuesta), consulte. Recepción de mensajes de RCS entrantes Para obtener información sobre el envío de contenido multimedia enriquecido a los usuarios, consulte. Envío de mensajes RCS enriquecidos

Cómo funciona el contenido multimedia entrante

Cuando un usuario envía un archivo multimedia en una conversación de RCS, AWS End User Messaging procesa el mensaje mediante los siguientes pasos:

  1. El usuario envía una imagen, un vídeo, un archivo de audio o un documento desde su aplicación de mensajería RCS.

  2. AWS La mensajería para el usuario final descarga el contenido multimedia del proveedor de RCS.

  3. AWS La mensajería para el usuario final carga el contenido multimedia al bucket de S3 configurado mediante la función de IAM que especifique.

  4. AWS End User Messaging publica una notificación en su tema de SNS bidireccional. La notificación incluye el depósito de S3, la clave, el tipo de MIME y los metadatos del mensaje.

En el LOCATION caso de los tipos de SUGGESTION mensajes y tipos, no se carga en S3. El contenido se entrega directamente en el cuerpo de la notificación del SNS. Para obtener más información sobre estos tipos de mensajes, consulteRecepción de mensajes de RCS entrantes.

Configuración del almacenamiento multimedia entrante

Para recibir contenido multimedia entrante, configure los siguientes campos en su agente de RCS mediante la API. UpdateRcsAgent Two-way la mensajería debe estar habilitada en el agente antes de configurar el almacenamiento multimedia.

Campos de configuración de medios entrantes
Campo Obligatorio Descripción
TwoWayMediaS3BucketName El nombre del depósito de S3 en el que AWS End User Messaging almacena los archivos multimedia entrantes.
TwoWayMediaS3KeyPrefix No Un prefijo opcional para las claves de objetos de S3. Si se especifica, los objetos multimedia se almacenan con este prefijo en el depósito.
TwoWayMediaS3Role El ARN de la función de IAM que asume AWS End User Messaging para cargar archivos multimedia en su bucket de S3.

El bucket de S3 y la función de IAM se requieren juntos. Si especifica uno, debe especificar ambos.

Formato de clave S3

Los objetos multimedia se almacenan con el siguiente formato de clave, en el que el nombre del archivo original se añade después de un # separador:

{prefix}/rcs/{messageId}#{fileName}

Por ejemplo, si establece el prefijo clave eninbound-media, un archivo multimedia podría almacenarse como:

inbound-media/rcs/msg-abc123def456#photo_2026.jpg

Crear la función de IAM para el contenido multimedia entrante

Cree una función de IAM que permita al servicio de mensajería para el usuario AWS final cargar archivos multimedia en su bucket de S3. El rol requiere una política de confianza que permita al servicio asumirlo y una política de permisos que conceda s3:PutObject acceso a tu bucket.

Política de confianza

La siguiente política de confianza permite que el director del servicio de mensajería para el usuario AWS final asuma la función. 123456789012Sustitúyala por tu ID de AWS cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }

Política de permisos

La siguiente política de permisos otorga al rol acceso para escribir objetos en su bucket de S3. Reemplace my-rcs-media-bucket con el nombre del bucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::my-rcs-media-bucket/*" } ] }
nota

Limite la función de IAM a solo. s3:PutObject El servicio no requiere s3:GetObject ni ningún otro tipo de permisos para la entrega de contenido multimedia entrante. s3:DeleteObject

Configuración del almacenamiento multimedia (CLI)

El siguiente comando AWS CLI configura el almacenamiento multimedia entrante en un agente RCS existente:

aws pinpoint-sms-voice-v2 update-rcs-agent \ --rcs-agent-id rcs-agent-1234567890abcdef0 \ --two-way-media-s3-bucket-name my-rcs-media-bucket \ --two-way-media-s3-key-prefix "inbound-media" \ --two-way-media-s3-role arn:aws:iam::123456789012:role/RcsInboundMediaRole \ --region us-east-1

Carga útil de notificaciones multimedia entrantes

Cuando AWS End User Messaging recibe un archivo multimedia, publica una notificación en tu tema bidireccional de SNS. La notificación es un objeto JSON con un messageBody campo que contiene un documento JSON en cadena con el estado del contenido multimedia y, en caso de éxito, la ubicación del S3 y los metadatos del archivo.

En el siguiente ejemplo, se muestra una notificación multimedia entrante correcta:

{ "originationNumber": "+14255551234", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"mediaStatus\":\"SUCCESS\",\"s3Bucket\":\"my-rcs-media-bucket\",\"s3Key\":\"inbound-media/rcs/msg-abc123def456#photo_2026.jpg\",\"mimeType\":\"image/jpeg\",\"fileName\":\"photo_2026.jpg\",\"fileSizeBytes\":1211843}", "inboundMessageId": "8821d750-4bc5-4cb1-a8c3-c3d64a38d019" }

La notificación de nivel superior contiene los siguientes campos:

originationNumber

El número de teléfono del usuario que envió el contenido multimedia.

destinationNumber

El identificador del agente de RCS que recibió el mensaje.

messageBody

Un documento JSON en cadena que describe el contenido multimedia. Contiene los campos de la siguiente tabla.

inboundMessageId

El identificador único del mensaje entrante.

El messageBody JSON contiene los siguientes campos:

mediaStatus

El resultado del procesamiento multimedia. Los valores válidos son SUCCESS, UPLOAD_FAILED y ROLE_ASSUME_FAILED.

mediaStatusMessage

Una descripción del estado legible por humanos. Está presente cuando mediaStatus es un valor de error.

s3Bucket

El nombre del depósito de S3 en el que está almacenado el archivo multimedia. Presente en caso de éxito.

s3Key

La clave de objeto S3 del archivo multimedia almacenado. Presente en caso de éxito.

mimeType

El tipo MIME del archivo multimedia (por ejemplo,, image/jpegvideo/mp4,application/pdf).

fileName

El nombre del archivo original proporcionado por el dispositivo del usuario.

fileSizeBytes

El tamaño del archivo multimedia en bytes.

nota

La notificación multimedia entrante no incluye actualmente un campo de tipo mensaje. Se utiliza mediaStatus para determinar el resultado.

Gestión de errores en la descarga de contenido multimedia

Si la mensajería para el usuario AWS final no puede descargar ni almacenar contenido multimedia del proveedor de RCS, el servicio seguirá publicando una notificación sobre su tema de SNS bidireccional. Incluye messageBody una falla mediaStatus (UPLOAD_FAILEDoROLE_ASSUME_FAILED) y una mediaStatusMessage descripción de la causa, sin campos de ubicación en S3.

Por ejemplo, un error en la suposición de un rol de IAM produce el siguiente messageBody contenido:

{ "mediaStatus": "ROLE_ASSUME_FAILED", "mediaStatusMessage": "Media received but could not assume the configured IAM role", "mimeType": "image/heic", "fileName": "IMG_7115.heic", "fileSizeBytes": 1211843 }

Entre las causas más comunes de los errores en la descarga de contenido multimedia se incluyen:

  • El soporte ya no está disponible en el proveedor de RCS (por ejemplo, ha caducado o se ha eliminado).

  • El rol de IAM no tiene permiso para escribir en el bucket de S3 especificado.

  • El bucket de S3 no existe o se encuentra en una región diferente a la esperada.

Para solucionar problemas de entrega, compruebe que las políticas de confianza y permisos de su rol de IAM estén configuradas correctamente y que el bucket de S3 exista y esté accesible desde el servicio. Supervisa las CloudWatch métricas de tu agente para detectar errores en la carga de contenido multimedia.

Tipos de medios aceptados

AWS La mensajería para el usuario final acepta los siguientes tipos de MIME de medios entrantes:

  • Imágenes:image/jpeg,,, image/jpg image/gif image/png

  • Audio: audio/aacaudio/mp3,audio/mpeg,audio/mpg, audio/mp4audio/mp4-latm,audio/3gpp,audio/ogg, application/ogg

  • Vídeo:video/h263,video/m4v,video/mp4,video/mpeg,video/mpeg4, video/webm

  • Documentos: application/pdf

nota

AWS La mensajería para el usuario final no impone un límite de tamaño a los medios entrantes.

Prácticas recomendadas

  • Configure siempre el almacenamiento multimedia si espera que los usuarios envíen imágenes, vídeos o archivos en las conversaciones de RCS.

  • Utilice un depósito S3 específico para los medios entrantes de RCS a fin de aislar los controles de acceso y las políticas del ciclo de vida.

  • Establezca una política de ciclo de vida de S3 para hacer caducar los objetos multimedia antiguos (por ejemplo, después de 90 días) a fin de gestionar los costes de almacenamiento.

  • Procese los medios entrantes de forma asíncrona mediante una función AWS Lambda activada por su tema de SNS.

  • Limite la función de IAM a únicamente. s3:PutObject El servicio no requiere permisos más amplios.

  • Supervise CloudWatch las métricas para detectar errores en la carga de contenido multimedia y configure alarmas para detectar problemas de configuración.