API Dokümantasyonu
Kendi yazılımınızdan SMS ve sesli mesaj göndermek için REST API. API anahtarınızı panelde API Erişimi sayfasından alabilirsiniz.
Kimlik doğrulama
Tüm isteklerde API anahtarınızı Authorization: Bearer başlığıyla gönderin. Alternatif olarak X-API-Key başlığı veya api_key parametresi de kabul edilir. İstek gövdesi JSON (Content-Type: application/json) veya form verisi olabilir.
Temel adres: https://smsbt.com/api/v1
| Yöntem | Uç nokta | Açıklama | Parametreler |
|---|---|---|---|
| POST | /sms/send |
SMS gönderir | message, numbers (dizi veya virgülle ayrılmış), sender (ops.; boşsa varsayılan başlık), send_at (ops.: 2026-12-31 10:00) |
| POST | /voice/send |
Sesli mesaj gönderir | caller_id, audio_id veya tts_text, numbers, send_at (ops.) |
| GET | /balance |
Bakiye ve birim fiyatlar | — |
| GET | /senders?type=sms |
Onaylı başlıklar (type=voice: arayan numaralar) | — |
| GET | /audio |
Ses dosyalarınız (audio_id için) | — |
| GET | /jobs/{id} |
Gönderim durumu ve sayaçlar | — |
| GET | /jobs/{id}/report |
Numara bazlı rapor (sayfalı) | limit (en fazla 10000), after (önceki yanıttaki next_after) |
| POST | /jobs/{id}/cancel |
Bekleyen/devam eden gönderimi iptal eder | — |
Örnek: SMS gönderimi (cURL)
curl -X POST https://smsbt.com/api/v1/sms/send \
-H "Authorization: Bearer API_ANAHTARINIZ" \
-H "Content-Type: application/json" \
-d '{"message":"Merhaba, siparişiniz kargoya verildi.","numbers":["05321234567","05441234567"]}'
Örnek: PHP
$ch = curl_init('https://smsbt.com/api/v1/sms/send');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer API_ANAHTARINIZ', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Merhaba, randevunuz yarın saat 10:00.',
'numbers' => ['05321234567'],
]),
]);
$response = json_decode(curl_exec($ch), true);
echo $response['data']['id']; // gönderim numarası
Örnek: Basit HTTP GET (eski sistemler için)
https://smsbt.com/api/v1/sms/send?api_key=API_ANAHTARINIZ&message=Merhaba&numbers=05321234567,05441234567
Yanıt biçimi
{
"success": true,
"data": { "id": 1024, "status": "queued", "total": 2, "pending": 2, "delivered": 0, "failed": 0, "cost": 2, ... }
}
{ "success": false, "error": { "code": "insufficient_balance", "message": "Yetersiz bakiye. ..." } }
Hata kodları
unauthorized, invalid_key, api_disabled, ip_not_allowed, invalid_sender, invalid_message, invalid_audio, invalid_date, no_recipients, too_many_recipients, insufficient_balance, no_provider, not_found, not_cancellable
10.000'den büyük listeler arka planda hazırlanır: yanıt status: "preparing" döner, ardından /jobs/{id} ile durumu takip edin. Durumlar: preparing, scheduled, queued, processing, sent, completed, failed, cancelled.