SMSAPI
— SMS

Turn SMS into a two-way conversation

Two-way SMS turns a send into a conversation. Receive replies, run keyword campaigns, and route inbound messages into your systems — on a long code or a short code, all on the same webhook.

How two-way SMS works

Two-way SMS means you can receive as well as send. A customer replies to a message or texts a keyword to your number, and the inbound message arrives on your webhook with the sender, the number or keyword it was sent to, and the body — enough to build opt-outs, confirmations, and support flows.

It runs on a long code or a short code: a long code for moderate volume and quick setup, a short code for high-throughput keyword campaigns. The inbound event is the same shape regardless of which number it lands on, so you integrate once and switch the number later if your volume grows.

Keywords let one number do many jobs — JOIN to subscribe, STOP to opt out, BAL to check a balance — each routed to its own handler. Opt-out keywords are honoured automatically and recorded, so a STOP stops future promotional sends without any work on your side.

Outbound still sends from your registered DLT header; two-way adds the inbound leg. Together they let a campaign send an offer and collect a reply, or an alert and collect a confirmation, in a single thread the customer experiences as one conversation.

// We POST each inbound SMS to your webhook
{
  "event": "sms.inbound",
  "from": "+919876543210",
  "to": "56789",            // your long code or short code
  "keyword": "JOIN",
  "message": "JOIN",
  "received_at": "2026-06-09T09:14:22+05:30"
}

// Respond 2xx to acknowledge; reply by sending from your header

What’s included

— Inbound

Replies on your webhook

Every inbound SMS arrives with sender, number, keyword, and body.

— Keywords

Route by keyword

JOIN, STOP, HELP and your own terms, each to its own handler.

— Numbers

Long or short code

Same inbound event whether it lands on a long or short code.

— Consent

Opt-out honoured

STOP and similar keywords stop future sends automatically.

— Threads

Send and reply in one thread

Pair outbound from your header with inbound replies.

— Integration

One webhook

Replies and keywords are events on the same endpoint.

Frequently asked

How do replies reach my system?

We POST each inbound message to the webhook you configure, with the sender, the number or keyword it was sent to, the body, and a timestamp. You respond 2xx to acknowledge, and reply by sending from your registered header. No polling required.

Do I need a long code or a short code for two-way?

Either works. A long code is quick and inexpensive and suits moderate conversational volume; a short code is memorable and built for high-throughput keyword campaigns. The inbound event is identical, so you can start on a long code and move to a short code if volume grows.

How are opt-outs handled?

Opt-out keywords like STOP are recognised and honoured automatically — the number stops receiving promotional sends and the opt-out is recorded. Because opt-out is shared across channels, it also covers WhatsApp and voice marketing.

Can one number run several keywords?

Yes. You can route many keywords on a single number to different flows — a subscribe keyword, an opt-out, a balance check — and handle each in your own code. Each arrives on the same webhook tagged with its keyword.

Start building.