new_releases Updates: Check the
release notes for new features and product updates.
Conversation flows
Stay organized with collections
Save and categorize content based on your preferences.
Sending and receiving messages and events are the core aspects of communication
between an agent and a user. Agents send messages, events, and requests to users
through HTTP POST requests to the RBM API but receive user-created messages and
events at the configured
webhook.
Following is an example of conversation flow that uses sample data to illustrate
how messages, events, and requests can create useful and meaningful
interactions.
Hello, World!

In this example, the agent sends Hello, World!
as
a message to the user, and the user responds with Hello to you!
.

The agent sends a capability check request to verify that the user's device
is RBM-capable.
The agent sends:
GET
/v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot
HTTP/1.1
Host: us-rcsbusinessmessaging.googleapis.com
Content-Type: application/json
The RBM platform sends the agent a capability check response indicating that
the user's device can receive RBM messages.
The agent receives:
{
"rbmEnabled": true,
"features": [
"REVOCATION",
"RICHCARD_STANDALONE",
"RICHCARD_CAROUSEL",
"ACTION_CREATE_CALENDAR_EVENT",
"ACTION_DIAL",
"ACTION_OPEN_URL",
"ACTION_SHARE_LOCATION",
"ACTION_VIEW_LOCATION"
]
}
The agent sends the Hello, World!
message to the RBM API, which passes
it to the user's device.
The agent sends:
POST
/v1/phones/+12223334444/agentMessages?messageId=123&agentId=welcome-bot
HTTP/1.1
Host: us-rcsbusinessmessaging.googleapis.com
Content-Type: application/json
{
"contentMessage": {
"text": "Hello, World!",
}
}
The RBM platform sends the message to the user's device and sends a
DELIVERED
event to the agent.
The agent receives:
{
"senderPhoneNumber": "+12223334444",
"agentId": "welcome-bot@rbm.goog",
"eventType": "DELIVERED",
"eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
"messageId": "123"
}
The user opens the message on their device, which sends a READ
event to
the agent.
The agent receives:
{
"senderPhoneNumber": "+12223334444",
"agentId": "welcome-bot@rbm.goog",
"eventType": "READ",
"eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
"messageId": "123"
}
The user writes and sends a reply to the agent.
The agent receives:
{
"senderPhoneNumber": "+12223334444",
"agentId": "welcome-bot@rbm.goog",
"messageId": "msg000999888777a",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"text": "Hello to you!",
}
The RBM platform automatically sends the user's device a DELIVERED
event
when it receives the user's message.
The agent sends a READ
event in response to the user's message to let them
know it was received and acknowledged.
The agent sends:
POST
/v1/phones/+12223334444/agentEvents?eventId=1234&agentId=welcome-bot
HTTP/1.1
Host: us-rcsbusinessmessaging.googleapis.com
Content-Type: application/json
{
"eventType": "READ",
"messageId": "msg000999888777a"
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-11-14 UTC.
[null,null,["Last updated 2024-11-14 UTC."],[[["\u003cp\u003eAgents communicate with users by sending messages, events, and requests via HTTP POST requests to the RBM API.\u003c/p\u003e\n"],["\u003cp\u003eUser-created messages and events are received by agents at a designated webhook.\u003c/p\u003e\n"],["\u003cp\u003eA capability check request is initially sent by the agent to determine if the user's device supports RBM.\u003c/p\u003e\n"],["\u003cp\u003eMessages sent by an agent trigger \u003ccode\u003eDELIVERED\u003c/code\u003e and \u003ccode\u003eREAD\u003c/code\u003e events back to the agent, confirming the message's status.\u003c/p\u003e\n"],["\u003cp\u003eWhen a user replies, the agent receives the message, and a subsequent \u003ccode\u003eREAD\u003c/code\u003e event can be sent by the agent to confirm receipt.\u003c/p\u003e\n"]]],[],null,["# Conversation flows\n\nSending and receiving messages and events are the core aspects of communication\nbetween an agent and a user. Agents send messages, events, and requests to users\nthrough HTTP POST requests to the RBM API but receive user-created messages and\nevents at the configured\n[webhook](/business-communications/rcs-business-messaging/guides/integrate/webhooks).\n\nFollowing is an example of conversation flow that uses sample data to illustrate\nhow messages, events, and requests can create useful and meaningful\ninteractions.\n\nHello, World!\n-------------\n\nIn this example, the agent sends `Hello, World!` as\na message to the user, and the user responds with `Hello to you!`.\n\n1. The agent sends a capability check request to verify that the user's device\n is RBM-capable.\n\n The agent sends: \n\n ```text\n GET\n /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot\n HTTP/1.1\n Host: us-rcsbusinessmessaging.googleapis.com\n Content-Type: application/json\n ```\n2. The RBM platform sends the agent a capability check response indicating that\n the user's device can receive RBM messages.\n\n The agent receives: \n\n ```component-pascal\n {\n \"rbmEnabled\": true,\n \"features\": [\n \"REVOCATION\",\n \"RICHCARD_STANDALONE\",\n \"RICHCARD_CAROUSEL\",\n \"ACTION_CREATE_CALENDAR_EVENT\",\n \"ACTION_DIAL\",\n \"ACTION_OPEN_URL\",\n \"ACTION_SHARE_LOCATION\",\n \"ACTION_VIEW_LOCATION\"\n ]\n }\n ```\n3. The agent sends the `Hello, World!` message to the RBM API, which passes\n it to the user's device.\n\n The agent sends: \n\n ```text\n POST\n /v1/phones/+12223334444/agentMessages?messageId=123&agentId=welcome-bot\n HTTP/1.1\n Host: us-rcsbusinessmessaging.googleapis.com\n Content-Type: application/json\n {\n \"contentMessage\": {\n \"text\": \"Hello, World!\",\n }\n }\n ```\n4. The RBM platform sends the message to the user's device and sends a\n `DELIVERED` event to the agent.\n\n The agent receives: \n\n ```transact-sql\n {\n \"senderPhoneNumber\": \"+12223334444\",\n \"agentId\": \"welcome-bot@rbm.goog\",\n \"eventType\": \"DELIVERED\",\n \"eventId\": \"Ms6oOiEli6QS-fe8QFrmhfIg\",\n \"messageId\": \"123\"\n }\n ```\n5. The user opens the message on their device, which sends a `READ` event to\n the agent.\n\n The agent receives: \n\n ```transact-sql\n {\n \"senderPhoneNumber\": \"+12223334444\",\n \"agentId\": \"welcome-bot@rbm.goog\",\n \"eventType\": \"READ\",\n \"eventId\": \"Ms6oOiEli6QS-ge9ZFsmgTj\",\n \"messageId\": \"123\"\n }\n ```\n6. The user writes and sends a reply to the agent.\n\n The agent receives: \n\n ```transact-sql\n {\n \"senderPhoneNumber\": \"+12223334444\",\n \"agentId\": \"welcome-bot@rbm.goog\",\n \"messageId\": \"msg000999888777a\",\n \"sendTime\": \"2018-12-31T15:01:23.045123456Z\",\n \"text\": \"Hello to you!\",\n }\n ```\n7. The RBM platform automatically sends the user's device a `DELIVERED` event\n when it receives the user's message.\n\n8. The agent sends a `READ` event in response to the user's message to let them\n know it was received and acknowledged.\n\n The agent sends: \n\n ```text\n POST\n /v1/phones/+12223334444/agentEvents?eventId=1234&agentId=welcome-bot\n HTTP/1.1\n Host: us-rcsbusinessmessaging.googleapis.com\n Content-Type: application/json\n {\n \"eventType\": \"READ\",\n \"messageId\": \"msg000999888777a\"\n }\n ```"]]