Skip to main content

Transactional SMS

Transactional SMS that arrives when it matters

Order confirmations, payment receipts, delivery updates and account alerts travel on a priority lane — so a customer's urgent message never waits behind someone else's campaign.

YO YOURSHOP Approved sender ID

Payment received: TZS 45,000 for order #1042. Thank you!

09:30 Delivered

Your parcel is out for delivery. The driver will call you on arrival.

09:41 Delivered

Your appointment is confirmed for Tue 21 Oct at 10:30.

10:05 Delivered

Built for messages that cannot wait

  • A priority lane

    Transactional messages travel on a high-priority lane, separate from bulk campaigns.

  • Triggered by your system

    Send from your app or website with one API call, or bind over SMPP for high volumes.

  • Safe retries

    Idempotency keys mean a retried request never sends the same SMS twice.

  • Status you can trust

    Per-message delivery receipts by webhook, so your system knows what actually happened.

  • References that match your records

    Attach your own reference, such as an order number, and use it to find the message later.

  • Test without sending

    Test keys run the whole flow without a real SMS or any credits used.

From first test to production

  1. 1

    Register a sender ID

    Choose the name customers will see and get it approved.

  2. 2

    Create an API key and test it

    Use a test key to try the full flow without sending a real SMS.

  3. 3

    Send from your system

    Trigger messages from your app and listen for delivery webhooks.

What belongs in a transactional message

  • Messages a customer expects because of something they did: orders, payments, bookings, sign-ins.
  • Short, clear and specific — include the reference the customer will recognise.
  • No promotions: keep marketing in bulk campaigns so the priority lane stays fast.
  • Include only what is needed; SMS is not end-to-end encrypted.

One request per message

Single sends use the priority lane by default. Send the order confirmation the moment your system records it.

POST /v1/messages
curl -X POST 'https://api.lundosms.co.tz/v1/messages' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Idempotency-Key: order-1001' \
  -H 'Content-Type: application/json' \
  -d '{
    "sender_id": "YOURBRAND",
    "recipients": ["255712345678"],
    "message": "Your order has been confirmed.",
    "client_reference": "ORDER-1001",
    "type": "transactional"
  }'

Transactional SMS questions

How do I know a message was delivered?

Every message has its own status: queued, sent to network, delivered, or failed. "Sent to network" means the operator accepted the message; "delivered" means the handset confirmed it. You can see statuses in the dashboard, export them, or receive them by webhook or SMPP. A phone that is switched off or out of coverage may receive a message late or never — no provider can guarantee delivery when the operator does not confirm it.

Can I send from my own software?

Yes. The REST API accepts a single HTTPS request with an API key, supports idempotency keys so a retry never sends twice, and reports status changes by signed webhook. Test keys let you try everything without sending real messages.

Can I try it before buying credits?

Yes. Create an account, then use a test API key: it goes through the same validation and returns real references, but nothing is sent to a phone and no credits are used.

Ready to reach every phone in Tanzania?

Create your account, register your sender name and send your first message today. Buy the SMS credits you need — they never expire.

Prepaid credits only. Prices in TZS, VAT included.