Endpoint
The Fallback API uses the same endpoint as the OmniChannel send API. Fallback behavior
is activated by including the
fallback object in the request body.Headers
string
required
API key issued by OneXtel, used for authentication.
Request body
The request body is a JSON object. Each top-level key represents a messaging channel. You may use any one ofsms, wa, or rcs as your primary channel, plus a fallback
object defining the fallback behavior.
sms — SMS channel (array of objects)
string
required
SMS sender ID.
string
required
Recipient phone number.
string
required
Message type. Verified accepted on the SMS send API:
SI, OTP, SE. Case-sensitive.The accepted set was verified on the send API, not on the fallback object specifically. If a
fallback SMS is still not arriving with a valid
type, confirm the fallback validator uses the
same set.string
required
Message content.
string
DLT template ID. Optional only when template auto-match is enabled on the API key; otherwise
required for DLT-registered SMS in India.
string
DLT entity ID. Optional only when template auto-match is enabled on the API key; otherwise
required for DLT-registered SMS in India.
With template auto-match enabled on the API key, OneXtel matches
messageBody against your
registered DLT templates and fills in templateId and entityId. When you do pass both, they
are used as sent.number
0 or 1 — enable Unicode encoding. Optional.object
Optional custom reference fields for tracking or tagging (e.g.
CustomReference1,
CustomReference2).wa — WhatsApp channel (array of objects)
string
required
Always
"whatsapp".string
required
Always
"individual".array
required
Array of recipient phone numbers.
string
required
WhatsApp sender number. A Pool ID can also be passed.
string
required
Always
"template".object
required
Object with
name, language.code (the template language), and components. Uses the
same payload structure as the WhatsApp Template Message API.string
Custom reference fields for tracking:
custref1 through custref5. Optional.rcs — RCS channel (array of objects)
string
required
RCS sender ID.
string
required
Message type.
string
required
Recipient phone number.
object
required
Contains
templateMessage, an object with templateCode and customParams. Uses the
same payload structure as the RCS Template Message API.string
Custom reference fields for tracking:
custref1 through custref5. Optional.fallback — fallback configuration (object)
Defines fallback behavior when the primary channel fails to deliver.
string
required
Fallback configuration ID.
boolean
required
Set to
true to enable fallback.string
required
Maximum time (in seconds) to wait for Delivery / Failure before triggering fallback. If the
primary message carries a
ttl longer than this wait time, the wait time overrides the TTL, so
the primary attempt ends when fallback fires and the recipient does not get both messages.object
SMS fallback object:
sender, type, messageBody plus optional unicode,
templateId, entityId, and custRef1–custRef5. Include as per your fallback
configuration. templateId and entityId follow the same auto-match rule as the sms
channel above.object
WhatsApp fallback object:
sender, template, languageCode, templateComponents
(same payload structure as the WhatsApp Template Message API) plus optional
custref1–custref5. Include as per your fallback configuration.object
RCS fallback object:
sender, messageType, templateCode, customParams (same
payload structure as the RCS Template Message API) plus optional
custref1–custref5. Include as per your fallback configuration.Fallback Channel 1 and Fallback Channel 2 details can be added as per your fallback
configuration. If a third-party fallback is used, dynamic keys can be added with the
specific channel name.
Optional top-level fields
string
Phone number prefix, e.g.
"+91". Optional.string
Campaign identifier string. Optional.
object
Object with
flag (set to 1 — mandatory if a URL shortener is required in the
message body) and a urlDetails array. Each urlDetails item contains longUrl
(mandatory when flag is 1), domain (optional), and track_user (optional).
