Versiyon No 3.2.0

GİRİŞ


SMS API ile doğrudan web uygulamanızdan mesaj gönderin. Sistemimizin temel avantajı, uygulama kolaylığıdır.


SMS API Hizmeti


Hizmetimiz, REST FULL API'miz ile web sitenizi, uygulamanızı veya müşteri ilişkileri yönetimi platformunuzu kolayca SMS ile etkinleştirmeyi destekler.
API aracılığıyla programlı bağlantı, mesaj hizmetindeki hesabınız ile İnternet web sitesi, mobil uygulama, muhasebe programı, müşteri yönetimi programı vb. gibi herhangi başka bir uygulama arasında programlı bir bağlantı süreci oluşturmanıza olanak tanıyan bir seçenektir.
SMS sistemi, PHP - JAVA - C ++ - ASP gibi programlı bağlantı sürecini tamamlamak için tüm programlama dillerini destekler.
Doğrudan bağlama seçeneği API'sinde oturum açtıktan sonra hesabınıza giderek hesabınızı kolayca bağlayabilirsiniz ve sistem sizi bağlantı yoluna kolayca yönlendirecektir.

Doğrudan bağlantı talep etmenin ek bir maliyeti var mı?
Programatik bağlantı oluşturma işlemi için ek bir maliyet olmayacaktır. Ayrıca teknik destek ekibi, doğrudan bağlantıyı kurmanıza yardımcı olacak ve sizin için tam donanımlı olacaktır.

Gereksinimler


API servisini kullanabilmek için, mesajlaşma servisiyle bağlantının doğru ve sorunsuz olması için hesabınızda bazı koşullara sahip olmanız gerekir.
Bu koşullar:

Aktif hesap Böylece hesabınız mesajlaşma servisinde aktif olur ve kontrol paneliniz tamamen etkinleştirilir.
Bakiye API'yi kullanabilmek için hesabınızda bir mesaj bakiyesine sahip olmalısınız.
SMS Kimliği Hesabınızda tam olarak doğrulanmış bir Gönderen Kimliği olmalıdır

Başlangıç


Kısa mesaj servis sağlayıcınızın API'sini kullanmaya başlayın Hesabınızda oturum açın
Ana menüden yönlendirme - Hesabım - API Ayarları


Hizmeti kullanmaya başlamak için hesap bilgilerinizi göreceksiniz.

SMS POST gönderme


SMS API'ye bağlanmak için kullanmanız gereken URL adresleri şunlardır::

URL Adresleri

https://www.turkeysms.com.tr/api/v3/gonder/add-content

Parameter

							
$title    = '';
$api_key  = '';
$text	  = '';
$sentto	  = '';
$report   = '';
$sms_lang = '';
$response_type = '';
							
							

Parameter Description

$title varchar Hesabınızda olduğu gibi Gönderen Kimliğinizi buraya yazın.
$api_key varchar Hesabınızdaki API anahtarınız buraya yerleştirilecektir
$text text Mesaj metni
$sentto int Alıcının cep telefonu numarası
$report int Değer 1 ise, rapor görünür veya iptal için 0 ise gönderme işleminin ayrıntılarını görüntüleme seçeneği
$sms_lang int Bu parametre mesaj metninin kodlanmasını açıklar. UTF-8 varsayılan olarak ayarlanmıştır
$response_type int Yanıt JSON veya Array cevabı

Cevap kodu Yanıt örnekleri Raporu gösterme seçeneği etkinleştirilmişse
Cevap kodu

Geri Raporları


Array
(
    [result] => true
    [sms_id] => 1000007721
    [number_of_sms] => 1
    [result_code] => TS-1024
    [result_message] => The message was sent successfully
    [sms_lang] => Arabic
    [country] => Turkey-TR
)
							

Geri Raporları

result İşlemin sonucu başarılı olursa doğru görünür ve iletim başarısız olursa yanlış görünür
sms_id Mesaj Kimliği. Her istekte bu parametrenin uzunluğu değişebilir
number_of_sms Kullanılan kredi sayısı
result_code Durum kodu, kodların listesi Yanıt kodunda bulunabilir
result_message Gönderilen işlemin mesajı .. Başarı veya başarısızlık durumunda SMS size görünür
sms_lang Gönderdiğiniz mesajın içeriği herhangi bir dilde görünür
country Mesajın gönderildiği ülkenin adı

SMS GET Gönderme


API aracılığıyla GET biçiminde bir mesaj nasıl gönderilir

Bağlantı yoluyla gönderilen değişkenler - yukarıda bahsettiğim gibi değişkenler ve seçeneklerdir.

							
turkeysms.com.tr/api/v3/get/get.php?api_key=API_KEY_HERE&mobile=MOBILE_HERE&title=TITLE_HERE&text=SMS_TEXT_HERE&report=1&lang=2&response_type=json
							
							

Cevap kodu


Doğrudan bağlantı api ile gönderirken, sunucu size işlem için kod şeklinde bir yanıt gönderecektir.
Bu kodlar, gerçekleştirdiğiniz operasyonun sonucunu size açıklar.

Cevap kodu

TS-1024 Mesajı başarıyla gönderildi
TS-1025 Cep telefonu numarası girilmedi. Telefon numarası boş
TS-1026 Mesaj metni boş .. Mesaj metni yazılmadı
TS-1027 Hesabınızda yetersiz bakiye
TS-1028 Gönderen Kimliği, hesabınız için etkin değil
TS-1029 Gönderen Kimliği mevcut değil .. Lütfen doğru yazdığınızdan emin olun
TS-1030 Hesabınız SMS servis sağlayıcısıyla aktif değil
TS-1031 APİ anahtarı geçersiz
TS-1032 Mesajın gönderildiği numara Türkiye dışındadır. Hesabınız uluslararası SMS için etkinleştirilmedi
TS-1033 Bağlantı üzerinden gönderilen veriler yanlış
TS-1034 Mesajın gönderildiği cep telefonu numarası geçersiz

Kodun geçerliliğini kontrol etme


Yetkilendirme kodunun doğrulanması, alıcı cep telefonu numarası olmak üzere iki parametre ile API'ye POST talebi ile yapılabilir.

							
turkeysms.com.tr/api/v3/sms-durumu/sms_durumu.php?api_key=API_KEY_HERE&sms_id=SMS_ID_HERE&response_type=php							
							
							

Bağlantı aracılığıyla gönderilen değişkenler

							
$api_key  = '';
$sms_id	  = '';
$response_type = '';
							
							

Parametre Tanımı

api_key$ varchar Hesabınızdaki API anahtarınız buraya yerleştirilecektir
sms_id$ int (SMS ID) Mesaj Kimliği
response_type$ int Yanıt JSON veya PHP cevabı

Geri Raporları

Örnek Yanıt


Array
(
    [result] => true
    [sender_id] => SenderID
    [date_of_sending] => 2021-01-01
    [time_of_sending] => 13:10:00
    [sms_status] => Number received the message
    [sms_status_code] => TS-1024
    [sms_balance] => 1 SMS
    [operator] => Turkcell
)
							

Parametre Tanımı

result İşlemin sonucu başarılı olursa doğru görünür ve iletim başarısız olursa yanlış görünür
sender_id Mesaj Kimliği. Her istekte bu parametrenin uzunluğu değişebilir
date_of_sending Mesajın gönderildiği tarih
time_of_sending Mesajın gönderildiği zaman
sms_status Mesaj Durumu - Teslim Edildi - Teslim Edilmedi - Numara kapsam dışı
sms_status_code Durum Kodu
sms_balance Kullanılan kredi sayısı
operator Numaranın ait olduğu şirketin adı

Uluslararası SMS


Uluslararası mesajlar, Türkiye sınırları dışına gönderilen mesajlardır.
Uluslararası kodla (+ 90-0090) olan (başlamayan) tüm sayıları içerirler.
Türkiye SMS servisi, hesabınız üzerinden dünyanın herhangi bir ülkesine SMS göndermenizi sağlar. Ancak bakiyenizi uluslararası bir hesapla doldurmanız gerekir, böylece dünyadaki herhangi bir ülkeye gönderebilirsiniz.
Mesajın fiyatı bir ülkeden diğerine değişmekte olup, uluslararası mesajın varış zamanı da bir ülkeden diğerine değişiklik göstermektedir.
Uluslararası gönderimler yapabilmeniz için Türkiye Teknik Destek Merkezi SMS servisini hesabınızı aktif hale getirerek yurt dışına gönderebilmeniz için aramanız gerekmektedir.

API aracılığıyla nasıl uluslararası bir mesaj gönderirim?

Yerel mesajı Türkiye içinde gönderme yöntemiyle aynıdır. Aynı bağlantı ve tüm seçeneklerle.
Ancak hesabınızı uluslararası bir bakiye ile doldurmalısınız.
Ve gönderilen numara uluslararası kodda yazılmalıdır.

Örnek


Mesajlaşma sistemi, programlama sürecini bu şekilde tamamlamak için tüm programlama dillerini destekler.

PHP Java JavaScript NodeJS Python CSharp C(LibCURL) Go ObjectiveC Ruby Swift

PHP

function sendRequest($site, $data)
{
    $json = json_encode($data);
    $ch = curl_init($site);
    $header = array('Content-Type: application/json');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
$api_key  = '';
$title    = '';
$text	  = '';
$sentto	  = '';

$body = array("api_key" => $api_key, "title"=>$title, "text"=>$text,"sentto"=>$sentto);
$result = sendRequest('https://www.turkeysms.com.tr/api/v3/gonder/add-content', $body);
//http://www.lalit.org/lab/convert-xml-to-array-in-php-xml2array/

JAVA

Unirest.setTimeouts(0, 0);
HttpResponse response = Unirest.post("https://www.turkeysms.com.tr/api/v3/gonder/add-content")
.header("Content-Type", "application/json")
.body("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
.asString();

JavaScript

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"});

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("https://www.turkeysms.com.tr/api/v3/gonder/add-content", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Python

import requests

url = "https://www.turkeysms.com.tr/api/v3/gonder/add-content"

payload = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

Ruby

require "uri"
require "net/http"

url = URI("https://www.turkeysms.com.tr/api/v3/gonder/add-content")

https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"

response = https.request(request)
puts response.read_body

CSharp

var client = new RestClient("https://www.turkeysms.com.tr/api/v3/gonder/add-content");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}",  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

C(LibCURL)

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "https://www.turkeysms.com.tr/api/v3/gonder/add-content");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Content-Type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);


NodeJS

var unirest = require('unirest');
var req = unirest('POST', 'https://www.turkeysms.com.tr/api/v3/gonder/add-content')
  .headers({
    'Content-Type': 'application/json'
  })
  .send(JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"}))
  .end(function (res) { 
    if (res.error) throw new Error(res.error); 
    console.log(res.raw_body);
  });

ObjectiveC


#import  Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://www.turkeysms.com.tr/api/v3/gonder/add-content"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Content-Type": @"application/json"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);

Go


package main
import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)
func main() {
  url := ""https://www.turkeysms.com.tr/api/v3/gonder/add-content"
  method := "POST"
  payload := strings.NewReader("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
  }
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  defer res.Body.Close()
  body, err := ioutil.ReadAll(res.Body)

  fmt.Println(string(body))
}

Swift

import Foundation

var semaphore = DispatchSemaphore (value: 0)

let parameters = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://www.turkeysms.com.tr/api/v3/gonder/add-content")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
  semaphore.signal()
}

task.resume()
semaphore.wait()

SMS Kütüphaneleri


Kullanmak istediğiniz programlama dilinde hazır dosyaları indirebilirsiniz.

PHP Dosya