Scope
- WhatsApp
- RCS
- SMS
Outbound
Delivery reportsSent, delivered, read and failed, with Meta’s and OneXtel’s failure codes mapped onto
WebEngage’s WhatsApp codes.InboundNot supported — see Limitations.
Before you start
- A WebEngage account with the channels you intend to use enabled.
- A OneXtel account with those channels enabled, and an API key — see API keys.
- Pre-approved templates in OneXtel. WhatsApp and RCS templates in WebEngage must replicate an approved OneXtel template — see RCS templates and WhatsApp templates. SMS templates must be DLT-registered — see DLT registration.
- The WebEngage tokens for delivery reports, which WebEngage issues per channel and data centre. OneXtel cannot issue them on your behalf.
- Your WebEngage data centre — India, KSA or US. Delivery reports must go to the data centre your account lives in.
Connector endpoints
Replace
<dc> with your WebEngage data centre — in, ksa or us. It decides where the
connector sends each report, so it must match your account.
Which OneXtel gateway a send uses comes from the
region header — IN or GLOBAL — on the
send configuration, not from the recipient’s number. Without it, sends go to India. Set
region: GLOBAL if your account sends outside India.Never save a OneXtel callback with an empty header row. OneXtel then sends a header with no
name, and the connector’s web server refuses the whole request. If the callback form insists on
a header, add one named
callback with the callback URL as its value — the connector ignores it.Set up
- WhatsApp
- RCS
- SMS
1
Get your OneXtel API key
Log in to OneXtel, go to the API section, and click Show API Key. If no key
exists, click Generate API Key. Copy it.
2
Open the WhatsApp integration
In WebEngage, go to Data Platform → Integrations, scroll down, and click
WhatsApp Setup (Configure).
3
Configure a Private WSP
Scroll down and click Private WSP, then fill in the configuration popup:
Add custom headers:
Copy and paste the key rather than typing it. Save the configuration.
The connector also accepts the key as
Authorization: Bearer <key>, or as ?apikey= on the
URL if a form cannot set headers.4
Register the delivery callback in OneXtel
In the OneXtel portal, go to Configuration → Add New Callback and add a callback against
the same API key:
The connector maps each report and forwards it to WebEngage’s tracking endpoint for that
data centre.
5
Hand the WebEngage WhatsApp token to OneXtel
Send omni.tech@onextel.com the WhatsApp delivery-report
token WebEngage issued for your account and data centre. OneXtel configures it on the
connector. WebEngage refuses WhatsApp reports without it, so nothing reaches WebEngage until
it is in place.
6
Create a matching template
On the WhatsApp integration page, scroll to the Template section and create a template
that replicates one already approved in your OneXtel instance — same name, language, type
and number of variables. Save it.
7
Create the campaign
Go to the Channels tab, select WhatsApp, and create a new campaign. In the
Message tab, select the template and fill in its variables. Under Custom Key–Value
Pairs, add
campaignName with a campaign identifier, so the campaign can be filtered in
OneXtel reporting. Optionally add custref3, custref4 and custref5 to carry your own
identifiers through to OneXtel.8
Test before going live
Run a test send and confirm the message renders correctly, and that its delivery status
appears in WebEngage, before triggering the live campaign.
If your account was set up with WebEngage’s webhook registered directly at OneXtel, reports
still arrive, but with OneXtel’s raw codes rather than WebEngage’s. Change that callback’s URL
to the connector’s, as above, to get mapped codes.
Indian numbers
The connector completes a ten-digit Indian number in the 6–9 series to91XXXXXXXXXX before
sending, so the number and the gateway agree. Anything else India cannot dial is refused by the
connector before it reaches OneXtel, in the channel’s own code: WhatsApp 2003, RCS 2021,
SMS 2003.
Numbers outside India are passed through as stored — 8 to 15 digits, with reachability left to
Meta or the operator. Send region: GLOBAL for those accounts, since the gateway comes from that
header rather than from the number.
This replaces older behaviour where a number stored without its country code was treated as
international, sent to the global gateway and refused there as an authorisation failure.
Error code mapping
Every report the connector forwards carries a WebEngagestatusCode. Failures also carry a
message (WhatsApp and RCS call it reason) that ends with OneXtel’s original code — for
example [onextel=131026] — so the raw value is never lost.
- WhatsApp
- RCS
- SMS
Delivery reports
sent, delivered and read are forwarded as whatsapp_sent, whatsapp_delivered and
whatsapp_read with code 0. A failure is forwarded as whatsapp_failed with the code below.For what each Meta code means, see WhatsApp error codes.Send repliesThe send route answers WebEngage straight away, with a code and the matching HTTP status:
Limitations
All channels- Inbound messages are not supported. Customer replies do not appear in WebEngage. If two-way conversation matters, use the WhatsApp or RCS APIs directly.
- Callbacks time out after 5 seconds and are retried up to three times. If the connector does not acknowledge within that window, the callback is dropped rather than queued for later redelivery.
- WhatsApp
- RCS
- SMS
- Templates are duplicated, not synced. A template created in WebEngage must manually replicate one approved in OneXtel. If either copy is edited, they drift apart.
- Personalization variables only. The connector supports personalization variables and no other variable form.
- Variable ordering is assigned by the connector. WebEngage does not send a variable index, so the connector assigns positions when building the OneXtel payload. Verify order-sensitive templates with a test send before going live.
- Reports need WebEngage’s WhatsApp token. Until OneXtel has it, WhatsApp reports are held back.

