View a markdown version of this page

Invio di messaggi RCS - AWS SMS di messaggistica per l'utente finale

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di messaggi RCS

AWS End User Messaging utilizza la stessa SendTextMessage API per la consegna tramite RCS e SMS. Il modo in cui il servizio indirizza il messaggio dipende dall'identità di origine specificata nella richiesta. Puoi inviare messaggi tramite un pool di telefoni (consigliato), a livello di account o direttamente tramite un AWS RCS Agent ARN.

Questa sezione spiega i tre modelli di invio, come interpretare le ricevute di consegna e fornisce esempi di codice. Per dettagli sull'invio permanente, sull'ordine di priorità dell'identità di origine e sul fallback automatico degli SMS, consulta. Fallback da RCS a SMS utilizzando pool di telefoni Per dettagli sulla gestione degli agenti AWS RCS, consultaGestione degli agenti RCS.

Schemi di invio

AWS End User Messaging supporta tre modelli per l'invio di messaggi RCS. Ogni pattern determina in che modo il servizio seleziona un'identità di origine e se è disponibile il fallback automatico degli SMS.

Schemi di invio RCS
Pattern Come funziona Ripiego via SMS Quando utilizzare
Basato sul pool (consigliato) Specificate un ID del pool come identità di origine. Il servizio seleziona l'identità migliore dal pool. Tutti i casi d'uso. Fornisce la selezione automatica dei canali e il fallback degli SMS con un routing sicuro di conformità.
A livello di account Ometti l'identità di origine. Il servizio seleziona tra tutte le identità disponibili nel tuo account. Configurazioni semplici con un unico caso d'uso. Non consigliato per account con più casi d'uso.
Invio diretto Specificare un ARN dell'agente AWS RCS come identità di origine. Il messaggio viene inviato solo tramite RCS. No RCS-or-nothing casi d'uso o quando gestisci il fallback degli SMS al di fuori della messaggistica con l'utente AWS finale.

Invio basato sul pool (consigliato)

L'invio basato su pool è l'approccio consigliato per tutti i casi d'uso RCS. Quando si specifica un ID del pool come identità di origine nella SendTextMessage richiesta, AWS End User Messaging seleziona l'identità di origine migliore dal pool in base alla destinazione, alla disponibilità del canale e alla cronologia di invio permanente.

Se il pool contiene sia un agente AWS RCS che numeri di telefono SMS, il servizio tenta prima la consegna RCS. Se la consegna RCS fallisce, il servizio torna automaticamente agli SMS utilizzando un numero di telefono dello stesso pool. Poiché tutte le identità del pool sono registrate per lo stesso caso d'uso, il messaggio di fallback viene sempre inviato da un numero appropriato.

Per dettagli sulla creazione e configurazione di pool con AWS RCS Agents, consulta. Fallback da RCS a SMS utilizzando pool di telefoni

Invio a livello di account

Quando ometti l'identità di origine dalla tua SendTextMessage richiesta, AWS End User Messaging seleziona un'identità di origine tra tutte le identità disponibili nel tuo account. Il servizio utilizza l'ordine di priorità dell'identità di origine per determinare quale identità utilizzare. Per informazioni dettagliate, vedi Logica di fallback e ordine di priorità.

Importante

L'invio a livello di account crea un rischio di conformità se l'account contiene numeri di telefono registrati per diversi casi d'uso. Quando la consegna RCS fallisce e il servizio ricorre agli SMS, può selezionare un numero di telefono che non corrisponde al contenuto del messaggio. Ad esempio, un messaggio OTP potrebbe ricorrere a un numero verde registrato per i promemoria degli appuntamenti, violando i termini di registrazione per quel numero. Per evitare questo rischio, utilizzate l'invio basato su pool con un pool per caso d'uso. Per informazioni dettagliate, vedi Rischio di conformità con l'invio a livello di account.

Invio diretto (solo RCS)

Quando specifichi un ARN dell'agente AWS RCS come identità di origine nella richiesta AWS , End User Messaging invia SendTextMessage il messaggio solo tramite RCS. Non esiste un fallback automatico tramite SMS. Se il recapito RCS fallisce, il messaggio non viene riprovato su un altro canale.

Utilizza l'invio diretto quando:

  • Vuoi la RCS-or-nothing consegna. Il messaggio deve essere recapitato solo tramite RCS e preferisci che non venga recapitato tramite SMS.

  • È possibile gestire il fallback degli SMS al di fuori della messaggistica con l'utente AWS finale. L'applicazione gestisce la logica di fallback in modo indipendente, ad esempio rilevando un errore di consegna RCS e inviando un SMS separato tramite un sistema o un provider diverso.

Nota

L'invio diretto ignora tutta la logica di fallback degli SMS. Se il dispositivo o l'operatore del destinatario non supporta RCS, il messaggio non viene recapitato. Nella maggior parte dei casi d'uso, l'invio in pool è consigliato perché fornisce un fallback automatico degli SMS senza costi aggiuntivi.

Invio permanente, ordine prioritario e fallback degli SMS

Quando si inviano messaggi tramite un pool o a livello di account, AWS End User Messaging utilizza l'invio permanente (un'ottimizzazione del routing di 25 ore), un ordine di priorità delle identità di origine e il fallback automatico degli SMS per selezionare il canale e l'identità migliori per ogni messaggio. Per informazioni complete sul funzionamento di questi meccanismi, tra cui il fallback automatico, le ricevute di consegna durante il fallback e le implicazioni relative alla fatturazione, consulta. Fallback da RCS a SMS utilizzando pool di telefoni

Esempi di codice

I seguenti esempi in Python mostrano come inviare messaggi RCS utilizzando ciascuno dei tre modelli di invio. Tutti gli esempi utilizzano il pinpoint-sms-voice-v2 client boto3 e l'API. SendTextMessage

Esempio di invio basato su pool

L'esempio seguente invia un messaggio tramite un pool di telefoni. Il servizio seleziona l'identità di origine migliore dal pool e ricorre automaticamente agli SMS se la consegna RCS non è possibile.

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

Esempio di invio a livello di account

L'esempio seguente invia un messaggio a livello di account omettendo l'identità di origine. Il servizio seleziona un'identità tra tutte le identità disponibili nell'account utilizzando l'ordine di 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']}")
Importante

Se il tuo account contiene numeri di telefono registrati per diversi casi d'uso, l'invio a livello di account può indirizzare il fallback degli SMS verso un numero che non corrisponde al contenuto del messaggio. Utilizza l'invio basato su pool con un pool per caso d'uso per evitare rischi di conformità.

Esempio di invio diretto

L'esempio seguente invia un messaggio direttamente tramite un ARN di AWS RCS Agent. Il messaggio viene recapitato solo tramite RCS, senza fallback via 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']}")
Nota

Se il dispositivo o l'operatore del destinatario non supporta RCS, il messaggio non viene recapitato. Non viene tentato alcun tentativo di fallback via SMS. Utilizza questo schema solo quando desideri la RCS-or-nothing consegna o quando gestisci il fallback degli SMS al di fuori della messaggistica con l'utente AWS finale.

Richiesta dell'agente AI per l'invio di messaggi RCS

Se utilizzi un assistente di codifica AI generativo o un agente AI, puoi utilizzare il seguente prompt per ottenere assistenza nell'invio di messaggi RCS utilizzando la AWS CLI o l'SDK.

Nota

Copia il seguente prompt e incollalo nel tuo agente AI o assistente di codifica:

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

Gestione delle ricevute di consegna

AWS End User Messaging fornisce le ricevute di consegna per i messaggi RCS tramite Amazon EventBridge e le destinazioni degli eventi con set di configurazione. Le ricevute di consegna indicano lo stato finale del messaggio e il canale utilizzato per la consegna. Per informazioni su come configurare le destinazioni degli eventi per acquisire le ricevute di consegna e altri eventi relativi ai messaggi, consulta. Destinazioni degli eventi negli SMS di messaggistica per l'utente AWS finale

Valori dello stato della consegna

I seguenti valori dello stato di consegna si applicano ai messaggi RCS:

CONSEGNATO

Il messaggio è stato recapitato correttamente al dispositivo del destinatario.

IN ATTESA

Il messaggio è stato accettato dall'infrastruttura RCS ma la conferma di consegna non è stata ancora ricevuta. Il messaggio potrebbe ancora essere recapitato.

SCADUTO

Il messaggio non è stato recapitato entro il periodo di tempo consentito. Per i messaggi RCS con fallback SMS, questo stato si applica al tentativo RCS prima che si verifichi il fallback.

NON CONSEGNABILE

Il messaggio non può essere recapitato. Ciò può verificarsi quando il dispositivo del destinatario è permanentemente irraggiungibile o il numero di telefono non è valido.

REJECTED

Il messaggio è stato rifiutato dall'infrastruttura o dal gestore RCS. Ciò può verificarsi a causa di violazioni delle politiche sui contenuti o di filtri a livello di operatore.

Attribuzione del canale

Le ricevute di consegna includono l'attribuzione del canale che indica se il messaggio è stato recapitato tramite RCS o SMS. Questo è importante per comprendere il mix di spedizioni e ai fini della fatturazione.

  • Quando un messaggio viene recapitato tramite RCS, la ricevuta di consegna indica RCS come canale di consegna e include l'identità dell'agente AWS RCS.

  • Quando un messaggio diventa SMS, la ricevuta di consegna indica SMS come canale di consegna e include l'identità del numero di telefono SMS utilizzato per la consegna.

  • Quando un invio diretto (AWS RCS Agent ARN) fallisce, la ricevuta di consegna indica RCS come canale tentato con uno stato di errore. Non viene generata alcuna ricevuta di fallback via SMS.

Per i dettagli sulle CloudWatch metriche RCS e sul monitoraggio dei modelli di distribuzione, vedere. CloudWatch Metriche e monitoraggio RCS Per informazioni su come il canale di consegna influisce sulla fatturazione, consulta. Modello di fatturazione e prezzo RCS