Skip to content
Nishchit
USE CASE / TRANSACTIONAL

The message your
customer is waiting for.

Order confirmations, payment receipts, delivery updates. Low volume, high expectation, and priced by a rule almost nobody explains until the invoice arrives.

SEND AN ORDER UPDATEPOST /v1/messages
curl https://api.nishchit.tech/v1/messages \
  -X POST \
  -H "Authorization: Bearer $NISHCHIT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-8841-shipped" \
  -d '{
    "to": "+8801712345678",
    "body": "Hi Karim, your order 8841 has shipped and will arrive tomorrow.",
    "reference": "order_8841"
  }'

The reference field is yours — put your order id in it and every message, event and webhook for that order becomes searchable by the identifier your support team already uses.

THE MOMENTS

Four notifications
that earn their credit.

Transactional traffic is small and matters disproportionately. These are the sends that reduce support contacts rather than generate them.

ORDER PLACED

Confirmation within seconds of checkout, while the customer still has the tab open. The one message that reduces "did it go through?" support contacts.

PAYMENT RECEIVED

A receipt the customer can find later by searching their inbox. Include your reference so your support team can match it.

ORDER SHIPPED

The update customers actually want, and the one most likely to be written in Bangla — which is where the segment maths starts to matter.

APPOINTMENT TOMORROW

Scheduled ahead of time rather than sent at the moment of writing. Reminders are the highest-value low-volume traffic most products send.

WHAT BANGLA COSTS

The same notification,
three times the price.

This is the number that decides a transactional SMS budget, and it is the one almost every provider in Bangladesh leaves out of the conversation.

ENGLISH · GSM-7GSM-7

Hi Karim, your Nishchit order 8841 has shipped and will arrive tomorrow. Track it at nishchit.tech/o/8841 or reply STOP to opt out of updates.

CHARACTERS
142
PER SEGMENT
160
SEGMENTS
1
CREDITS
1
COST0.35
BANGLA · UCS-2UCS-2

হ্যালো করিম, আপনার নিশ্চিত অর্ডার ৮৮৪১ পাঠানো হয়েছে এবং আগামীকাল পৌঁছাবে। ট্র্যাক করুন nishchit.tech/o/8841 অথবা আপডেট বন্ধ করতে STOP লিখে পাঠান।

CHARACTERS
146
PER SEGMENT
67
SEGMENTS
3
CREDITS
3
COST1.05

Almost identical length. One segment against three. At ৳ 0.35 per credit, ten thousand shipping notifications cost ৳ 3,500.00 in English and ৳ 10,500.00 in Bangla. Neither figure is a Nishchit markup — it is how the GSM standard has counted characters since 1985. What varies between providers is whether you find out before or after you send.

YOUR ADMIN SCREEN

Show what happened,
not what you hoped.

Support staff look up a single order and ask one question: did the customer get the message? An honest answer needs two fields, not one.

200 OKGET /v1/messages/{id}
{
  "id": "msg_01JBX7QW9K2M5T8N4V6C3Z1H0A",
  "status": "sent",
  "delivery_status": "unknown",
  "reference": "order_8841",
  "segments": 1,
  "encoding": "gsm7",
  "credits": 1
}

status: sent is the real, observed outcome: the carrier accepted the handoff. delivery_status: unknown is also real — the route returns no receipts, so nothing further was ever reported. Render both, label the second honestly, and your support team stops arguing with a tick that was never evidence of anything. The full model

TRANSACTIONAL / QUESTIONS

The questions that
come up in review.

Are transactional messages subject to the promotional time window?
No. Content Guard classifies each message as OTP, transactional, promotional or unknown, and only promotional traffic is confined to a window. A genuine order or payment notification goes out when it happens. How classification works
What stops a duplicate alert when my job queue retries?
An idempotency key derived from the business event rather than the attempt — order-8841-shipped rather than a fresh UUID. The key is claimed before the upstream call, so a concurrent retry gets a conflict instead of sending a second message, and a later replay returns the stored first response. Idempotency in full
Can I see whether a customer received their notification?
You can see that Nishchit sent it. On the primary Bangladesh route no delivery receipts are returned, so delivery_status stays unknown permanently. Your admin screen should show what actually happened rather than a tick that means nothing. The two-field model
How do I send the same alert to thousands of customers?
Batch send takes up to 1,000 rows per request with per-row accept or reject, so one bad number does not fail the request. Above that, the campaign runner resolves the audience, dedupes it, applies suppressions and shows you the credit cost before anything sends. Campaigns and batches
Do I need to write alerts in Bangla?
Only if your customers read Bangla — and it will cost about three times as much for the same message, because Bangla encodes as UCS-2 at 70 characters per segment instead of 160. That is a real decision with a real number attached, which is why it is shown above rather than buried.
NISHCHIT / SMS INFRASTRUCTURE

Your product has something to say.

Give it a reliable way to say it.

NO KYC

Self-serve signup, live immediately. Content checked instead of paperwork.

PAY PER SEGMENT

One credit per segment at ৳0.35. No contract, no minimum.

TEST FIRST

An nk_test_ key never reaches a carrier or spends a credit.

BANGLADESH ONLY

One country, done properly — Bangla pricing, observable delivery.