View a markdown version of this page

Invio di messaggi RCS - AWS Messaggistica SMS 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 La messaggistica per gli utenti finali utilizza la stessa SendTextMessage API per la consegna 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 informazioni dettagliate sull'invio permanente, sull'identità di origine, sull'ordine di priorità e sul fallback automatico degli SMS, consulta. Fallback da RCS a SMS utilizzando pool di telefoni Per informazioni dettagliate sulla gestione degli agenti AWS RCS, consulta. Gestione degli agenti RCS

Nota

Questa pagina descrive l'invio di messaggi di testo tramite RCS e SMS con l'SendTextMessageAPI. Per inviare contenuti RCS avanzati, come rich card, caroselli, file multimediali e suggerimenti interattivi, utilizza invece l'API. SendRcsMessage Per un confronto tra le due azioni API e indicazioni su quali scegliere, consulta. Scegliendo tra e SendTextMessage SendRcsMessage

Schemi di invio

AWS La messaggistica per gli utenti finali supporta tre modelli per l'invio di messaggi RCS. Ogni modello determina il modo in cui il servizio seleziona un'identità di origine e se è disponibile il fallback automatico degli SMS.

Schemi di invio RCS
Pattern Come funziona Riserva SMS Quando utilizzarlo
Pool-based (consigliato) Specifica un ID del pool come identità di origine. Il servizio seleziona l'identità migliore dal pool. Sì Tutti i casi d'uso. Fornisce la selezione automatica dei canali e il fallback degli SMS con un routing sicuro per la conformità.
Account-level Ometti l'identità di origine. Il servizio seleziona tra tutte le identità disponibili nel tuo account. Sì Configurazioni semplici con un unico caso d'uso. Non consigliato per account con più casi d'uso.
Invio diretto Specifica un AWS RCS Agent ARN come identità di origine. Il messaggio viene inviato solo tramite RCS. No RCS-or-nothing casi d'uso o quando si gestisce il fallback degli SMS al di fuori della messaggistica per gli utenti AWS finali.

Pool-based invio (consigliato)

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

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 ritorna 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 riserva viene sempre inviato da un numero appropriato.

Per informazioni dettagliate sulla creazione e la configurazione dei pool con gli agenti AWS RCS, consulta. Fallback da RCS a SMS utilizzando pool di telefoni

Account-level invio

Quando si omette l'identità di origine dalla SendTextMessage richiesta, AWS End User Messaging seleziona un'identità di origine tra tutte le identità disponibili nell'account dell'utente. Se il tuo account ha un agente AWS RCS attivo, il servizio tenta prima la consegna RCS. Se la consegna RCS non va a buon fine, il servizio ricorre a un numero di telefono dedicato o a un ID mittente nell'account. I percorsi SMS condivisi non sono supportati per il fallback RCS. Se l'account non contiene un mittente dedicato valido per il paese di destinazione, il messaggio non viene visualizzato. 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

Account-level L'invio comporta un rischio di conformità se l'account contiene numeri di telefono registrati per diversi casi d'uso. Se la consegna RCS fallisce e il servizio ritorna agli SMS, può selezionare un numero di telefono che non corrisponde al contenuto del messaggio. Ad esempio, un messaggio OTP potrebbe ricondurre a un numero verde registrato per i promemoria degli appuntamenti, violando i termini di registrazione di quel numero. Per evitare questo rischio, utilizza 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 si specifica un AWS RCS Agent ARN come identità di origine nella SendTextMessage richiesta, la messaggistica per gli utenti AWS finali invia il messaggio solo tramite RCS. Non è previsto un fallback automatico per gli SMS. Se la consegna RCS ha esito negativo, il messaggio non viene ritentato 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 la mancata consegna rispetto alla consegna tramite SMS.

  • Il fallback degli SMS viene gestito al di fuori della messaggistica per gli utenti AWS finali. L'applicazione gestisce la logica di fallback in modo indipendente, ad esempio rilevando il mancato recapito di RCS e inviando un SMS separato tramite un sistema o provider diverso.

Nota

L'invio diretto bypassa 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, si consiglia l'invio basato su pool perché fornisce un fallback automatico degli SMS senza costi aggiuntivi.

Invio permanente, ordine prioritario e riserva SMS

Quando invii 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à dell'identità di origine e un fallback automatico via SMS per selezionare il canale e l'identità migliori per ogni messaggio. Per i dettagli completi su come funzionano questi meccanismi, tra cui il fallback automatico, le ricevute di consegna durante il fallback e le implicazioni di fatturazione, consulta. Fallback da RCS a SMS utilizzando pool di telefoni

Esempi di codice

I seguenti esempi in Python dimostrano 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

Pool-based esempio di invio

L'esempio seguente invia un messaggio tramite un pool di telefoni. Il servizio seleziona la migliore identità di origine 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']}")

Account-level esempio di invio

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 gli SMS di riserva tramite 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 AWS RCS Agent ARN. 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 modello solo quando desideri la RCS-or-nothing consegna o quando gestisci il fallback degli SMS al di fuori della messaggistica per gli utenti AWS finali.

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 tramite la CLI o l' AWS 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 La messaggistica per gli utenti finali fornisce le ricevute di consegna dei messaggi RCS tramite Amazon EventBridge e le destinazioni degli eventi impostate di configurazione. Le ricevute di consegna indicano lo stato finale del messaggio e il canale utilizzato per la consegna. Per informazioni su come impostare le destinazioni degli eventi per acquisire le ricevute di consegna e altri eventi dei messaggi, consulta. Destinazioni degli eventi negli SMS di messaggistica per l'utente AWS finale

Valori relativi allo stato della spedizione

I seguenti valori relativi allo stato del recapito 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 essere ancora recapitato.

SCADUTO

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

NON RECAPITABILE

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 norme sui contenuti o di filtri a livello di operatore.

Attribuzione del canale

Le ricevute di recapito includono l'attribuzione del canale che indica se il messaggio è stato recapitato tramite RCS o SMS. Questo è importante per comprendere il mix di consegna e per scopi di 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 ritorna agli 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) ha esito negativo, la ricevuta di consegna indica RCS come canale tentato con stato di errore. Non viene generata alcuna ricevuta alternativa via SMS.

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