Wallet
Prepaid organisation balance, mobile-money deposits, and SMS purchases.
Each organisation has a prepaid wallet. When POST /v1/sms/send is accepted, Netnaunse debits the wallet by message segments × unit price and records a ledger transaction. Customer balances are a liability — not revenue.
Balance
curl https://api.netnaunse.com/v1/wallet \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY"The response includes balance, currency, estimated smsCredits, unitPrice, minSmsPurchase, and recent ledger rows.
Transactions
curl https://api.netnaunse.com/v1/wallet/transactions \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY"Add funds (mobile money)
Production top-ups use mobile money USSD push. Minimum amount is 100 TZS. Use a supported network number in local (06… / 07…) or international (255…) form.
curl -X POST https://api.netnaunse.com/v1/wallet/deposits \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"phone": "0613480018"
}'Success returns 201 with a deposit object (status: "processing"while the customer confirms on their phone). Poll GET /v1/wallet/deposits/{id} until completed or failed, or use the dashboard Buy SMS / wallet UI.
curl https://api.netnaunse.com/v1/wallet/deposits/DEPOSIT_ID \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY"curl https://api.netnaunse.com/v1/wallet/deposits \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY"074 / 075 / 076 / 079) are not available yet. The API returns 400 with MPESA_UNAVAILABLE. Use Airtel Money, Tigo Pesa, HaloPesa, or another supported network.Buy SMS packs
Purchase a volume of SMS credits in one mobile-money payment. Minimum quantity is set by platform pricing (currently 2,000). Total includes VAT when configured.
curl "https://api.netnaunse.com/v1/pricing/quote-purchase?quantity=2000" \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY"curl -X POST https://api.netnaunse.com/v1/wallet/buy-sms \
-H "Authorization: Bearer YOUR_TOKEN_OR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"quantity": 2000,
"phone": "0613480018"
}'Or use the dashboard at app.netnaunse.com/buy-sms.
Pricing helpers
GET /v1/pricing— unit price quote for SMS (optional?quantity=,?segments=)GET /v1/pricing/tiers— public volume bands
Charges
- Debit happens when the message is accepted (
202), not when the handset receives it. - Segment count depends on
language: 160 characters (English) or 70 (Unicode). - Insufficient funds →
402withINSUFFICIENT_BALANCE.
POST /v1/wallet/top-up returns 403 MANUAL_TOPUP_DISABLED in production. Always use mobile money deposits or Buy SMS.