Global billing types
Global RCS billing types apply to traffic outside the United States. Each type reflects how a message is classified based on its content, format, and whether it is part of a conversational session between a business and an end user.
| Type | Description |
|---|---|
| Basic message | An application-to-person (A2P) message that:
Conversational agents only: |
| Single message | An application-to-person (A2P) message that:
Conversational agents only: |
| A2P conversation | Conversational agents only: Note If a P2A message is delivered within 24 hours of multiple A2P messages, only the A2P message that immediately preceded the P2A message is used to create the conversation session. |
| P2A conversation | Conversational agents only:
|
Mobile terminated (A2P) session/conversation scenarios
A2P scenario 1
The brand sends a message (MT 1) to the end user, to which the end user responds with MO 1, triggering session billing. The session lasts 24 hours, starting from the end user's response (MO 1). The first message from the brand (MT 1) is also included in session billing.
A2P scenario 2
The brand sent a message to which the end user never responded. The message is being billed as single/basic.
A2P scenario 3
The brand sent two messages within 24 hours. Each time a brand sends a message, the time period resets and starts again for the next 24 hours. That means that MT1 will be billed as a single message. The rest of the communication is within the scope of the session (which lasts 24 hours).
A2P scenario 4
The brand sent a message (MT 1) to which the end user (MO 1) responded after 24 hours. This MT1 message is being billed as single/basic. In this case, the end user's response (MO 1) has not triggered any session or any type of billing. This is only because MT 2 also occurred after 24 hours of the MO 1 message. So, after the second MT2 message from the brand, the session procedure is the same as in scenario 1.
Mobile originated (P2A) session/conversation scenarios
P2A scenario 1
This example shows P2A communication, where the end user initiates the communication. A 24-hour window session starts with an MOx message prior to A2P, and all A2P messages from that point are billed as a session (until the 24-hour window runs out).
Before MO1, there were no MTx messages or ongoing sessions in the previous 24 hours.
P2A scenario 2
In the case of multiple MO messages, only the last MO message (in this case, MO3) prior to MT1 will start the 24-hour window session, and the same logic applies as in P2A scenario 1.
- MO1 - 9:00 - 24-hour window begins
- MO2 - 10:00 - 24-hour window begins
- MO3 - 11:00 - 24-hour window begins
- MT1 - 24:00 - first message
- MO4 - 9:00 next day
- MT2 - 10:59:59 - 24-hour session ends
P2A scenario 3
This scenario covers a situation where there was no response to the brand message (MT 1) in a 24-hour period. Even though the end user responded (MO 1) after some point, this response was after the first 24-hour session period, which means this is the beginning of a P2A session.
Tracking billing with webhooks
RCS webhooks include a trafficType field that reports the billing classification applied to each message. This field maps to the global billing types as follows:
| trafficType value | Billing type |
|---|---|
BASIC | Basic message (global) |
SINGLE | Single message (global) |
A2P_CONVERSATION | A2P conversation (global) |
P2A_CONVERSATION | P2A conversation (global) |
Conversation tracking:
When a conversational billing session starts, you receive a Conversation Started webhook event. This event includes a conversation.id field that identifies the session. Subsequent messages during the 24-hour session window include the same conversation.id in their webhooks.
For webhook configuration and field definitions, see Billing transparency in webhooks.
Conversational billing events are triggered on message delivery. To track conversation pricing, set up a subscription that includes the relevant event types, or review your existing subscription to check which event types are already enabled. For the webhook fields included in each billing event, see Billing transparency in webhooks.