View a markdown version of this page

Envoi de messages RCS - AWS Messagerie SMS à l'utilisateur final

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.

Envoi de messages RCS

AWS La messagerie destinée aux utilisateurs finaux utilise la même SendTextMessage API pour l'envoi de RCS et de SMS. La manière dont le service achemine votre message dépend de l'identité d'origine que vous spécifiez dans la demande. Vous pouvez envoyer des messages via un pool téléphonique (recommandé), au niveau du compte ou directement via un ARN d'agent AWS RCS.

Cette section explique les trois modèles d'envoi, explique comment interpréter les reçus de livraison et fournit des exemples de code. Pour plus de détails sur l'envoi permanent, l'identité d'origine, l'ordre de priorité et le remplacement automatique des SMS, consultez. Solution de repli entre RCS et SMS à l'aide de pools téléphoniques Pour en savoir plus sur la gestion des agents AWS RCS, consultezGestion des agents RCS.

Schémas d'envoi

AWS La messagerie utilisateur final prend en charge trois modèles d'envoi de messages RCS. Chaque modèle détermine la manière dont le service sélectionne une identité d'origine et détermine si le remplacement automatique des SMS est disponible.

Modèles d'envoi RCS
Modèle Comment ça marche Solution de secours pour les SMS Quand l’utiliser
Basé sur la piscine (recommandé) Spécifiez un ID de pool comme identité d'origine. Le service sélectionne la meilleure identité dans le pool. Oui Tous les cas d'utilisation. Permet la sélection automatique des canaux et le remplacement des SMS avec un routage conforme aux normes de conformité.
Au niveau du compte Omettez l'identité d'origine. Le service sélectionne parmi toutes les identités disponibles dans votre compte. Oui Configurations simples avec un seul cas d'utilisation. Non recommandé pour les comptes comportant plusieurs cas d'utilisation.
Envoi direct Spécifiez un ARN d'agent AWS RCS comme identité d'origine. Le message est envoyé uniquement via RCS. Non RCS-or-nothing cas d'utilisation, ou lorsque vous gérez le repli des SMS en dehors de la messagerie destinée aux utilisateurs AWS finaux.

Envoi basé sur un pool (recommandé)

L'envoi par pool est l'approche recommandée pour tous les cas d'utilisation du RCS. Lorsque vous spécifiez un ID de pool comme identité d'origine dans votre SendTextMessage demande, AWS End User Messaging sélectionne la meilleure identité d'origine dans le pool en fonction de la destination, de la disponibilité des canaux et de l'historique des envois.

Si le pool contient à la fois un agent AWS RCS et des numéros de téléphone SMS, le service tente d'abord de livrer le RCS. Si la livraison du RCS échoue, le service revient automatiquement aux SMS en utilisant un numéro de téléphone du même pool. Comme toutes les identités du pool sont enregistrées pour le même cas d'utilisation, le message de secours est toujours envoyé à partir d'un numéro approprié.

Pour plus de détails sur la création et la configuration de pools avec les agents AWS RCS, consultezSolution de repli entre RCS et SMS à l'aide de pools téléphoniques.

Envoi au niveau du compte

Lorsque vous omettez l'identité d'origine dans votre SendTextMessage demande, AWS la messagerie à l'utilisateur final sélectionne une identité d'origine parmi toutes les identités disponibles dans votre compte. Le service utilise l'ordre de priorité de l'identité d'origine pour déterminer l'identité à utiliser. Pour en savoir plus, consultez Logique de repli et ordre de priorité.

Important

L'envoi au niveau du compte crée un risque de conformité si votre compte contient des numéros de téléphone enregistrés pour différents cas d'utilisation. Lorsque la livraison du RCS échoue et que le service revient aux SMS, il peut sélectionner un numéro de téléphone qui ne correspond pas au contenu de votre message. Par exemple, un message OTP peut renvoyer à un numéro gratuit enregistré pour les rappels de rendez-vous, violant ainsi les conditions d'enregistrement de ce numéro. Pour éviter ce risque, utilisez l'envoi basé sur un pool avec un pool par cas d'utilisation. Pour en savoir plus, consultez Risque de conformité lié à l'envoi au niveau du compte.

Envoi direct (RCS uniquement)

Lorsque vous spécifiez un ARN d'agent AWS RCS comme identité d'origine dans votre SendTextMessage demande, AWS End User Messaging envoie le message uniquement via RCS. Il n'y a pas de solution de secours automatique par SMS. Si la livraison du RCS échoue, le message n'est pas réessayé sur un autre canal.

Utilisez l'envoi direct lorsque :

  • Tu veux une RCS-or-nothing livraison. Le message ne doit être délivré que via RCS, et vous préférez ne pas le recevoir plutôt que l'envoi par SMS.

  • Vous gérez les SMS de secours en dehors de la messagerie destinée aux utilisateurs AWS finaux. Votre application gère la logique de repli de manière indépendante, par exemple en détectant les défaillances de livraison du RCS et en envoyant un SMS distinct via un autre système ou fournisseur.

Note

L'envoi direct contourne toute logique de repli des SMS. Si l'appareil ou l'opérateur du destinataire ne prend pas en charge le RCS, le message n'est pas délivré. Dans la plupart des cas d'utilisation, l'envoi par pool est recommandé car il fournit une solution de remplacement automatique des SMS sans frais supplémentaires.

Envoi permanent, commande prioritaire et solution de secours par SMS

Lorsque vous envoyez des messages par le biais d'un pool ou au niveau du compte, la messagerie utilisateur AWS final utilise l'envoi permanent (optimisation du routage en 25 heures), un ordre de priorité des identités d'origine et une solution de secours automatique par SMS afin de sélectionner le meilleur canal et la meilleure identité pour chaque message. Pour plus de détails sur le fonctionnement de ces mécanismes, y compris le repli automatique, les reçus de livraison en cas de repli et les implications en matière de facturation, voir. Solution de repli entre RCS et SMS à l'aide de pools téléphoniques

Exemples de code

Les exemples Python suivants montrent comment envoyer des messages RCS en utilisant chacun des trois modèles d'envoi. Tous les exemples utilisent le pinpoint-sms-voice-v2 client boto3 et l'SendTextMessageAPI.

Exemple d'envoi basé sur un pool

L'exemple suivant envoie un message via un pool téléphonique. Le service sélectionne la meilleure identité d'origine dans le pool et revient automatiquement aux SMS si la livraison RCS n'est pas possible.

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

Exemple d'envoi au niveau du compte

L'exemple suivant envoie un message au niveau du compte en omettant l'identité d'origine. Le service sélectionne une identité parmi toutes les identités disponibles dans votre compte en utilisant l'ordre de priorité.

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']}")
Important

Si votre compte contient des numéros de téléphone enregistrés pour différents cas d'utilisation, l'envoi au niveau du compte peut rediriger les SMS vers un numéro qui ne correspond pas au contenu de votre message. Utilisez l'envoi basé sur un pool avec un pool par cas d'utilisation pour éviter les risques de conformité.

Exemple d'envoi direct

L'exemple suivant envoie un message directement via un ARN d'agent AWS RCS. Le message est délivré via RCS uniquement, sans aucune solution de secours par SMS.

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']}")
Note

Si l'appareil ou l'opérateur du destinataire ne prend pas en charge le RCS, le message n'est pas délivré. Aucune tentative de repli par SMS n'est tentée. Utilisez ce modèle uniquement lorsque vous souhaitez une RCS-or-nothing livraison ou lorsque vous gérez le remplacement des SMS en dehors de la messagerie destinée aux utilisateurs AWS finaux.

L'agent AI invite l'agent à envoyer des messages RCS

Si vous utilisez un assistant de codage IA génératif ou un agent AI, vous pouvez utiliser l'invite suivante pour obtenir de l'aide pour envoyer des messages RCS à l'aide de la AWS CLI ou du SDK.

Note

Copiez l'invite suivante et collez-la dans votre agent AI ou votre assistant de codage :

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

Gestion des reçus de livraison

AWS La messagerie destinée aux utilisateurs finaux fournit des reçus de livraison pour les messages RCS via Amazon EventBridge et définit les destinations des événements. Les reçus de livraison indiquent le statut final de votre message et le canal utilisé pour la livraison. Pour savoir comment configurer les destinations des événements afin de capturer les reçus de livraison et les autres événements liés aux messages, voirDestinations des événements dans les messages SMS destinés aux utilisateurs AWS finaux.

Valeurs du statut de livraison

Les valeurs d'état de livraison suivantes s'appliquent aux messages RCS :

LIVRÉ

Le message a été correctement envoyé à l'appareil du destinataire.

PENDING

Le message a été accepté par l'infrastructure RCS mais la confirmation de livraison n'a pas encore été reçue. Il se peut que le message soit toujours délivré.

EXPIRÉ

Le message n'a pas été remis dans le délai imparti. Pour les messages RCS avec SMS de secours, ce statut s'applique à la tentative de RCS avant que la solution de secours ne se produise.

NON LIVRABLE

Le message n'a pas pu être remis. Cela peut se produire lorsque l'appareil du destinataire est définitivement injoignable ou que le numéro de téléphone n'est pas valide.

REFUSÉE

Le message a été rejeté par l'infrastructure ou le transporteur RCS. Cela peut être dû à des violations de la politique de contenu ou à un filtrage au niveau de l'opérateur.

Attribution des chaînes

Les reçus de livraison incluent l'attribution du canal qui indique si le message a été délivré par RCS ou par SMS. Cela est important pour comprendre votre mix de livraison et à des fins de facturation.

  • Lorsqu'un message est délivré via RCS, le reçu de livraison indique que RCS est le canal de livraison et inclut l'identité de l'agent AWS RCS.

  • Lorsqu'un message redevient un SMS, le reçu de livraison indique que le SMS est le canal de livraison et inclut le numéro de téléphone SMS utilisé pour la livraison.

  • Lorsqu'un envoi direct (ARN de l'agent AWS RCS) échoue, le reçu de livraison indique que RCS est le canal tenté présentant un statut d'échec. Aucun reçu de secours par SMS n'est généré.

Pour plus de détails sur les CloudWatch métriques RCS et le suivi des modèles de livraison, voirCloudWatch Métriques et surveillance du RCS. Pour plus d'informations sur l'impact du canal de livraison sur la facturation, consultezModèle de facturation et de tarification RCS.