Skip to main content
Send free-form (non-template) RCS content through the same Send Message endpoint used by all OneXtel channels. Non-template messages build the content directly in the request body, instead of referencing a pre-approved templateCode.

Endpoint

string
required
Your OneXtel API key.
string
required
Must be application/json.

Request structure

Every request wraps one or more message objects in an rcs array:
array
required
Array of RCS message objects to send.
string
Country code prefix (e.g. +91) applied to recipient numbers that don’t already include one.
object
Optional. Shortens and tracks links inside the message. See URL shortener.

Message object (rcs[])

string
required
Message category: Promotional, Transactional, or OTP.
string
required
Recipient phone number, without the prefix.
string
required
RCS sender/bot ID.
object
required
Holds the message body — one of text or richCard for non-template messages.
string
Time-to-live for the message (e.g. "1200s"). Provide only one of ttl or expireTime.
string
Absolute expiry time in UTC/Zulu format (e.g. "2024-10-02T15:01:23Z"). Provide only one of ttl or expireTime.
string
Optional custom reference field. Up to custref6 is accepted for plain text messages, and custref1–custref5 for rich card messages.
ttl and expireTime are mutually exclusive — provide at most one.

Message types

The simplest non-template message: a text field inside contentMessage.
string
required
The plain text content of the message.
string
Optional URL of a file to attach alongside the text.
Request
cURL
A plain text message can also carry a ttl (e.g. "1200s") alongside contentMessage.text to set an expiry — provide only one of ttl or expireTime.

Suggestions

cardContent.suggestions (rich card standalone) accepts a list of quick-reply or action chips. Reply suggestion:
Action suggestion (Open URL):

URL shortener

Set urlShortener at the top level (alongside rcs and prefix) to shorten and optionally track links referenced in the message.
integer
1 to enable URL shortening, 0 to disable.
array
Array of URLs to shorten.
string
required
The original full URL to shorten.
string
Sender ID or bot ID associated with the message (matches your RCS sender).
string
Custom domain to use for the shortened link.
boolean
Whether to enable user-level click tracking. Default: disabled.
string
Optional expiry for the shortened URL.

Response

Response
string
Unique identifier for the submitted message. Use it to correlate delivery reports.
integer
Result code. 200 indicates the message was accepted.
string
Result status, e.g. success.
Depending on the TUC (tenant/use-case) configuration, additional fields such as recipient, sender, and custref1–custref5 may be dynamically added to each response object.

Error codes

These are the OneXtel API validation errors, returned when the request is rejected before it reaches the operator. For failures raised downstream by the recipient’s RCS platform, see RCS operator error codes.
For sending pre-approved template messages instead of free-form content, see Send template messages.