SMS API: kendi yazılımınızdan SMS gönderin

Sipariş bildirimi, doğrulama kodu, randevu hatırlatması ve kampanya mesajlarını CRM, ERP, e-ticaret ya da kendi uygulamanızdan otomatik gönderin. Ücretsiz, her pakete dahil; 5 dil için hazır örnek kod.

Nasıl çalışır

Üç adımda entegrasyon

HTTP ile JSON gönderen her dil çalışır; listede olmayan sistemler de aynı uçları kullanır.

1

API anahtarınızı alın

Ücretsiz üyelik sonrası panelde Hesabım → API Bilgilerimi Görüntüle: api_id ve api_key.

2

Örnek kodu yapıştırın

Dilinize uygun örneği alın, anahtarlarınızı ve gönderici adınızı yazın. Postman koleksiyonuyla önce test edin.

3

Gönderin, raporu sorgulayın

Her gönderim bir report_id döner; teslimat durumunu rapor uçlarından ya da panelden izleyin.

Postman ile 5 dakikada test

Hazır koleksiyon, adım adım ekran görüntüleriyle.

Postman Rehberi →
Uçlar

Sekiz uçla gönderim, rapor ve yönetim

Taban adres https://api.toplusmspaketleri.com. Tüm istekler api_id ve api_key ile JSON gövdede.

UçNe yapar
/api/v1/1toNAynı mesajı bir ya da çok numaraya gönderir; send_time ile ileri tarihli
/api/v1/NtoNHer numaraya farklı mesaj (kişiye özel hitap, kod, tutar)
/api/v1/sendersHesaba tanımlı gönderici adlarını (başlıkları) listeler
/api/v1/user/informationBakiye ve hesap bilgisi
/api/v1/report/detailBir gönderimin numara bazında teslimat raporu, sayfalı
/api/v1/report/betweenTarih aralığına göre gönderim raporu
/api/v1/report/singleTek gönderimin sonuç özeti
/api/v1/cancel/future-smsİleri tarihli gönderimi iptal eder
Kod örnekleri

PHP ile SMS gönderme

Aşağıdaki örnekler PHP içindir; Python, JavaScript, Java ve C# örnekleri kendi sayfalarında. Her blokta sağ üstteki düğmeyle kopyalayın.

api_id ve api_key bilgilerinize panelde Hesabım → API Bilgilerimi Görüntüle bölümünden ulaşırsınız.

1 - N

sender olarak hesabınıza tanımlanmış olan gönderici adını göndermelisiniz. Türkçe SMS gnderimi için 'message_type': turkce olarak gönderilmelidir.

İleri tarihli SMS göndermek için datanın içerisine 'send_time' : '2021-05-25 12:00:00' (Y-m-d H:i:s) şeklinde gönderilmedilir. Hemen gönderim yapmak için send_time'ı göndermemelisiniz.

                            <?php

$curl = curl_init();

$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  'sender' => 'SMSBASLIGINIZ',
  'message_type' => 'normal',
  'message' => 'Bu bir test mesajıdır.',
  'message_content_type' => 'bilgi', // ticari smsler için 'ticari'
  'phones' => [
    '5xxxxxxxxx',
    '5xxxxxxxxx'
  ]
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/1toN',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];

curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

N - N

sender olarak hesabınıza tanımlanmış olan gönderici adını göndermelisiniz. Türke SMS gönderimi için 'message_type': turkce olarak gönderilmelidir.

İleri tarihli SMS göndermek iin datanın içerisine 'send_time' : '2021-05-25 12:00:00' (Y-m-d H:i:s) şeklinde gönderilmedilir. Hemen gönderim yapmak için send_time'ı göndermemelisiniz.

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  'sender' => 'SMSBASLIGINIZ',
  'message_type' => 'normal',
  "send_time" => "2021-05-19 15:33:00",
  "message_content_type" => "bilgi", // ticari smsler için "ticari"
  'phones' => [
    [
      "phone" => "5xxxxxxxxx",
      "message" => "Bu bir test mesajıdır."
    ],
    [
      "phone" => "5xxxxxxxxx",
      "message" => "Bu bir test mesajıdır."
    ]
  ]
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/NtoN',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];

curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

Gönderici Adı Sorgulama

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY'
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/senders',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];

curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

Kullanıcı Bilgilerini Alma

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY'
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/user/information',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];

curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

Rapor Sorgulama - Rapor Detayı

report_id her SMS gönderimi sonrasında dönen id değeridir.

Eğer datanın sayfalamalı dönmesini istiyorsana url içerisinde page'i göndermeniz gerekmektedir. Sayfalar default olarak 20 şerli dönmektedir. Eğer isterseniz 1-100 arasında bir değeri pageSize'da göndererek deiştirebilirsiniz.

Eğer direkt sayfalamasız olarak bütün datayı almak istemiyorsanız page ve pageSize göndermemelisiniz.

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  'report_id' => 926410
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/report/detail?page=1&pageSize=20',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];


curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

Rapor Sorgulama - Tarih Bazlı

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  "start_date" => "2021-05-17 11:22:00",
  "end_date" => "2021-05-18 11:31:00"
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/report/between',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];


curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            

Rapor Sorgulama - Sonuç Sorgusu

report_id her SMS gönderimi sonrasında dönen id değeridir.

                            <?php

$curl = curl_init();
$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  "report_id" => 926382
];
$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/report/single',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];
curl_setopt_array($curl, $curl_options);
$response = curl_exec($curl);
curl_close($curl);
echo $response;

?>                            
                            

İleri Tarihli SMS İptal

İleri tarihli SMS iptal etmek için datanın içerisine 'id (Rapor ID)' : 'xxx' şeklinde gönderilmedilir.

                            <?php

$curl = curl_init();

$params = [
  'api_id' => 'API_ID',
  'api_key' => 'API_KEY',
  'id' => xxx,
];

$curl_options = [
  CURLOPT_URL => 'https://api.toplusmspaketleri.com/api/v1/cancel/future-sms',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSL_VERIFYPEER => 0,
  CURLOPT_POSTFIELDS => json_encode($params),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json'
  ]
];

curl_setopt_array($curl, $curl_options);

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>                            
                            
Sık sorulan sorular

SMS API Hakkında

Daha fazlası API kullanım soruları sayfasında; eklenti ve modüller için SMS API nedir.

SMS API ücretli mi? ▼

Hayır. API erişimi her pakete dahildir; yalnız gönderdiğiniz SMS kredisi düşer. Kurulum ya da aylık ücret yoktur.

api_id ve api_key nereden alınır? ▼

Panelde Hesabım → API Bilgilerimi Görüntüle bölümünden. Her istekte bu iki değer gönderilir; şifrenizi API'de kullanmazsınız.

Hangi gönderici adıyla gönderebilirim? ▼

Hesabınıza tanımlı başlıklardan biriyle (senders ucu listeler). Başlık onayı bekleniyorsa numaralı gönderim seçeneği kullanılabilir.

Türkçe karakter gönderebilir miyim? ▼

Evet. İstekte message_type değerini turkce gönderin; aksi halde mesaj Türkçe karaktersiz işlenir.

İleri tarihli SMS nasıl gönderilir ve iptal edilir? ▼

1-N ve N-N isteğine send_time alanı (Y-m-d H:i:s) eklenir. Gönderim öncesi iptal için cancel/future-sms ucuna rapor id'si gönderilir.

Teslimat raporunu nasıl alırım? ▼

Her gönderim bir report_id döner. report/detail ile numara bazında durumu, report/between ile tarih aralığını, report/single ile özeti sorgularsınız. Varsayılan sayfa 20 kayıt, pageSize ile 1-100.

Postman ile test edebilir miyim? ▼

Evet, Postman sayfasında hazır koleksiyon ve adım adım anlatım var; api_id ve api_key'i girip ilk mesajı dakikalar içinde atarsınız.

API anahtarınızı bugün alın

Ücretsiz üyelik, anında api_id ve api_key, takıldığınızda teknik destek.