

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Réception de contenus RCS entrants
<a name="rcs-inbound-media"></a>

Les utilisateurs peuvent envoyer du contenu multimédia (images, vidéos, fichiers audio et documents) dans le cadre de conversations RCS avec votre agent. Lorsque vous configurez le stockage multimédia entrant, la messagerie utilisateur AWS final télécharge le contenu multimédia depuis le fournisseur RCS, le charge dans votre compartiment Amazon S3 et publie une notification sur votre rubrique bidirectionnelle Amazon SNS avec l'emplacement S3 et les métadonnées du fichier.

Pour obtenir des informations générales sur la réception de messages RCS entrants (texte, localisation et réponses aux suggestions), consultez. [Réception de messages RCS entrants](rcs-inbound.md) Pour plus d'informations sur l'envoi de contenu multimédia aux utilisateurs, consultez[Envoi de messages RCS enrichis](rcs-rich-messaging.md).

## Comment fonctionne le contenu multimédia entrant
<a name="rcs-inbound-media-how-it-works"></a>

Lorsqu'un utilisateur envoie un fichier multimédia dans le cadre d'une conversation RCS, AWS la messagerie utilisateur final traite le message en suivant les étapes suivantes :

1. L'utilisateur envoie une image, une vidéo, un fichier audio ou un document depuis son application de messagerie RCS.

1. AWSLa messagerie utilisateur final télécharge le contenu multimédia depuis le fournisseur RCS.

1. AWSLa messagerie utilisateur final télécharge le contenu multimédia dans votre compartiment S3 configuré à l'aide du rôle IAM que vous spécifiez.

1. AWSLa messagerie destinée aux utilisateurs finaux publie une notification sur votre rubrique SNS bidirectionnelle. La notification inclut le compartiment S3, la clé, le type MIME et les métadonnées du message.

Pour les types `LOCATION` de `SUGGESTION` message et les types de message, aucun téléchargement S3 n'a lieu. Le contenu est diffusé directement dans le corps de notification du SNS. Pour plus de détails sur ces types de messages, consultez[Réception de messages RCS entrants](rcs-inbound.md).

## Configuration du stockage multimédia entrant
<a name="rcs-inbound-media-config"></a>

Pour recevoir du contenu multimédia entrant, configurez les champs suivants sur votre agent RCS à l'aide de l'`UpdateRcsAgent`API. Two-way la messagerie doit être activée sur l'agent avant de configurer le stockage multimédia.


**Champs de configuration des médias entrants**  

| Champ | Obligatoire | Description | 
| --- | --- | --- | 
| TwoWayMediaS3BucketName | Oui | Nom du compartiment S3 dans lequel AWS End User Messaging stocke les fichiers multimédia entrants. | 
| TwoWayMediaS3KeyPrefix | Non | Préfixe facultatif pour les clés d'objet S3. Si cela est spécifié, les objets multimédia sont stockés sous ce préfixe dans le compartiment. | 
| TwoWayMediaS3Role | Oui | L'ARN du rôle IAM assumé par AWS End User Messaging pour télécharger les fichiers multimédia dans votre compartiment S3. | 

Le compartiment S3 et le rôle IAM sont requis conjointement. Si vous en spécifiez un, vous devez spécifier les deux.

### Format de clé S3
<a name="rcs-inbound-media-s3-key-format"></a>

Les objets multimédia sont stockés avec le format de clé suivant, où le nom du fichier d'origine est ajouté après un `#` séparateur :

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

Par exemple, si vous définissez le préfixe de clé sur`inbound-media`, un fichier multimédia peut être stocké sous la forme suivante :

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

## Création du rôle IAM pour les médias entrants
<a name="rcs-inbound-media-iam-role"></a>

Créez un rôle IAM qui permet au service de messagerie de l'utilisateur AWS final de télécharger des fichiers multimédia dans votre compartiment S3. Le rôle nécessite une politique de confiance qui permet au service de l'assumer, et une politique d'autorisation qui accorde `s3:PutObject` l'accès à votre compartiment.

### Politique d’approbation
<a name="rcs-inbound-media-trust-policy"></a>

La politique de confiance suivante permet au AWS responsable du service de messagerie utilisateur final d'assumer ce rôle. Remplacez `123456789012` par votre identifiant de AWS compte.

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

### Stratégie d'autorisation
<a name="rcs-inbound-media-permission-policy"></a>

La politique d'autorisation suivante accorde au rôle l'accès pour écrire des objets dans votre compartiment S3. `my-rcs-media-bucket`Remplacez-le par le nom de votre compartiment.

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

**Note**  
Élargissez le rôle IAM uniquement. `s3:PutObject` Le service ne nécessite `s3:GetObject` aucune autorisation ni aucune autre autorisation pour la diffusion de contenu multimédia entrant. `s3:DeleteObject`

## Configuration du stockage multimédia (CLI)
<a name="rcs-inbound-media-cli-example"></a>

La commande AWS CLI suivante configure le stockage multimédia entrant sur un agent RCS existant :

```
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
```

## Charge utile des notifications multimédia entrantes
<a name="rcs-inbound-media-notification"></a>

Lorsque AWS la messagerie de l'utilisateur final reçoit un fichier multimédia, elle publie une notification sur votre rubrique SNS bidirectionnelle. La notification est un objet JSON dont `messageBody` le champ contient un document JSON sous forme de chaînes indiquant le statut du média et, en cas de succès, l'emplacement S3 et les métadonnées du fichier.

L'exemple suivant montre une notification multimédia entrante réussie :

```
{
    "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 notification de niveau supérieur contient les champs suivants :

`originationNumber`  
Numéro de téléphone de l'utilisateur qui a envoyé le média.

`destinationNumber`  
Identifiant de l'agent RCS qui a reçu le message.

`messageBody`  
Document JSON sous forme de chaînes décrivant le média. Il contient les champs du tableau suivant.

`inboundMessageId`  
Identifiant unique du message entrant.

Le `messageBody` JSON contient les champs suivants :

`mediaStatus`  
Le résultat du traitement multimédia. Les valeurs valides sont `SUCCESS`, `UPLOAD_FAILED` et `ROLE_ASSUME_FAILED`.

`mediaStatusMessage`  
Description du statut lisible par l'homme. Présent quand `mediaStatus` est une valeur de défaillance.

`s3Bucket`  
Nom du compartiment S3 dans lequel le fichier multimédia est stocké. Présent en cas de réussite.

`s3Key`  
La clé d'objet S3 pour le fichier multimédia stocké. Présent en cas de réussite.

`mimeType`  
Type MIME du fichier multimédia (par exemple, `image/jpeg``video/mp4`,`application/pdf`).

`fileName`  
Le nom du fichier d'origine tel que fourni par l'appareil de l'utilisateur.

`fileSizeBytes`  
Taille du fichier multimédia en octets.

**Note**  
La notification multimédia entrante ne contient actuellement aucun champ de type de message. `mediaStatus`À utiliser pour déterminer le résultat.

## Gestion des défaillances liées au téléchargement de fichiers multimédias
<a name="rcs-inbound-media-failure-handling"></a>

Si AWS la messagerie utilisateur final ne peut pas télécharger ou stocker le contenu multimédia du fournisseur RCS, le service publie tout de même une notification sur votre rubrique SNS bidirectionnelle. Il `messageBody` contient une défaillance `mediaStatus` (`UPLOAD_FAILED`ou`ROLE_ASSUME_FAILED`) et une `mediaStatusMessage` description de la cause, sans champs de localisation S3.

Par exemple, un échec de l'attribution d'un rôle IAM produit le `messageBody` contenu suivant :

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

Les causes courantes des échecs de téléchargement de contenu multimédia sont les suivantes :
+ Le média n'est plus disponible auprès du fournisseur RCS (par exemple, il a expiré ou a été supprimé).
+ Le rôle IAM n'est pas autorisé à écrire dans le compartiment S3 spécifié.
+ Le compartiment S3 n'existe pas ou se trouve dans une région différente de celle prévue.

Pour résoudre les problèmes de livraison, vérifiez que les politiques de confiance et d'autorisation de votre rôle IAM sont correctement configurées et que le compartiment S3 existe et est accessible depuis le service. Surveillez les CloudWatch indicateurs de votre agent pour détecter les échecs de téléchargement de contenu multimédia.

## Types de médias acceptés
<a name="rcs-inbound-media-filtering"></a>

AWSLa messagerie destinée aux utilisateurs finaux accepte les types MIME de médias entrants suivants :
+ **Des photos :** `image/jpeg``image/jpg`,`image/gif`, `image/png`
+ **Audio :**`audio/aac`,`audio/mp3`,`audio/mpeg`,`audio/mpg`,`audio/mp4`,`audio/mp4-latm`,`audio/3gpp`,`audio/ogg`, `application/ogg`
+ **Vidéo :** `video/h263``video/m4v`,`video/mp4`,`video/mpeg`,`video/mpeg4`, `video/webm`
+ **Documents :** `application/pdf`

**Note**  
AWSLa messagerie destinée aux utilisateurs finaux n'impose pas de limite de taille aux supports entrants.

## Bonnes pratiques
<a name="rcs-inbound-media-best-practices"></a>
+ Configurez toujours le stockage multimédia si vous souhaitez que les utilisateurs envoient des images, des vidéos ou des fichiers dans le cadre de conversations RCS.
+ Utilisez un compartiment S3 dédié pour les supports entrants RCS afin d'isoler les contrôles d'accès et les politiques de cycle de vie.
+ Définissez une politique de cycle de vie S3 pour faire expirer les anciens objets multimédia (par exemple, après 90 jours) afin de gérer les coûts de stockage.
+ Traitez les médias entrants de manière asynchrone à l'aide d'une fonction AWS Lambda déclenchée par votre rubrique SNS.
+ Étendez le rôle IAM `s3:PutObject` uniquement à. Le service ne nécessite pas d'autorisations plus larges.
+ Surveillez CloudWatch les indicateurs pour détecter les échecs de téléchargement de contenu multimédia et définissez des alarmes pour détecter les problèmes de configuration.