REST API ile SMS Entegrasyon Kılavuzu
Bu doküman, yazılımınızdan Reklam SMS hesabınızdaki kredileri kullanarak SMS göndermek için gerekli tüm REST API detaylarını, güvenlik kurallarını ve örnekleri içerir.
https://sizin-domain.com/api/v1 (uzantısız URL desteklenir)application/jsonAuthorization: Bearer <API_KEY> (her kullanıcı için tek anahtar)Idempotency-Key: <UUID>GET, POST, OPTIONS destekler; preflight'a 204 döner+905XXXXXXXXX, 90XXXXXXXXXX, 05XXXXXXXXX formatları kabul edilir (otomatik normalize edilir)GET /api/v1/originators ile listenizi alın; yanıt { "items": ["BASLIK1", "BASLIK2", ...] } formatındadır. Gönderim isteğinde originator alanına bu listeden bir değer yazın.| Metod | Endpoint | Açıklama |
|---|---|---|
| POST | /sms/send |
Tek numara veya dizi (en fazla 1000 alıcı) ile gönderim. originator zorunludur. |
| POST | /sms/send-bulk |
Çoklu numara gönderimi; to dizi olmalı. Sunucu 1000'lik parçalara böler. originator zorunludur. |
| GET | /account/balance |
Kredi sorgu. Yanıt: { "credits": 123 } |
| GET | /originators |
Hesabınıza atanmış başlık listesi. Yanıt: { "items": ["BASLIK1", ...] } |
| GET | /reports?send_id=ID |
Gönderim özet + detay (ilk 5000 satıra kadar) |
Zorunlu alanlar: to, message, originator. Mesaj en fazla 1160 karakter (8 SMS bölümü).
Zorunlu alanlar: to (dizi), message, originator.
schedule_at ISO8601 (örn. 2025-12-31T23:59:00+03:00) verildiğinde kayıt kuyruğa alınır. Dakika 5'in katı olmalıdır (00, 05, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55). Geçmiş tarih kabul edilmez.
Not: summary.status gönderim durumunu; details[].status her numara için teslimat durumunu gösterir. En fazla 5000 detay satırı döner.
X-Timestamp (epoch), X-Signature (sha256= + HMAC)HMAC_SHA256(secret, X-Timestamp + '.' + body)sms.queued, sms.sent, sms.failed| HTTP Kodu | Açıklama |
|---|---|
| 400 | Geçersiz JSON / Eksik parametre |
| 401 | Kimlik doğrulama hatası (Bearer anahtar) |
| 402 | Yetersiz kredi. Yanıt: { "error": "Yetersiz kredi", "required": N, "available": M } |
| 403 | BTK riskli içerik; mesaj admin onayına alındı. Yanıt: btk_blocked: true, reason, category |
| 404 | Kayıt bulunamadı (rapor) |
| 429 | Oran sınırı aşıldı (300 istek/dk) |
| 500 | Sağlayıcı/servis hatası |
Kullanıcı başına varsayılan: 300 istek/dk. İhtiyaca göre artırılabilir. Toplu gönderimler sunucu tarafında 1000'lik parçalara bölünerek hız/kararlılık dengelenir.
Ayarlar api/config.php üzerinden değiştirilebilir (sunucu tarafı):
API_RATE_LIMIT_PER_MIN: Dakika başına istek limiti (varsayılan 300)API_CHUNK_SIZE: API çağrılarında alt-parça boyutu (varsayılan 1000)BATCH_MAX_GROUP: Zamanlanmış gönderimde tek kayıt içi üst grup (varsayılan 50000)BATCH_API_CHUNK: Sağlayıcıya alt-parça boyutu (varsayılan 1000)BATCH_DELAY_MS: Alt-parça arası gecikme (varsayılan 100 ms)BATCH_FETCH_LIMIT: Her döngüde işlenecek zamanlanmış kayıt sayısı (varsayılan 200)Daha fazla bilgi ve yönetim için API Bilgisi sayfasını ziyaret edin.