Geliştirici Kaynakları
SMS Merkezi REST API ile dakikalar içinde sisteminize SMS gönderimi entegre edin. Sanctum token kimliği, JSON yanıt, RFC 7807 hata standardı, gerçek zamanlı DLR webhook.
# Tek bir SMS gönder
curl -X POST https://api.smsmerkezi.net/v1/sms \
-H "Authorization: Bearer SK_xxx" \
-H "Content-Type: application/json" \
-d '{
"to": "+905551234567",
"sender": "FIRMAM",
"body": "Merhaba, randevunuz onaylandı."
}'
Hızlı entegrasyon
Tek endpoint, JSON gövde, Bearer token. İlk SMS'inizi 5 dakikada gönderin.
Güvenli token
Laravel Sanctum tabanlı API token + ability scope. Token'ı panelden yönetin, istediğinizde iptal edin.
Standartlara uyumlu
RFC 7807 problem+json hatalar, X-RateLimit başlıkları, ISO 8601 tarih, idempotent webhook.
Hızlı Başlangıç
3 adımda ilk API çağrınızı yapın.
Token oluştur
Panelde Ayarlar → API Token bölümünden yeni token üretin. Token sadece bir kez gösterilir.
İlk SMS'i gönder
Aşağıdaki kod örneğini kopyalayın, token'ınızı yapıştırın, çağırın. Yanıtta SMS ID'sini alacaksınız.
Kod Örnekleri
SMS gönderme — dilediğiniz dilde başlayın.
curl -X POST https://api.smsmerkezi.net/v1/sms \
-H "Authorization: Bearer SK_your_token_here" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"to": "+905551234567",
"sender": "FIRMAM",
"body": "Randevunuz 14:30 onaylandı."
}'
<?php
$ch = curl_init('https://api.smsmerkezi.net/v1/sms');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer SK_your_token_here',
'Accept: application/json',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'to' => '+905551234567',
'sender' => 'FIRMAM',
'body' => 'Randevunuz 14:30 onaylandı.',
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "HTTP $status\n$response\n";
import requests
response = requests.post(
"https://api.smsmerkezi.net/v1/sms",
headers={
"Authorization": "Bearer SK_your_token_here",
"Accept": "application/json",
},
json={
"to": "+905551234567",
"sender": "FIRMAM",
"body": "Randevunuz 14:30 onaylandı.",
},
timeout=10,
)
print(response.status_code, response.json())
// Node 18+ (yerleşik fetch). Aksi halde: npm i node-fetch
const res = await fetch('https://api.smsmerkezi.net/v1/sms', {
method: 'POST',
headers: {
'Authorization': 'Bearer SK_your_token_here',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
to: '+905551234567',
sender: 'FIRMAM',
body: 'Randevunuz 14:30 onaylandı.',
}),
});
console.log(res.status, await res.json());
Örnek Yanıt
Başarılı çağrı → 202 Accepted
{
"data": {
"id": "sms_01HXYZ123ABC",
"status": "queued",
"to": "+905551234567",
"segments": 1,
"encoding": "GSM7",
"credits_used": 1,
"created_at": "2026-05-18T14:30:00+03:00"
}
}
Kimlik Doğrulama
Her istek Bearer token ile yapılır. Token'ı panelden
Ayarlar → API Token
bölümünden oluşturursunuz. Her token bir veya birden fazla
ability (yetki) ile sınırlandırılabilir:
- •
sms:send— SMS gönderme - •
sms:read— SMS listesi + detay - •
contacts:*— Kontak CRUD - •
reports:read— Rapor erişimi
Token sızıntısı durumunda panel üzerinden tek tıkla iptal edebilirsiniz; geçmiş kayıtlar etkilenmez.
Rate Limit
API çağrıları paket bazında saatlik limite tabidir. Her yanıtta aşağıdaki başlıklar döner:
X-RateLimit-Limit: 3600
X-RateLimit-Remaining: 3542
X-RateLimit-Reset: 1716039600
Limit aşıldığında 429 Too Many Requests
döner; Retry-After başlığını dikkate alın.
Kullanımınızı panelde API Kullanımı ekranından izleyebilirsiniz.
Webhook (DLR Push)
Her SMS durumu değiştiğinde (queued → sent → delivered) belirttiğiniz URL'ye
HMAC-SHA256 imzalı JSON push gönderilir. Başarısız istekler
[10s, 60s, 300s, 900s, 1h]
gecikmelerle 5 kez tekrarlanır.
POST /your-webhook
X-SMSMerkezi-Signature: sha256=abc123...
X-SMSMerkezi-Event: sms.delivered
{
"event": "sms.delivered",
"data": {
"id": "sms_01HXYZ123ABC",
"status": "delivered",
"delivered_at": "2026-05-18T14:30:42+03:00"
}
}
Doğrulama: gövdeyi paneldeki secret ile HMAC-SHA256 hesaplayın,
X-SMSMerkezi-Signature başlığıyla kıyaslayın.
Hata Standardı
Tüm hata yanıtları RFC 7807 problem+json formatında döner. İşlemenize uygun yapı:
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/problem+json
{
"type": "https://smsmerkezi.net/errors/validation",
"title": "Doğrulama hatası",
"status": 422,
"detail": "Alıcı numara geçersiz.",
"errors": {
"to": ["E.164 formatında olmalı"]
}
}
type alanı hata türünü URI olarak tanımlar; bu URI'yi
kontrol ederek programatik karar verebilirsiniz.
Tam dokümantasyon hazır
70+ endpoint, her biri için örnek istek/yanıt, parametre tablosu ve hata kodları. Scribe ile otomatik üretildi, her sürümde günceldir.