Kurumsal iletişimin öncüsü

0850 870 00 70 [email protected]

SMS API: uygulamalarınızdan kurumsal gönderim

REST/JSON tabanlı, anahtar korumalı ve teslim bildirimi veren arayüz. Uygulamanız, CRM veya e-ticaret altyapınız üzerinden toplu SMS ve OTP gönderimi yapılabilir.

Genel bakış

Geliştiriciler için sade ve öngörülebilir arayüz

API tasarımında önceliğimiz, ilk başarılı test gönderiminin kısa sürede gerçekleştirilebilmesidir. Bu nedenle istek yapısı sade tutulmuş, yanıtlar anlaşılır hata kodlarıyla dönmektedir.

REST + JSON

Standart HTTP yöntemleri ve JSON gövde. Dil bağımsız; PHP, Node.js, Python, Java, C# ve .NET ile sorunsuz çalışır.

Bearer anahtar

Her istek, panelden ürettiğiniz API anahtarıyla yetkilendirilir. Anahtarı yenileyebilir ve IP kısıtlaması tanımlayabilirsiniz.

Teslim callback

Mesaj durumu değiştiğinde belirttiğiniz adrese bildirim gönderilir; sorgulama (polling) yapmanız gerekmez.

Hızlı başlangıç

  1. Panelde hesabınızı açın ve paket yükleyin.
  2. Ayarlar bölümünden API anahtarınızı oluşturun.
  3. Onaylı gönderici başlığınızı sender alanında kullanın.
  4. Aşağıdaki örnek isteği kendi bilgilerinizle çalıştırın.
  5. Yanıtta dönen batch_id ile gönderimi panelden veya API'den sorgulayın.

Not: Aşağıdaki adres ve alan adları örnek amaçlıdır. Hesabınıza özel güncel uç nokta ve parametre listesi, giriş yaptıktan sonra panelin API bölümünde yer alır.

Gönderim isteği

cURL
curl -X POST "https://panel.oncusms.com.tr/api/v1/sms/send" \
  -H "Authorization: Bearer API_ANAHTARINIZ" \
  -H "Content-Type: application/json" \
  -d '{
    "sender": "ONCUSMS",
    "type": "bulk",
    "messages": [
      { "to": "905551112233", "text": "Sayin Ahmet Bey, randevunuz yarin saat 10:00." },
      { "to": "905559998877", "text": "Sayin Ayse Hanim, randevunuz yarin saat 11:30." }
    ]
  }'
Yanıt
{
  "status": "accepted",
  "batch_id": "b_20261017_000481",
  "total": 2,
  "segments": 2,
  "balance": 9998
}

PHP ile OTP gönderimi

PHP
<?php
$payload = [
    'sender' => 'ONCUSMS',
    'type'   => 'otp',
    'messages' => [
        ['to' => '905551112233', 'text' => 'Dogrulama kodunuz: 482915'],
    ],
];

$ch = curl_init('https://panel.oncusms.com.tr/api/v1/sms/send');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer API_ANAHTARINIZ',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS     => json_encode($payload),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 10,
]);
$response = curl_exec($ch);
$code     = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Teslim bildirimi (callback)

Panelde tanımladığınız adrese, mesaj durumu değiştiğinde aşağıdaki gibi bir POST isteği gönderilir. Uç noktanız 200 kodu döndürmelidir; aksi halde bildirim belirli aralıklarla yeniden denenir.

Callback gövdesi
{
  "batch_id": "b_20261017_000481",
  "to": "905551112233",
  "status": "delivered",
  "delivered_at": "2026-10-17T21:14:09+03:00"
}

Hata yönetimi

HTTP durum kodları

Yanıt gövdesindeki message alanı hatanın Türkçe açıklamasını içerir.

KodAnlamYapmanız gereken
200 / 202İstek kabul edildiYanıttaki batch_id'yi kaydedin.
400Geçersiz istekNumara biçimini ve zorunlu alanları kontrol edin.
401YetkisizAPI anahtarınızı ve IP kısıtlamanızı doğrulayın.
402Yetersiz bakiyePanelden paket yükleyin.
422Başlık veya içerik reddedildiGönderici başlığınızın onaylı olduğundan emin olun.
429Hız sınırı aşıldıİstekleri kısa aralıkla yeniden deneyin, toplu gönderim kullanın.
5xxGeçici sunucu hatasıÜstel beklemeyle (exponential backoff) yeniden deneyin.

Entegrasyon için en iyi uygulamalar

  • API anahtarını kaynak koda veya istemci tarafına yazmayın; ortam değişkeninde saklayın.
  • OTP ve toplu gönderimleri ayrı type değerleriyle iletin.
  • Callback uç noktanızı HTTPS ile sunun ve gelen veriyi doğrulayın.
  • Aynı mesajı tekrar göndermemek için kendi tarafınızda bir istek kimliği tutun.
  • Numaraları göndermeden önce temizleyin; boşluk, parantez ve tireleri kaldırın.

Hazır eklenti ve platform entegrasyonları için entegrasyonlar sayfasını inceleyebilirsiniz.

API hakkında sık sorulanlar

API kullanımı ek ücrete tabi mi?

Hayır. API erişimi tüm paketlerde dahildir; yalnızca gönderdiğiniz SMS adedi kadar kredi harcarsınız.

API anahtarımı nereden alırım?

Panelde Ayarlar bölümünden API anahtarınızı oluşturabilir, yenileyebilir ve istediğiniz IP adreslerine kısıtlayabilirsiniz.

Test ortamı var mı?

Test amaçlı gönderimlerinizi düşük adetli bir paketle gerçekleştirebilirsiniz. Daha kapsamlı test gereksinimleriniz için ekibimizle iletişime geçin.

Aynı anda kaç istek gönderebilirim?

Tek istekte birden fazla alıcı gönderebilirsiniz. Hesabınıza tanımlı hız sınırı panelde görünür; yüksek hacimli entegrasyonlar için sınırı birlikte planlarız.

SMS API entegrasyonuna başlayın

Hesabınızı oluşturun, paketinizi tanımlayın ve API anahtarınız ile test gönderimi gerçekleştirin.