As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Eventos de mensagem RCS
Quando você envia mensagens RCS com AWS End User Messaging, a plataforma RCS gera eventos que relatam alterações no ciclo de vida da mensagem, interações com destinatários e resultados em nível de sistema. Esses eventos fornecem sinais mais ricos do que os recibos de entrega de SMS tradicionais, oferecendo visibilidade em tempo real sobre se uma mensagem foi entregue, lida, expirou ou voltou para SMS ou MMS.
Os eventos de status de saída (entrega, leitura, expiração e fallback) são entregues por meio de destinos de eventos definidos na configuração. Os eventos de interação de entrada (indicadores de digitação e toques de sugestão) são entregues ao tópico bidirecional do Amazon SNS que você configura em seu agente RCS. Para configurar destinos de eventos, consulteDestinos de eventos em SMS de mensagens de usuário AWS final.
Para obter detalhes sobre as mensagens que geram esses eventos, consulteEnviando mensagens ricas de RCS.
Tópicos
Campos comuns em eventos do RCS
Todos os eventos do RCS, incluindo eventos de status de entrega, recibos de leitura e eventos de interação de entrada, incluem os seguintes campos que identificam o agente do RCS:
rcsBusinessId-
O identificador da plataforma do agente RCS que enviou ou recebeu a mensagem.
agentIsoCountryCode-
O código ISO do país no qual o agente RCS está registrado, por exemplo
USouCA.
Esses campos estão presentes em todos os eventos do RCS. Eles não estão incluídos em eventos de SMS ou MMS.
Eventos de status de entrega
Os eventos de status de entrega indicam o estado do ciclo de vida de uma mensagem RCS de saída. Você usa esses eventos para confirmar a entrega, acionar a lógica de fallback ou alertar sua equipe de operações sobre violações de conteúdo.
Cada evento de status de saída tem um eventType de RCS_DELIVERED (e tipos de eventos de status RCS relacionados) e um messageStatus campo que contém um dos seguintes valores:
DELIVERED-
A mensagem chegou ao dispositivo do destinatário. Use esse evento para cancelar qualquer cronômetro de fallback pendente.
PENDING-
A plataforma RCS aceitou a mensagem, mas ainda não a entregou. Inicie seu cronômetro de fallback ao receber este evento.
UNDELIVERABLE-
A plataforma não pode entregar a mensagem permanentemente (por exemplo, o dispositivo do destinatário não suporta RCS). Acione seu fallback de SMS ou MMS e sinalize o número de telefone para futuras decisões de roteamento.
REJECTED-
A mensagem foi rejeitada devido a uma violação da política de conteúdo. Alerte sua equipe de operações e analise o conteúdo da mensagem.
O exemplo a seguir mostra a carga útil de um evento de entrega:
{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1781661267660, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.007, "totalCarrierFee": 0.00494, "rcsMetadata": { "billingEventType": "RICH" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }
nota
Os eventos de status para mensagens RCS avançadas incluem metadados de cobrança. O rcsMetadata.billingEventType valor é RICH para mensagens RCS avançadas.
Leia os recibos
Um recibo de leitura indica que o destinatário abriu ou visualizou sua mensagem. Use recibos de leitura para monitorar o engajamento e medir as taxas de leitura.
READ-
O destinatário visualizou a mensagem. Um
RCS_DELIVEREDevento é sempre enviado antes ou junto com oRCS_READevento. Portanto, se você não processou um evento de entrega separado, trate a mensagem como entregue ao receber o evento lido.
O evento de leitura usa um eventType of RCS_READ com messageStatus definido comoREAD:
{ "eventType": "RCS_READ", "eventVersion": "1.0", "eventTimestamp": 1781661267203, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "READ", "messageStatusDescription": "Message has been read by recipient", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }
Você pode calcular sua taxa de leitura como o número de READ eventos dividido pelo número de DELIVERED eventos, multiplicado por 100.
Indicadores de digitação
Os eventos do indicador de digitação sinalizam que um participante está redigindo uma mensagem. Esses eventos fluem nas duas direções:
-
Entrada (de usuário para agente): quando o destinatário começa a redigir uma resposta, você recebe uma notificação de entrada sobre seu tópico bidirecional do Amazon SNS. O
messageBodycontém um objeto JSON com umtypedeRCS_TYPING. Use isso para preparar sua lógica de conversação ou exibir o status em seu painel. -
Saída (agente para usuário): indicadores de Agent-initiated digitação, que mostram ao destinatário que seu agente está preparando uma resposta, são um recurso planejado. Verifique as notas de versão do AWS End User Messaging para ver a disponibilidade atual.
O exemplo a seguir mostra uma notificação de digitação recebida:
{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"RCS_TYPING\",\"receivedAt\":\"2026-06-17T17:36:29.937+0000\"}", "inboundMessageId": "12679164820-2026-06-17T17:36:29.937+0000" }
nota
Agent-initiated indicadores de digitação e recibos de leitura iniciados pelo agente, que seu agente envia ao destinatário, são recursos planejados. Verifique as notas de versão do AWS End User Messaging para ver a disponibilidade atual.
Eventos de expiração de TTL
Quando você define um TimeToLive valor em uma mensagem e o TTL expira antes que a mensagem seja entregue, a plataforma RCS tenta revogar (excluir) a mensagem. O resultado gera um dos seguintes eventos:
TTL_EXPIRATION_REVOKED-
A mensagem expirada foi removida com sucesso antes que o destinatário a visualizasse. Você pode acionar com segurança o fallback de SMS ou MMS para garantir que o destinatário receba o conteúdo.
TTL_EXPIRATION_REVOKE_FAILED-
A revogação falhou e a mensagem ainda pode ser entregue ao destinatário. Nesse caso, avalie se o envio de uma mensagem alternativa resultaria em uma duplicata antes de continuar.
Os eventos de expiração do TTL funcionam em conjunto com sua estratégia alternativa. Para obter detalhes sobre como configurar a expiração da mensagem, consulteConfigurando a expiração da mensagem RCS.
Eventos alternativos
Quando uma mensagem RCS não pode ser entregue e o AWS End User Messaging aciona um fallback de SMS ou MMS (seja por meio de configuração baseada em pool ou por mensagemFallbackConfiguration), o serviço gera eventos que indicam o resultado do fallback.
Eventos alternativos indicam:
-
Se a mensagem alternativa foi enviada com sucesso.
-
O canal usado para fallback (SMS ou MMS).
-
O motivo pelo qual a mensagem RCS original não foi entregue (por exemplo, ausência do dispositivo, expiração do TTL ou indisponibilidade da plataforma). RCS-capable
Monitore esses eventos para medir sua taxa de fallback e identificar números de telefone que exigem consistentemente a entrega de fallback. Para obter detalhes sobre como configurar o fallback por mensagem, consulte. Configurando o fallback de SMS ou MMS por mensagem
Sugestão de eventos de toque (postback)
Quando um destinatário escolhe uma sugestão (uma resposta sugerida ou uma ação sugerida), você recebe um evento de postback contendo a PostbackData string que você configurou nessa sugestão. Use dados de postback para rotear sua lógica de conversação, não o texto exibido.
Importante
Os eventos de toque de sugestão (postback) são entregues somente para seu tópico bidirecional do Amazon SNS, não para destinos de eventos definidos pela configuração.
A notificação messageBody contém um objeto JSON com um type deSUGGESTION, a exibição text e o postbackData que você definiu na sugestão:
{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"SUGGESTION\",\"text\":\"Open\",\"postbackData\":\"Open\"}", "inboundMessageId": "nIMYZGrBUILWng0Qck0deqVaAoTSJY5PsktKYOBYJhVaTsrdMdrs714e8SLZAjD3" }
Para obter detalhes sobre como configurar sugestões e seus dados de postback, consulteConfigurando sugestões de RCS.
Importante
Crie seus PostbackData valores como identificadores estruturados (por exemplo,action:confirm_order:12345) para que você possa analisá-los programaticamente. Evite confiar no texto exibido, que pode mudar sem afetar sua lógica de roteamento.
Eventos e campos de preços conversacionais
Se você registrar seu agente RCS para usar preços de conversação, o AWS End User Messaging adicionará campos aos eventos de entrega e de entrada enquanto uma mensagem fizer parte de uma sessão de conversa ativa e enviará um CONVERSATION_STARTED evento quando a sessão começar. Para obter uma visão geral do modelo de preços conversacionais, consultePreços conversacionais.
Campos de conversação
Os campos a seguir aparecem em um evento de entrega ou de entrada somente quando a mensagem faz parte de uma sessão de conversa ativa. Quando a mensagem não faz parte de uma conversa, o AWS End User Messaging omite totalmente esses campos.
conversationInitiatingMessageId-
O ID da mensagem que iniciou a sessão de conversação. Presente na entrega e em eventos recebidos.
conversationInitiatingMessageType-
Como a conversa começou:
OUTBOUNDquando seu agente enviou a primeira mensagem ouINBOUNDquando o destinatário enviou a primeira mensagem. Presente na entrega e em eventos recebidos. conversationSessionFee-
A taxa de sessão única, em dólares americanos, é cobrada uma vez por sessão de conversação de 24 horas. Presente somente em eventos de entrega.
Quando uma mensagem faz parte de uma sessão de conversa ativa, seu evento de entrega relata um totalMessagePrice e totalCarrierFee um0.0, porque a taxa da sessão cobre a mensagem. O exemplo a seguir mostra um evento de entrega de uma mensagem em uma conversa ativa:
{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1751234567890, "isFinal": true, "originationPhoneNumber": "rcs-f4e4252a5abe48bea50a6c176a056124", "destinationPhoneNumber": "+14376638816", "isoCountryCode": "CA", "isInternationalSend": false, "messageId": "b4a3196d-5b61-4884-a0d9-745acf1f6235", "messageRequestTimestamp": 1751234565000, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsMetadata": { "billingEventType": "BASIC" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "CA", "conversationInitiatingMessageId": "177930985040408106521449", "conversationInitiatingMessageType": "OUTBOUND", "conversationSessionFee": 0.012 }
evento CONVERSATION_STARTED
AWSO End User Messaging envia um CONVERSATION_STARTED evento para o tópico Amazon SNS do seu evento RCS quando uma sessão de conversa começa. Uma sessão começa quando seu agente envia uma mensagem e o destinatário responde em 24 horas (iniciado pela empresa), ou quando o destinatário envia uma mensagem e seu agente responde (iniciado pelo usuário).
O messageBody contém um objeto JSON com os seguintes campos:
typeSempre
CONVERSATION_STARTED.startTimeA hora de início da sessão, no formato ISO 8601.
endTimeO tempo de expiração da sessão, no formato ISO 8601. Isso é sempre 24 horas depois
startTime.conversationInitiatingMessageIdO ID da mensagem que iniciou a conversa.
conversationInitiatingMessageTypeOUTBOUNDquando seu agente enviou a primeira mensagem ouINBOUNDquando o destinatário enviou a primeira mensagem.
O exemplo a seguir mostra um CONVERSATION_STARTED evento:
{ "originationNumber": "14376638816", "destinationNumber": "rcs-e138fa39eabf4d6d8e95546248c8dfa7", "messageBody": "{\"type\":\"CONVERSATION_STARTED\",\"startTime\":\"2026-06-28T04:03:08.002+0000\",\"endTime\":\"2026-06-29T04:08:08.002+0000\",\"conversationInitiatingMessageId\":\"7e7da6ec-234a-4d4f-bbc5-943bcca663ab\",\"conversationInitiatingMessageType\":\"OUTBOUND\"}", "inboundMessageId": "7e7da6ec-234a-4d4f-bbc5-943bcca663ab" }
Encaminhamento de eventos para destinos
AWSO End User Messaging roteia eventos RCS por meio de destinos de eventos definidos na configuração. Você configura destinos de eventos no conjunto de configurações associado às suas operações de envio. Os destinos compatíveis incluem:
- Amazon SNS
-
Use um tópico do Amazon SNS para processamento de eventos em tempo real, incluindo o acionamento de funções AWS Lambda para responder a recibos de entrega ou toques de sugestão.
- Amazon Data Firehose
-
Use um stream de entrega do Firehose para enviar eventos para o Amazon S3, Amazon Redshift ou outros destinos de análise para armazenamento e geração de relatórios a longo prazo.
- CloudWatch Registros da Amazon
-
Use CloudWatch os registros para depuração, análise de registros e configuração de CloudWatch alarmes em padrões de eventos (por exemplo, alertas sobre altas taxas de rejeição).
Para saber como criar e configurar destinos de eventos, consulteDestinos de eventos em SMS de mensagens de usuário AWS final.
Ao ligarSendRcsMessage, especifique o ConfigurationSetName parâmetro para associar a mensagem ao seu conjunto de configurações. Os eventos de status de saída gerados por essa mensagem são roteados para os destinos que você configurou.
Ao configurar os tipos de eventos aos quais um destino de evento corresponde, você pode RCS_ALL optar por se inscrever em todos os tipos de eventos RCS com um único tipo de correspondência, em vez de listar cada tipo de evento RCS individualmente (como RCS_DELIVERED eRCS_READ).
nota
Eventos de interação de entrada, incluindo indicadores de digitação e toques de sugestão (postbacks), são entregues para o tópico bidirecional do Amazon SNS configurado em seu agente RCS, não para destinos de eventos definidos.
Práticas recomendadas para processamento de eventos
-
Configure os destinos dos eventos antes de começar a enviar mensagens de produção. Isso garante que você capture todos os eventos desde o início.
-
Use
DELIVEREDeventos para cancelar temporizadores de fallback. Se você receber uma confirmação de entrega, não envie um substituto por SMS ou MMS. -
Processe eventos de assinatura (
UNSUBSCRIBE) imediatamente para manter a conformidade com os regulamentos de mensagens. -
Implemente o processamento de eventos idempotente. Use o identificador da mensagem combinado com o tipo de evento como uma chave de desduplicação para lidar com entregas duplicadas de eventos.
-
Lide com eventos fora de ordem comparando os registros de data e hora dos eventos. Os eventos podem chegar em uma ordem diferente da que ocorreram.
-
Monitore as taxas de rejeição e impossibilidade de entrega com CloudWatch alarmes para detectar problemas de conteúdo ou problemas de segmentação com antecedência.