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 des utilisateurs finaux utilise la même SendTextMessage API pour le RCS et l'envoi de SMS. La façon 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'ordre de priorité de l'identité d'origine et le retour automatique des SMS, consultez. Solution de repli entre RCS et SMS à l'aide de pools téléphoniques Pour plus d'informations sur la gestion des agents AWS RCS, consultezGestion des agents RCS.
Note
Cette page décrit l'envoi de messages texte via RCS et de SMS avec l'SendTextMessageAPI. Pour envoyer du contenu RCS enrichi, tel que des cartes enrichies, des carrousels, des fichiers multimédia et des suggestions interactives, utilisez plutôt l'SendRcsMessageAPI. Pour une comparaison des deux actions d'API et des conseils sur les choix à effectuer, consultezChoisir entre SendTextMessage et SendRcsMessage.
Rubriques
Modes d'envoi
AWS La messagerie des utilisateurs finaux 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 un retour automatique des SMS est disponible.
| Modèle | Comment ça marche | Solution de repli par SMS | Quand l’utiliser |
|---|---|---|---|
| Pool-based (recommandé) | Spécifiez un ID de pool comme identité d'origine. Le service sélectionne la meilleure identité parmi le pool. | Oui | Tous les cas d'utilisation. Permet de sélectionner automatiquement les canaux et de renvoyer les SMS avec un routage conforme à la réglementation. |
| Account-level | 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 présentant plusieurs cas d'utilisation. |
| Envoi direct | Spécifiez un ARN d'agent AWS RCS comme identité d'origine. Le message est envoyé via RCS uniquement. | Non | RCS-or-nothing cas d'utilisation, ou lorsque vous gérez le repli des SMS en dehors de la messagerie des utilisateurs AWS finaux. |
Pool-based envoi (recommandé)
Pool-based l'envoi 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, la messagerie des utilisateurs AWS finaux sélectionne la meilleure identité d'origine parmi le pool en fonction de la destination, de la disponibilité des canaux et de l'historique des envois permanent.
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 distribuer le RCS. Si la livraison RCS échoue, le service revient automatiquement aux SMS en utilisant un numéro de téléphone du même pool. Étant donné que toutes les identités du pool sont enregistrées pour le même cas d'utilisation, le message de secours est toujours envoyé depuis un numéro approprié.
Pour plus d'informations 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.
Account-level envoi
Lorsque vous omettez l'identité d'origine dans votre SendTextMessage demande, AWS la messagerie des utilisateurs finaux sélectionne une identité d'origine parmi toutes les identités disponibles sur votre compte. Si un agent AWS RCS est actif sur votre compte, le service tente d'abord de fournir le RCS. Si la livraison RCS échoue, le service revient à un numéro de téléphone dédié ou à un identifiant d'expéditeur sur le compte. Les itinéraires SMS partagés ne sont pas pris en charge pour le repli RCS. Si le compte ne contient pas d'expéditeur dédié valide pour le pays de destination, le message échoue. Le service utilise l'ordre de priorité des identités d'origine pour déterminer l'identité à utiliser. Pour plus de détails, consultez Logique de repli et ordre de priorité.
Important
Account-level l'envoi 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 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 plus de détails, 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, la messagerie des utilisateurs AWS finaux envoie le message via RCS uniquement. Il n'existe pas de solution de secours automatique par SMS. Si la livraison RCS échoue, le message n'est pas réessayé sur un autre canal.
Utilisez l'envoi direct lorsque :
-
Vous voulez être RCS-or-nothing livré. Le message ne doit être transmis que via RCS, et vous préférez ne pas le recevoir à la livraison par SMS.
-
Vous gérez le repli des SMS en dehors de la messagerie des utilisateurs AWS finaux. Votre application gère la logique de repli de manière indépendante, par exemple en détectant un échec de livraison du RCS et en envoyant un SMS distinct via un système ou un fournisseur différent.
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 basé sur un pool est recommandé car il permet de renvoyer automatiquement les SMS sans frais supplémentaires.
Envoi permanent, ordre de priorité et solution de repli des SMS
Lorsque vous envoyez des messages via un pool ou au niveau du compte, la messagerie des utilisateurs AWS finaux utilise l'envoi permanent (optimisation du routage sur 25 heures), un ordre de priorité des identités d'origine et un retour automatique des SMS pour 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 pendant le repli et les implications en matière de facturation, consultez. 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.
Pool-based exemple d'envoi
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']}")
Account-level exemple d'envoi
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 sur 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 renvoyer 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 tout risque de conformité.
Exemple d'envoi direct
L'exemple suivant envoie un message directement via l'ARN d'un agent AWS RCS. Le message est transmis via RCS uniquement, sans aucune réponse 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 diffusion ou lorsque vous gérez le repli des SMS en dehors de la messagerie des utilisateurs AWS finaux.
Un agent IA est invité à envoyer des messages RCS
Si vous utilisez un assistant de codage IA génératif ou un agent IA, vous pouvez utiliser l'invite suivante pour obtenir de l'aide pour envoyer des messages RCS à l'aide de l' AWS interface de ligne de commande ou du SDK.
Note
Copiez l'invite suivante et collez-la dans votre agent IA 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 des utilisateurs finaux fournit des accusés de réception pour les messages RCS via Amazon EventBridge et définit la configuration des 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 des destinations d'événements afin de capturer des reçus de livraison et d'autres événements liés aux messages, consultezDestinations des événements dans les messages SMS destinés aux utilisateurs AWS finaux.
Valeurs relatives à l'état de livraison
Les valeurs d'état de remise suivantes s'appliquent aux messages RCS :
- LIVRÉ
-
Le message a été transmis avec succès à 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. Le message peut toujours être transmis.
- EXPIRÉ
-
Le message n'a pas été livré dans le délai imparti. Pour les messages RCS avec retour par SMS, ce statut s'applique à la tentative RCS avant que la solution de secours ne se produise.
- NON LIVRABLE
-
Le message n'a pas pu être transmis. Cela peut se produire lorsque l'appareil du destinataire est définitivement inaccessible ou que le numéro de téléphone n'est pas valide.
- REFUSÉE
-
Le message a été rejeté par l'infrastructure ou l'opérateur 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é via RCS ou SMS. Ceci est important pour comprendre votre mix de livraisons et à des fins de facturation.
-
Lorsqu'un message est transmis via RCS, le reçu de livraison indique RCS comme canal de distribution et inclut l'identité de l'agent AWS RCS.
-
Lorsqu'un message revient au statut de SMS, le reçu de livraison indique que le SMS est le canal de distribution et inclut l'identité du numéro de téléphone SMS qui a été utilisé pour la livraison.
-
Lorsqu'un envoi direct (ARN de l'agent AWS RCS) échoue, le reçu de livraison indique RCS comme canal tenté avec 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 la surveillance des modèles de distribution, consultezCloudWatch Métriques et surveillance du RCS. Pour plus d'informations sur la manière dont le canal de distribution affecte la facturation, consultezModèle de facturation et de tarification RCS.