Transactional SMS

Transactional SMS API — alerts your customers actually receive

Order confirmations, dispatch updates, payment receipts, EMI reminders, appointment alerts. Transactional SMS is the messaging nobody notices until it breaks. BrookTel delivers it over DLT-approved routes with throughput for peak-hour bursts and an audit trail for every single message.

Designed for high-volume, non-negotiable messaging

  • Bulk endpoint for fan-out sends, plus scheduling for time-windowed alerts
  • Delivery webhooks with per-message status and failure reason
  • Idempotent send semantics so a retried request does not double-send
  • Full ledger of every message and wallet debit, exportable for finance
  • Analytics broken down by campaign, template and status

Getting the DLT category right

India's DLT framework splits non-promotional SMS into categories, and picking the wrong one is the single most common cause of blocked traffic. The short version:

CategoryUse it forDND scrubbing
TransactionalOTPs and banking transaction alertsExempt
Service implicitOrder updates, payment receipts, reminders for an existing relationshipExempt
Service explicitContent the user opted in to but did not transact forScrubbed against consent
PromotionalOffers, launches, marketingScrubbed against DND

Typical transactional flows

  • E-commerce: order placed, packed, shipped, out for delivery, delivered
  • Fintech and banking: debit and credit alerts, EMI due, payment received
  • Logistics: pickup scheduled, delivery OTP, failed-attempt notice
  • Healthcare and services: appointment booked, reminder, reschedule
  • SaaS and utilities: invoice generated, payment failed, plan expiring

Handle delivery receipts with a webhook

Delivery webhook handler — Express
app.post('/webhooks/brooktel', (req, res) => {
  // Acknowledge fast; process asynchronously.
  res.sendStatus(200);

  const { messageId, status, failureReason, deliveredAt } = req.body;

  queue.add('sms-status', {
    messageId,
    status,          // queued | sent | delivered | failed
    failureReason,   // populated only when status === 'failed'
    deliveredAt,
  });
});

Frequently asked questions

What is the difference between transactional and promotional SMS?

Transactional SMS is triggered by something the customer did — a purchase, a login, a payment — and is exempt from DND scrubbing under India's DLT rules. Promotional SMS is marketing, and is scrubbed against DND and consent registries. They require separate DLT templates and behave differently at the operator.

Can transactional SMS be sent 24x7?

Genuine transactional and service-implicit traffic is not restricted to the promotional sending window. Promotional SMS is time-restricted. Do not send marketing content on a transactional template to bypass this — it is the fastest way to lose your header.

What throughput can you handle?

The platform is built for peak-hour bursts, and throughput on your account is set against your plan and expected volume. If you are planning a large fan-out — a flash sale, an EMI cycle, a festival campaign — tell us the numbers in advance and we will size it.

Do you provide delivery reports for audit?

Yes. Every message has a persistent record with status, timestamps, failure reason and the wallet debit against it, visible in analytics and exportable.

Keep reading