SSoftLinkSMSDocs

Pricing and segments

What a send costs, when you're charged, and when you get money back.

You pay from a prepaid wallet in KES. Top up in the dashboard under Settings → Billing.

Your prices

Prices are set per customer and apply to all your accounts. Your price per SMS segment and per email is shown in the dashboard next to every send, as a cost estimate before you confirm.

For volume or contract pricing, email support@softlinksms.co.ke. A new price applies from an agreed date and never changes the cost of messages already sent.

The exact charge for each message is in its price field, a decimal string such as "0.60" with the currency in currency. Webhook events and the send response's total_price use the same format, so you can reconcile every send without knowing the price table. Some destinations are priced differently from the rest; price always reflects that.

Don't hard-code prices

Read the cost from each message's price instead of multiplying by a fixed rate. Your prices can change by agreement, and price is always what your wallet was charged.

Segments

Long SMS are split into segments and reassembled on the phone. Each segment is charged separately.

To count segments, we take the message length, add 15 characters reserved for network headers, and count each punctuation character twice (. , ! ? : ; ' " - ( ) / @ # and the like):

Counted lengthSegments
up to 1601
161 – 3052
306 – 4593
over 459Rejected with 400 message_too_long

So a plain message of up to about 145 characters is one segment. Messages over three segments are rejected before anything is charged.

Keep codes and alerts to one segment

A one-segment message costs a third of a three-segment one and delivers faster. Cut greetings and repeated brand names first.

When you're charged

A send is charged in full, up front, when we accept the request. That way you can't overspend your balance, even with many sends running at once. If the balance is too low, the request fails with 402 insufficient_balance and nothing is sent.

Refunds

OutcomeRefunded?
The network refuses the message, or we can't hand it over after retryingYes, automatically, per message
The network accepts it but can't deliver it (phone off for days, number disconnected)No, the network charges for it
An email bounces after the mail system accepted itNo

Refunds appear in your wallet's transaction history as Refund entries, one per message.

On this page