๐ SANYA API v1
RESTful API ya kutuma SMS kutoka kwa app yako mwenyewe. JSON in/out, Basic auth.
๐ API ni BURE โ unalipa SMS tu (kwa retail price). Hakuna setup fee, hakuna access fee.
Sajili bure โ Tengeneza API key โ Anza kutuma.
Sajili bure โ Tengeneza API key โ Anza kutuma.
๐ Authentication
Tumia HTTP Basic Auth โ api_key:secret base64-encoded:
Authorization: Basic <base64(api_key:secret)> Content-Type: application/json
Pata API key kwenye /api/keys dashboard.
๐ค Send SMS
POSThttps://app.sanya.tz/api/v1/sms/send
Request body:
{
"to": ["255712345678", "255713456789"],
"message": "Habari, ujumbe wenu...",
"sender_id": "SANYA"
}
Response:
{
"ok": true,
"sent": 2,
"failed": 0,
"balance_remaining": 4998,
"results": [
{"to": "255712345678", "status": "sent", "units": 1},
{"to": "255713456789", "status": "sent", "units": 1}
]
}
cURL Example:
curl -X POST https://app.sanya.tz/api/v1/sms/send \
-u "your_api_key:your_secret" \
-H "Content-Type: application/json" \
-d '{
"to": ["255712345678"],
"message": "Habari mteja!"
}'
PHP Example:
$ch = curl_init('https://app.sanya.tz/api/v1/sms/send');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
'to' => '255712345678',
'message' => 'Habari mteja!',
]),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Basic ' . base64_encode('your_api_key:your_secret'),
],
CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
๐ฐ Check Balance
GEThttps://app.sanya.tz/api/v1/sms/balance
Response:
{
"ok": true,
"balance": 4998,
"plan": "free",
"daily_limit": 1000,
"daily_used": 12,
"daily_remaining": 988,
"sender_id": "SANYA"
}
๐ List Messages
GEThttps://app.sanya.tz/api/v1/sms/messages?limit=50&offset=0&status=sent
Returns recent SMS messages za API key yako (au za user kwa ujumla).
๐ก List Sender IDs
GEThttps://app.sanya.tz/api/v1/sender-ids
Onyesha sender IDs zinazokubalika kwako (public + zako exclusive).
๐ Daily Limits per Plan
| Plan | Daily limit | Notes |
|---|---|---|
| Free | 1,000 SMS/siku | Bure, anza haraka |
| Basic | 10,000 SMS/siku | TZS 10K/mwezi |
| Pro | 100,000 SMS/siku | TZS 50K/mwezi + 500 SMS bonus |
โ ๏ธ Error Codes
| HTTP | Error | Maana |
|---|---|---|
| 400 | missing_to | Field "to" haijatumwa |
| 400 | invalid_json | Body sio JSON sahihi |
| 401 | unauthorized | API key au secret si sahihi |
| 403 | account_disabled | Akaunti yako imezimwa |
| 403 | invalid_sender_id | Sender ID haitumiki kwako |