Kapsamlı SMS API dokümantasyonu: kimlik doğrulama, gönderim uç noktaları, webhook entegrasyonu, hata yönetimi, rate limiting, SDK'lar ve detaylı kod örnekleri. Developer'lar için tam entegrasyon rehberi.
5 dakikada SMS API'nizi entegre edin
Dashboard'dan API anahtarınızı alın ve güvenli bir yerde saklayın.
Authorization: Bearer YOUR_API_KEY
Basit bir POST isteği ile mesaj gönderin.
POST /api/v1/sms/send
{
"to": "+905555555555",
"message": "Merhaba, hoş geldiniz!"
}
Gönderim durumunu kontrol edin ve webhook'ları ayarlayın.
GET /api/v1/sms/status/{id}
Tüm API uç noktaları ve detaylı kullanım örnekleri
Tek veya çoklu alıcıya SMS gönderin
to - Alıcı telefon numarası (zorunlu)message - Mesaj içeriği (zorunlu)sender - Gönderici adı (opsiyonel)scheduled_at - Zamanlanmış gönderim (opsiyonel)Toplu SMS gönderimi için optimize edilmiş endpoint
Tek mesaj durumu sorgulama
Kapsamlı raporlama ve analitik
Hesap bakiyesi ve kredi durumu
Webhook URL kaydetme ve yönetimi
sms.sent - Mesaj gönderildisms.delivered - Mesaj teslim edildisms.failed - Mesaj başarısızsms.received - Yanıt mesajı alındıKayıtlı webhook'ları listeleme
Popüler programlama dilleri için hazır kod örnekleri
Laravel framework ile SMS entegrasyonu
// Laravel Controller
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class SmsController extends Controller
{
public function sendSms(Request $request)
{
$response = Http::withHeaders([
'Authorization' => 'Bearer ' . config('sms.api_key'),
'Content-Type' => 'application/json'
])->post('https://api.anadolusms.com/v1/sms/send', [
'to' => $request->phone,
'message' => $request->message,
'sender' => 'LARAVEL'
]);
return response()->json($response->json());
}
}
Django framework ile SMS entegrasyonu
# Django View
import requests
from django.conf import settings
def send_sms(phone, message):
url = 'https://api.anadolusms.com/v1/sms/send'
headers = {
'Authorization': f'Bearer {settings.SMS_API_KEY}',
'Content-Type': 'application/json'
}
data = {
'to': phone,
'message': message,
'sender': 'DJANGO'
}
response = requests.post(url, json=data, headers=headers)
return response.json()
Express.js ile SMS entegrasyonu
// Express Route
const axios = require('axios');
app.post('/api/send-sms', async (req, res) => {
try {
const response = await axios.post(
'https://api.anadolusms.com/v1/sms/send',
{
to: req.body.phone,
message: req.body.message,
sender: 'NODEJS'
},
{
headers: {
'Authorization': `Bearer ${process.env.SMS_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
res.json(response.data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
Spring Boot ile SMS entegrasyonu
// Spring Boot Service
@Service
public class SmsService {
@Value("${sms.api.key}")
private String apiKey;
public ResponseEntity sendSms(String phone, String message) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + apiKey);
headers.set("Content-Type", "application/json");
Map data = new HashMap<>();
data.put("to", phone);
data.put("message", message);
data.put("sender", "JAVA");
HttpEntity
API hata kodları, rate limiting ve güvenlik
API'den dönen hata kodları ve anlamları
400 - Bad Request (Geçersiz parametreler)401 - Unauthorized (Geçersiz API anahtarı)403 - Forbidden (Yetkisiz erişim)422 - Validation Error (Doğrulama hatası)429 - Too Many Requests (Rate limit aşıldı)500 - Internal Server Error502 - Bad Gateway503 - Service UnavailableAPI kullanım limitleri ve yönetimi
API güvenliği ve en iyi uygulamalar
Webhook doğrulama ve güvenlik
// PHP Webhook Doğrulama
$signature = $_SERVER['HTTP_X_SIGNATURE'];
$payload = file_get_contents('php://input');
$expected = hash_hmac('sha256', $payload, $secret);
if (hash_equals($signature, $expected)) {
// Webhook güvenli, işle
$data = json_decode($payload, true);
}
Hazır SDK'lar ve geliştirici araçları
Composer ile kurulum
composer require anadolusms/php-sdk
Pip ile kurulum
pip install anadolusms
NPM ile kurulum
npm install anadolusms
Maven ile kurulum
mvn install anadolusms-java
Evet, test amaçlı sandbox ortamı mevcuttur. API anahtarınız ile sandbox endpoint'ini kullanabilirsiniz. Test mesajları gerçek gönderilmez.
Evet, güvenlik için IP allowlist özelliği mevcuttur. Panelden sadece belirli IP adreslerinden API erişimine izin verebilirsiniz.
Evet, webhook'lar başarısız olduğunda otomatik olarak 3 kez tekrar denenir. Exponential backoff ile 1, 5, 15 dakika aralıklarla retry yapılır.
Rate limit aşıldığında 429 Too Many Requests hatası döner. X-RateLimit-Reset header'ı ile limit sıfırlanma zamanını öğrenebilirsiniz.
Toplu gönderim için CSV, Excel (.xlsx) ve JSON formatları desteklenir. Maksimum dosya boyutu 10MB'dır.
5 dakikada SMS API'nizi entegre edin. Ücretsiz deneme ile başlayın.
Hemen Başla