This API covers international destinations (outside India). For SMS to Indian numbers, use
the India send endpoint, which carries the DLT fields Indian
traffic requires. See
How it compares.
Endpoint
string
required
application/jsonkey field inside the body, not a header.
Single submission
Submit one SMS message inside thelistsms array.
Multiple submission
Submit several SMS messages in a single request by adding multiple objects to thelistsms array.
A single request may carry up to 2,500 message objects.
Request parameters
The request body must be in JSON format and include the parameters below.string
required
An API key, assigned to the user for authentication.
array
A list containing one or more SMS message objects to be sent. Maximum 2,500 objects per
request.
listsms object structure
Each object inside the listsms array represents an SMS message and contains the following fields:
string
required
Sender ID or name that appears as the message originator. Accepts alphanumeric or numeric
values — OneXtel applies no validation to this field. See
Sender IDs before you choose one.
string
required
Recipient’s mobile number including country code (e.g.,
918872725225).string
required
The text content of the SMS message.
string
Client-side unique identifier for tracking the message. Echoed back as
CLIENTMSID on the
delivery receipt.string
Custom reference value. Echoed back unchanged on both the submission response and the delivery
receipt. See Reference IDs.
string
Second custom reference value.
string
Third custom reference value.
string
Fourth custom reference value.
string
Fifth custom reference value.
Sender IDs
OneXtel enforces no rules on thefrom field. Alphanumeric and numeric values are both
accepted, and the API will not reject a sender ID for being the wrong shape, the wrong length, or
unregistered.
Check what your destinations require before launch, not after — registration can take longer than
the integration. See
Destination obligations.
Reference IDs
Every message can carry your own identifier so you can match a delivery receipt back to your own record. There are two mechanisms. They are independent — use either, or both on the same message, and each is echoed back only if you sent it.
Both behave the same way: send it and it comes back, on success and failure alike, on both
the submission response and the delivery receipt.
Reference fields are only returned if you sent them. A message submitted without
custref
fields comes back — and produces a receipt — without them, and the same is true of
clientsmsid. Neither field is required, and neither excludes the other.Sending custom references
Response
The API returns a JSON response undersmslist → sms. Each SMS record includes details about the processing status.
Response parameters — success
string
Status description of the submission.
integer
Numeric response code (0 = success).
string
Unique internal message identifier.
array
IDs for multiple message parts. In practice this is returned empty — part counts are not
currently exposed through the API or the callback. To see how many parts a message was split
into, use the summary and detail reports in the portal.
string
Destination mobile number.
string
Submission status (
success).string
The
clientsmsid from your submission, if you sent one.string
The first custom reference from your submission, if you sent one.
custref2 through custref5
follow the same pattern.The success example above carries no
clientsmsid because that submission did not send one — not
because success responses omit it. See Reference IDs.Response parameters — failure
string
Cause of submission failure.
integer
Error code (
700 = invalid mobile number format).string
Provided mobile number.
string
ID passed by the client for reference.
string
Submission failed (
fail).Submission response codes
These are the codes returned by the submission call — whether the platform accepted the message, not whether it was delivered.Delivery outcome is a separate set of codes, returned later on the
DLR callback as
ERRORCODE — see
Error codes. A 0 here means accepted for
delivery, not delivered.
