One API, four channels.
Send RCS, SMS, WhatsApp and Telegram through the same JSON endpoint. Change the channel field, keep the rest of your code.
Authentication
Create a key in your panel under Settings → API keys and send it as a bearer token. Keys are shown once; store them as a secret.
Authorization: Bearer nx_live_••••••••••••••••
Send a message
The cost is debited from your wallet when the campaign is accepted. If your balance is too low, the request fails with 402.
curl https://api.nexatelix.com/v1/messages \
-H "Authorization: Bearer $NX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "rcs",
"to": ["+919812345678"],
"fallback": "sms",
"card": {
"title": "Order A1029 has shipped",
"text": "Arriving Monday between 2 and 4 PM.",
"media": "https://cdn.example.com/parcel.jpg",
"buttons": [{ "text": "Track parcel", "url": "https://example.com/t/A1029" }]
},
"replies": ["Change address", "Talk to us"]
}'Endpoints
/messagesSend to one or many recipients on any channel.
/campaigns/{id}Status, counts and cost for a campaign.
/campaigns/{id}/reportPer-recipient delivery report as CSV.
/balanceCurrent wallet balance in USD.
/pricesYour rate card, per channel and route.
Webhooks
Set a webhook URL in your panel to receive a status event for every recipient. Verify the signature header with your webhook secret.
POST https://your-app.com/webhooks/nexatelix
X-Nexatelix-Signature: t=1759500000,v1=5f2b…
{
"event": "message.status",
"campaign_id": "cmp_8fK2q",
"to": "+919812345678",
"channel": "rcs",
"status": "read", // queued | sent | delivered | read | failed
"fallback_used": false,
"at": "2026-10-03T14:11:09Z"
}Errors & limits
Start in under 24 hours
Ready when you are.
Accounts are approved within hours. Bring your data and creative — we handle routing, compliance and delivery.