For Developers

SMS API

One HTTP endpoint, your client ID and secret, and five parameters. Delivery reports are pushed to your own URL, and repeating a call is safe.

  • 1Endpoint to call
  • 1,000Recipients per request
  • 5Operators covered
  • 37.4%Delivered successfully
SMS API
Delivered Secure
All Operators Covered
Fast Delivery Speed
Secure & Compliant
Dedicated Support
Overview

Everything you need to know about SMS API

Why Choose Our SMS API?

Why Choose Our SMS API?

  • One endpoint - GET or POST, plain query parameters
  • No SDK to install and no library to keep up to date
  • Credentials you generate yourself, and can rotate any time
  • Delivery reports pushed to your own callback URL
  • An idempotency key, so a retried call is never billed twice
  • Up to 1,000 recipients in a single request
  • The exact rate your account is billed, shown before you call
What You Can Do

What You Can Do

  • Send one message or a comma-separated list of numbers
  • Queue a large batch and let it send in the background
  • Check your balance before a campaign
  • Send Bangla (Unicode) - counted and billed correctly
  • Trigger messages from your own CRM, ERP or web app
  • Read every send back in the reports screen
  • Use any approved sender ID on your account
Endpoints

Endpoints

  • POST or GET /send-message - clientId, clientSecret, senderId, numbers, contents
  • GET /check-balance - clientId, clientSecret
  • Optional async=1 to queue a batch and get a reference back
  • Optional idempotency key to make a retry safe
  • JSON response with a status and a message
  • DLR pushed to the URL you configure in your panel
  • Rate limited at 60 requests per minute
Use Cases

Use Cases

  • OTP and two-factor codes
  • Order and delivery updates
  • Booking and appointment confirmations
  • Payment and due reminders
  • Internal alerts from your own systems
  • Scheduled campaigns fired from your app
  • Event and class notifications
How It Works

Get started in 4 simple steps

1

Create Account

Register and buy a package. An account starts with a balance of zero.

2

Generate a secret

Your client ID and secret are on the API page in your panel. Rotate the secret any time.

3

Get Sender ID

Nothing can be sent until a sender ID is approved for your account.

4

Make one call

Five query parameters to one endpoint. Delivery reports arrive at your own callback URL.

Reference

One endpoint, five parameters

Your client ID and secret are on the API page inside your panel.

curl — Send a message
curl "https://w3sms.com/send-message?clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET&senderId=YOUR_SENDER_ID&numbers=8801XXXXXXXXX&contents=Hello+from+W3+SMS"

# Check your balance
curl "https://w3sms.com/check-balance?clientId=...&clientSecret=..."
200 Sent
{
    "status": 200,
    "message": "Message submitted successfully. Delivery status will update via DLR."
}
202 Queued (async=1)
{
    "status": 202,
    "reference": "batch_20260912_a1B2c3",
    "accepted": 250,
    "charged": 142.5,
    "message": "Batch accepted. Delivery status will update via DLR."
}

Parameters

clientId string
Your username, shown on the API page in your panel. The older six-digit client ID still works.
clientSecret string
The secret you generate there. Rotating it invalidates the old one immediately.
senderId string
An approved sender ID on your account. It must match your package channel.
numbers string
One number, or several separated by commas. 8801XXXXXXXXX or 01XXXXXXXXX both work.
contents string
The message body. Unicode is detected, counted and billed as Unicode.

Optional

async bool
Queue a large batch instead of waiting for it. Answers 202 with a reference.
schedule datetime
Send later instead of now.
Idempotency-Key header
Repeat a call safely. The same key returns the first answer rather than sending again.

When it does not go through

  • 404 Client ID and secret do not match an account, or the sender ID is not on it.
  • 406 Not enough balance, the sender ID does not match your package channel, or no rate is set.
  • 409 An identical Idempotency-Key is still being processed. Wait, do not retry immediately.
  • 422 A parameter is missing, or the request carried more than 1,000 recipients.
  • 429 More than 60 requests in a minute from this account.
  • 503 No gateway is available. Nothing was charged; retry shortly.
1,000Recipients per request
60Requests per minute
24 hoursIdempotency window
48 hoursDelivery report wait
Get API credentials
Pricing

The API costs nothing extra

Every package includes API access, and a message sent through it is billed at that package rate.

Required Documents

  • NID Copy
  • Trade License Copy
  • For institutes: Authorization letter signed & sealed
  • Application form on official pad with seal & signature

Important Notice

Only authorized and approved messages are allowed. Misuse may lead to account suspension or penalties.

All prices are exclusive of VAT. Keep your content clear, professional and compliant to maintain high delivery rates.

Use verified sender IDs to ensure proper brand recognition and customer trust.

FAQ

Frequently asked questions

W3 SMS is a professional business SMS platform designed to help businesses send promotional, transactional, notification, and bulk SMS from a single, easy-to-use dashboard. It also offers SMS API integration, delivery reports, campaign management, and powerful messaging tools.

W3 SMS supports SMS delivery across Grameenphone, Robi, Banglalink, Airtel, and Teletalk. This allows businesses to reach customers across major mobile networks through one centralized SMS platform.

Yes. W3 SMS supports both Bangla and English messaging. Unicode messages are automatically detected and processed appropriately, helping provide accurate message segmentation and transparent SMS usage.

Yes. W3 SMS allows you to send SMS to multiple recipients efficiently. Bulk SMS can be used for promotional campaigns, customer notifications, reminders, announcements, alerts, and other business communication needs.

Yes. You can integrate W3 SMS with your website, CRM, ERP, mobile application, or custom software using the HTTP SMS API. This allows your system to automatically send SMS whenever a specific business event occurs.

Yes. W3 SMS provides detailed delivery reports that allow you to monitor the status of your sent messages. You can review delivery results from your dashboard and use delivery information to identify unsuccessful messages and monitor overall messaging activity.

An SMS Sender ID is the name or identifier displayed to recipients as the sender of an SMS, where supported and approved. Businesses can use an appropriate Sender ID to provide a more recognizable and professional communication experience.

: SMS usage can depend on the message length, language, character encoding, and number of message segments. Bangla and other Unicode messages may require multiple segments depending on their length. W3 SMS provides usage information to help you monitor your SMS consumption.

Yes. Using the W3 SMS API, you can automate OTPs, order confirmations, payment notifications, appointment reminders, alerts, account notifications, and other business messages. This reduces manual work and helps your business communicate with customers more efficiently.

Getting started is simple. Create your W3 SMS account, select a suitable SMS package, configure your messaging settings, and start sending SMS from your dashboard. For automated communication, you can connect your website or application using the SMS API.