Channel · SMS and RCS

It reaches any device. And, when it can, it arrives with your brand.

SMS across all four carriers with a premium route and an OTP route, RCS with your brand when the device supports it and automatic fallback to SMS when it does not. Over REST API or SMPP, at the same rate.

See the price per route
SMS
+55 41 4000-9921Text message
CCX STORE: your access code is 402913. It expires in 5 minutes. Do not share it.
14:02
CCX STORE: order 9921 is out for delivery, arriving today by 18:00. Track it: ccx.to/9921
14:31
No brand, no image — but it reaches any device.
RCS
CCX StoreCCX StoreVerified · business
Order on its way
Hi, Marina! Order #9921 arrives today between 14:00 and 18:00.
TrackReschedule
14:31
Can you reschedule it for tomorrow?
14:33
Same send, on a device that supports RCS.
99.9%
contractual uptime for the send API
4
national carriers, with failover between routes
8k/s
sustained peak throughput in campaigns
REST + SMPP
both protocols, under the same contract
Rate routes

Every type of message has the right route.

A one-time password cannot compete with a campaign in the same queue. Routes are separated by purpose, with different delivery priority — and the price follows the choice.

SMS PremiumPremium transactional route on a shared Large Account, for notices, confirmations and billing.TransactionalShared LAHighqueue priority
SMS OTPDedicated to one-time passwords and 2FA, with a queue of its own so it does not compete with campaigns.2FAShort expiryMaximumexclusive queue
SMS Easy RCSCampaigns over RCS with rich content and your verified brand, with fallback to SMS.Images and buttonsSMS fallbackBrandverified sender
SMS Easy OTP + RCSRCS applied to authentication, with automatic fallback to the OTP route over SMS.OTP over RCSSMS fallbackHybridRCS with a safety net
Dedicated Large Account / short codeExclusive number and route, with reputation, throughput and windows negotiated for your operation.Exclusive routeOwn throughputDedicatedspecific contract
01Segments

The math that avoids a surprise invoice.

SMS is not charged per message, but per segment. Writing with an accent drops the segment from 152 to 67 characters — which can triple the cost of an average text without anyone noticing.

01Count before the sendThe dashboard and the API show how many segments the message will consume.
02Unicode warningWe flag it when an accent or emoji drops the limit to 67 characters.
03Cost per campaignThe report shows segments consumed per campaign, not just messages.
See the price per band
2 segments
CharactersUnicode encoding (UCS-2)100
Limit per segmentan accent or emoji drops it to 6767
Segments chargedeach segment counts as one message2
Messages billed across 100,000 sendseach segment is billed as one message200,000

Accents and emoji force Unicode encoding, which drops the segment from 152 to 67 characters.

02RCS

Your brand in place of an unknown number.

On RCS the customer sees a logo, a verified name and a badge instead of an anonymous short number. It fits images, carousels and reply buttons — and anyone without support gets the SMS version automatically.

01Verified senderLogo, color and name approved with Google and the carriers.
02Rich contentImages, carousels, quick reply buttons and action buttons.
03Automatic fallbackWith no support on the device, the same message goes out as SMS.
See the channel in the dashboard
From SMS to RCSautomatic fallback
Verified senderLogo, name and color approved with Google1 to 3 wks
Rich contentImages, carousels and quick reply buttonsRCS
Device without supportThe same message goes out over the SMS routefallback
Billing for the route usedRCS when it delivers over RCS, SMS when it falls backper route
A device without RCS receives the SMS version of the same message — you are charged for the route actually used.
03Delivery

Four carriers, one report.

National coverage with a premium route for transactional and an optimized route for OTP. Every status returned by the carrier arrives over webhook, with the reason when it fails.

01Priority by purposeOTP does not compete for the queue with marketing campaigns.
02Status with a reasonInvalid number, ported, blocked or a device out of range.
03Same rate on both protocolsREST API and SMPP charge the same, with negotiated throughput.
See events and webhooks
Delivery by carrierlast 30 days
Vivo97%
Premium route · 3,1 s average latency
Claro96%
Premium route · 3,6 s average latency
TIM94%
Premium route · 4,2 s average latency
Oi91%
Lower coverage in rural areas
There is no refund when the cause is outside our control: device switched off, ported number, carrier block or classification as spam.
Integration

REST for those starting out, SMPP for those who already have an ESME.

If your operation already speaks SMPP, plug your ESME straight into our gateway with its own credential. Same rate as the REST API, same status webhooks, same wallet.

Sending documentation
POST/v2/sms/messages201 Created
Parameters
tostringrequiredPhone number in E.164 format, with country code.
routestringrequiredotp · premium · la_dedicada — defines the rate route for the send.
textstringrequiredMessage content. The segment count comes back in the response.
referencestringoptionalYour identifier, returned in every status webhook.
The response confirms the provider accepted it; delivery arrives later over webhook.
API REST
curl -X POST https://api.ccxmessages.com/v2/sms/messages \
-H "Authorization: Bearer $CCX_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+5541998124410",
"route": "otp",
"text": "Seu codigo e 402913",
"reference": "login-9921"
}'
→ 201 {
"id": "sms_71cd90",
"status": "accepted",
"segments": 1,
"price": { "amount": 0.11 }
}
Operating at scale

Built for the day volume triples.

Black Friday, a billing cycle falling due, a mass incident. The queue absorbs the peak, spreads it across routes and returns the status of every message — with the availability commitment in the contract.

8k/s
Peak throughput

Sustained in campaigns, with windows negotiated by contract.

99.9%
Uptime

A contractual commitment for the send API, with credit when it is missed.

4
Routes with failover

A carrier outage reroutes traffic with no action from you.

24/7
Technical support

On-call in Portuguese, with a dedicated channel on the Corporate tier.

Continuity
A queue that absorbs the peakAcceptance is immediate and delivery respects the carrier's throughput, without discarding messages.
Failover between routesIf a carrier degrades, traffic is redirected to the available alternative route.
Auditable reprocessingA failed message is resent as a new one, referencing the original — with no duplication.
Mirrored test environmentThe same API, the same webhooks and a separate wallet to validate before going live.
Compliance and governance
Opt-out recorded per contactUnsubscribe keywords are honored automatically and new marketing sends are blocked.
Data on national territoryProcessing under the LGPD, with configurable retention and reporting in the contract.
An audit trail for every sendWho sent it, with which key, to whom and with what result — exportable by period.
Segregation by key and environmentScopes per API key, with production and test isolated in the same organization.
Where SMS still wins

The channel with no app, no opt-in and no internet.

It needs no app installed, works on an old handset and arrives even without mobile data. For OTP and critical alerts it is still the most universal channel there is.

OTP and 2FA
An access code with a priority route and short expiry.
3,1 s average
Invoice notice
Due dates and duplicate bills for people with no app installed.
no opt-in
Overdue billing
The first contact where the customer always receives it.
97% delivery
Appointment confirmation
Consultations, pickups or field visits, with a reply by link.
no-show −22%
RCS campaign
A showcase with images and buttons for devices that support it.
3× more clicks
Critical alert
An incident or emergency that cannot depend on the internet.
no mobile data
WhatsApp fallback
Not read within 4 hours? The message goes out over SMS automatically.
automatic chain
Turn on RCS for your brand

Verified brand, with guaranteed fallback.

RCS requires sender verification with Google and the carriers. We run the process with you, and until approval everything goes out over SMS — the operation does not wait.

1 daySubmit the brand identityLogo, color, display name and sender description, in the format Google requires.
1 to 3 weeksGoogle and carrier verificationWe follow the review and respond to adjustment requests on your behalf.
immediateSMS in the meantimeAll traffic goes out over the SMS route — the operation does not wait for approval.
1 clickSwitch to RCSOnce the brand is approved, the same send starts delivering over RCS with automatic fallback.
We put OTP on a separate route and delivery went from 89% to 97%. The code arrives before the customer loses patience.
CMCarla MenezesHead of Support · credit fintech
Frequently asked questions

What people ask about SMS and RCS.

Need a dedicated route or a short code? Talk to sales .

Per segment. Each segment holds 152 characters in the standard encoding — or 67, when the text requires Unicode because of an accent or emoji. A long message is charged as several segments, and the dashboard shows the count before the send.

Start today with R$ 50 in test credit.

Sandbox wallet released when you create the account, a WhatsApp test number and guided onboarding. No card, no contract.

Book a demoCreate free accountSales reply within 2 business hours
CCX
Brazilian CPaaS platform. WhatsApp, email, SMS, RCS, push and Instagram in a single integration.
All systems operational
© 2026 CCX Digital Solutions LTDA · CNPJ 24.329.191/0001-06 · BrazilTerms of usePrivacySecurityChangelog