Versiyon No 3.2.0

Giriş


Web uygulamanıza mesajlaşma yeteneklerini sorunsuz bir şekilde entegre edebileceğiniz SMS API belgelerimize hoş geldiniz. SMS API'miz, uygulamanızdan doğrudan mesaj göndermeyi kolaylaştıran basit bir uygulama sunar, böylece kullanıcı etkileşimini artırabilirsiniz.

Turkey SMS API Belgeleri

Bildirimler, uyarılar veya diğer SMS türlerini göndermek istiyor olun, API'miz güvenilir ve verimli bir çözüm sunar. Bu belge, SMS API'mizi web uygulamanıza sorunsuz bir şekilde entegre etmek için gerekli adımları size rehberlik edecektir.

SMS API Hizmeti


SMS API hizmetimize hoş geldiniz. Bu hizmet, kapsamlı RESTful API'miz aracılığıyla web siteniz, uygulamanız veya müşteri ilişkileri yönetim platformunuz için SMS işlevselliğini kolayca etkinleştirmenizi sağlar.

API aracılığıyla programlama bağlantısı, mesajlaşma servisi hesabınız ile web siteleri, mobil uygulamalar, muhasebe programları ve müşteri yönetim sistemleri gibi harici uygulamalar arasında sorunsuz bağlantılar kurmanıza olanak tanır. SMS sistemi PHP, JAVA, C++ ve ASP dahil olmak üzere tüm önemli programlama dillerini destekler.

Giriş yaptıktan sonra hesabınızda doğrudan bağlantı seçeneğine erişerek bağlantı sürecini başlatabilirsiniz. Sistemimiz sizi bağlantı süreci boyunca sorunsuz bir şekilde yönlendirecektir.

Doğrudan bağlantı için ek maliyetler mi merak ediyorsunuz? Endişelenmeyin, programlı bağlantı süreci için ekstra ücretler bulunmamaktadır. Ayrıca, özel teknik destek ekibimiz SMS Başlık'ınızı tam olarak onaylamak ve yapılandırmak için size yardımcı olacaktır.

Gereksinimler


API hizmetini kullanmadan önce, hesabınızın aşağıdaki koşulları karşıladığından emin olun, böylece mesajlaşma servisi ile doğru ve sorunsuz bir bağlantı kurabilirsiniz:

Aktif Hesap Hesabınızın mesajlaşma servisinde aktif olması ve kontrol panelinizin tamamen etkinleştirilmiş olması gerekmektedir.
Mesaj Bakiyesi API'yi kullanmak için hesabınızda yeterli mesaj bakiyesini koruyun.
Onaylı SMS Başlığı Hesabınızın tamamen onaylanmış bir SMS Başlığı'na sahip olduğundan emin olun.

Başlarken


SMS API entegrasyonunuza başlamak için bu basit adımları takip edin:

  1. Hesabınıza giriş yapın.
  2. Ana menüye gidin ve "Hesabım" seçeneğini seçin, ardından "API Ayarları"nı seçin.

Turkey SMS API Documentation

API Ayarları bölümünde, SMS API hizmetini etkili bir şekilde kullanmaya başlamak için gereken hesabınıza ait temel bilgileri bulacaksınız.

Kimlik Doğrulama


SMS API'ye bağlanmak için aşağıdaki URL adresini kullanın:

/api/v3/authenticate/login

Parametreler

								
$api_key  = '';
$report   = '';
$response_type = '';
								
							

Parametre Açıklamaları

$api_key varchar Hesabınızdan aldığınız API anahtarı.
$report int Gönderim sürecinin ayrıntılarını görüntüleme seçeneği (rapor için 1, iptal için 0).
$response_type int Yanıt türü (JSON veya Dizi).

Örnek Yanıtlar (rapor seçeneği etkinleştirilmişse)

Yanıt Kodu
								
Array
(
	[result] => true
	[result_code] => TS-1046
	[result_message] => operation_success
	[user_id] => USERID
	[account_name] => ACCOUNTNAME
)
							

Yanıt Ayrıntıları

result İşlem sonucu (başarı için true, başarısızlık için false).
result_code Durum kodu (kodlar listesi için Yanıt Koduna bakın).
result_message İşlemin başarısı veya başarısızlığı hakkında mesaj.
user_id Kimlik doğrulaması yapılan hesap kimliği API aracılığıyla gösterilir.
account_name Kimlik doğrulaması yapılan hesap adı API aracılığıyla gösterilir.

SMS Gönderme POST


SMS API'ye bağlanmak için aşağıdaki URL adresini kullanın:

turkeysms.com.tr/api/v3/gonder/add-content

Parametreler

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

Parametre Açıklamaları

$title varchar Hesabınızda görünen Gönderici Kimliğiniz.
$api_key varchar Hesabınızdan API anahtarınız.
$text text Mesaj metni.
$sentto int Alıcı mobil telefon numarası.
$report int Gönderim sürecinin detaylarını görüntüleme seçeneği (rapor için 1, iptal için 0).
$sms_lang int Mesaj metninin kodlaması, varsayılan olarak UTF-8.
$response_type int Yanıt türü (JSON veya Array).
$content_type int SMS mesajında gönderilen içeriğin türü. Bu parametre, mesajın doğasını tanımlamaya yardımcı olur ve aşağıdaki değerleri kabul eder:
  • 0: İşlem - Bir işlem veya kullanıcı etkileşimi ile ilgili bir mesajı belirtir.
  • 1: Yüksek Kalite - Yüksek kaliteli içeriğe sahip bir mesajı temsil eder, muhtemelen pazarlama veya bilgilendirme amaçlı.
  • 2: Reklam - Promosyon amaçlı bir reklam mesajını belirtir.
Gerçek içerik türü, bu parametreye API isteğinizde atanan değere dayanır.

Örnek Yanıtlar (rapor seçeneği etkinse)

Yanıt Kodu

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

Yanıt Detayları

result İşlem sonucu (başarı için true, başarısızlık için false).
sms_id Mesaj ID'si (uzunluğu değişebilir).
number_of_sms Kullanılan kredi sayısı.
result_code Durum kodu (kod listesi için Yanıt Kodu'na başvurun).
result_message İşlemin başarı veya başarısızlık hakkında mesaj.
sms_lang Gönderilen mesajın dili.
content_type SMS mesajında gönderilen içeriğin türü (İşlem, Yüksek Kalite, Reklam).
total_has_sent_last_1_min Son 1 dakikada gönderilen toplam mesaj sayısı.
country Mesajın gönderildiği ülke.

Birden Fazla Numaraya Tek Bir Metin Gönderme


Bu seçenek, birden fazla numaraya tek bir mesaj göndermenizi sağlar, bu da birçok kullanıcıyla etkili iletişim kurmanıza olanak tanır. Sayıdan bağımsız olarak mesajınızı kolaylıkla ve etkili bir şekilde gönderebilir, zaman ve çaba tasarrufu sağlayabilirsiniz.

Gönderim bağlantısı

/api/v3/gruba-gonder/post/tek-metin-gonderimi/

Bağlantı aracılığıyla gönderilen değişkenler şunları içerir:

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

Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:

title$ varchar Hesabınızda bulunan başlık bilgisini belirtir, harf durumunu dikkate alır.
api_key$ varchar Hesabınızdaki gönderim anahtarını belirtir.
text$ text Göndermek istediğiniz mesajın metnini belirtir.
sentto$ array Gönderilecek numaraları bir DİZİ olarak ekler, örneğin: array('905000000001', '905000000002')
report$ int Gönderim işlem raporunu görüntüleme seçeneğini belirtir, değeri 1 ise rapor gösterilir, 0 ise gösterilmez.
sms_lang$ int Gönderilen mesajın içeriğinin dilini belirtir, 2 Arapça için ve 0 İngilizce için.
response_type$ int Gönderim sunucusu tarafından dönülen cevap dilini belirtir.

Gönderim işleminden sonra sunucudan gelen yanıt, işlemin sonucunu açıklar. Rapor görüntüleme seçeneği aktifse, Gönderim Kodlarının Açıklaması sayfasından gönderim kodlarını takip edebilirsiniz.

Sunucudan gönderim işlemi sonrası gelen yanıt örneği:

							
Array
(
	[result] => true
	[rapor_id] => 123456
	[total_mobile_num] => 2
	[number_of_sms] => 1
	[result_code] => TS-1024
	[result_message] => The message was sent successfully
	[sms_lang] => turkce
	[country] => Turkey-TR
)
					
							

Sunucudan gelen yanıt değişkenlerinin açıklamaları:

result İşlemin sonucunu gösterir; başarılı ise true, başarısız ise false.
rapor_id Gönderim işlem rapor numarası.
total_mobile_num Mesajın gönderildiği toplam numara sayısı.
number_of_sms Mesaj gönderiminden sonra hesabınızdan düşülen SMS sayısı veya miktarı.
result_code İşlem kodu; ayrıntılı bilgi için Gönderim Kodları bölümünü takip edebilirsiniz.
result_message İşlem sonucunu açıklayan mesaj; işlem başarılı ise mesaj gönderildi, değilse gönderilemedi gibi.
sms_lang Gönderilen mesajın içeriğinin dilini gösterir.
country Mesajın gönderildiği ülkenin adı.

Toplu Mesaj Gönderimi - Her Numara İçin Farklı Metinler


Bu seçenek, birçok numaraya özel mesaj gönderme imkanı sunar; her numara için farklı bir metin iletişimi sağlar. Bu, büyük bir kullanıcı grubuyla etkili ve hızlı iletişim kurmanızı sağlar, zaman ve çaba tasarrufu sağlar.

Toplu mesaj gönderimi için gönderim bağlantısı - Farklı numaralar ve metinler

/api/v3/gruba-gonder/post/coklu-metin-gonderimi/

Bağlantı üzerinden gönderilen değişkenler şunları içerir:

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

Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:

title$ varchar Hesabınızdaki başlık bilgisini belirtir, harf durumunu dikkate alır.
api_key$ varchar Hesabınızdaki gönderim anahtarını belirtir.
text$ array Metinleri bir dizi içinde belirtir (ARRAY), örneğin: array('metin_01', 'metin_02'). Metin dizisindeki sıralamanın numara dizisindeki sıralamayla eşleştiğinden emin olunmalıdır.
sentto$ array Gönderilecek numaraları bir dizi içinde belirtir (ARRAY), örneğin: array('905000000001', '905000000002').
report$ int Gönderim işlem raporunu görüntüleme seçeneğini belirtir, değeri 1 ise rapor gösterilir, 0 ise gösterilmez.
sms_lang$ int Gönderilen mesajın içeriğinin dilini belirtir, 2 Arapça için ve 0 İngilizce için.
response_type$ int Gönderim sunucusu tarafından dönülen cevap dilini belirtir.

Gönderim işleminden sonra sunucudan gelen yanıt, işlemin sonucunu açıklar. Rapor görüntüleme seçeneği aktifse, Gönderim Kodlarının Açıklaması sayfasından gönderim kodlarını takip edebilirsiniz.

Sunucudan gönderim işlemi sonrası gelen yanıt örneği:

					
Array
(
	[result] => true
	[rapor_id] => 123456
	[total_mobile_num] => 2
	[number_of_sms] => 1
	[result_code] => TS-1024
	[result_message] => The message was sent successfully
	[sms_lang] => turkce
	[country] => Turkey-TR
)
					
						

Sunucudan gelen yanıt değişkenlerinin açıklamaları:

result İşlemin sonucunu gösterir; başarılı ise true, başarısız ise false.
rapor_id Gönderim işlem rapor numarası.
total_mobile_num Mesajın gönderildiği toplam numara sayısı.
number_of_sms Mesaj gönderiminden sonra hesabınızdan düşülen SMS sayısı veya miktarı.
result_code İşlem kodu; ayrıntılı bilgi için Gönderim Kodları bölümünü takip edebilirsiniz.
result_message İşlem sonucunu açıklayan mesaj; işlem başarılı ise mesaj gönderildi, değilse gönderilemedi gibi.
sms_lang Gönderilen mesajın içeriğinin dilini gösterir.
country Mesajın gönderildiği ülkenin adı.

GET Format ile SMS Gönderme


API kullanarak mesaj göndermenin GET formatını kullanmayı öğrenin. Mesajları GET formatıyla göndermek basit ve anlaşılır bir süreçtir.

Değişkenler ve seçenekler yukarıda belirtilen örneklerde olduğu gibi linkin sonuna eklenir. Bağlantı yapısı aşağıdaki gibidir:

								
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&
content_type=0

GET isteğinde veriler URL içinde gönderilir, bu da onları görünür ve anlaması kolay hale getirir. Parametreler, bir soru işaretinden (`?`) sonra URL'ye eklenir ve her parametre-değer çifti bir ampersand (`&`) ile ayrılır. Bu basitlik, test etmek ve hızlı entegrasyon için uygun kılar.

Önemli bir not olarak, URL içinde verilerin görünür olması nedeniyle güvenlik nedenleriyle hassas bilgiler GET istekleri aracılığıyla iletilmemelidir. Hassas veriler için POST yönteminin kullanılması önerilir.

OTP SMS Gönderme


OTP servisi, "Bir Kullanımlık Şifre" anlamına gelen kısaltmasıyla, bir defaya mahsus kullanılmak üzere rastgele oluşturulan bir kod üretir. Bu kod, SMS aracılığıyla gönderilir ve doğrulama işlemlerinde, giriş prosedürlerinde ve hesap onaylarında kullanılır. OTP, genellikle giriş süreçleriniz için güvenliği artırmak amacıyla iki faktörlü kimlik doğrulamada kullanılır. OTP'nin önemli bir özelliği, şifrenin yalnızca bir defa kullanılabilir olmasıdır, bu da siber saldırılara ve şifre tahmin girişimlerine karşı ek güvenlik sağlar.

Önemli Not: OTP servisi, diğer türlerdeki mesajlara kıyasla mesajları daha hızlı bir şekilde iletmekte üstün bir performans sergiler.
Ayrıca, OTP servisi müşteri hesabında etkinleştirilmiş bir gönderen kimliği gerektirmez ve mesaj içeriği üzerinde kontrol sağlanamaz, çünkü sadece doğrulama kodu içindir.

SMS OTP gönderme için doğrudan API bağlantısı [GET] şu şekildedir:

/api/v3/otp/otp_get.php

Bağlantı üzerinden gönderilen değişkenler şunlardır:

								
$api_key  = '';
$mobile   = '';
$digits   = '';
$report   = '';
$lang     = '';
$response_type = '';
								
							

Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:

api_key$ varchar API anahtarınız buraya yerleştirilir.
mobile$ int Alıcı numarası. Harf veya semboller içermemelidir.
digits$ int Doğrulama kodundaki rakam sayısı.
report$ int Teslimat raporunu gösterme seçeneği. 1 göstermek için, 0 iptal etmek için.
lang$ int Gönderilen mesajın dil seçeneği. 2 Arapça, 0 İngilizce.
response_type$ int Sunucu yanıtını belirli bir programlama dilinde gösterme seçeneği.

Gönderme işleminden sonra, sunucu aşağıdakilerle yanıt verecektir:

Gönderme işleminden sonra sunucunun örnek yanıtı:

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

Sunucudan gelen değişkenlerin açıklamaları:

result İşlemin sonucu. "true" başarıyı, "false" başarısızlığı gösterir.
otp_code Alıcıya gönderilen doğrulama kodu.
sms_id İşlemin kaydedilen ID'si, mesajın durumunu takip etmeye olanak tanır.
number_of_sms Mesajı gönderdikten sonra hesabınızdan düşülen mesaj sayısı veya kredi sayısı.
result_code İşlem kodu. Tam ayrıntılar için gönderme kodları bölümüne başvurun.
result_message Gönderilen işlemin mesajı. İşlemin başarısı veya başarısızlığı hakkında bir mesaj görüntüler.
sms_lang Gönderilen mesajın dili.
country Mesajın gönderildiği ülkenin adı.

OTP SMS Seçenekleri

digits$ Gönderilecek kodun rakam sayısını belirtir.
Eğer değer 4 ise, kod 4 haneli olacaktır [0000].
Eğer değer 5 ise, kod 5 haneli olacaktır [00000].
Eğer değer 6 ise, kod 6 haneli olacaktır [000000].

Mesaj İçeriği Dil Seçenekleri

sms_lang$ Bu değişkenin değeri 0 ise, mesaj içeriği İngilizce olacaktır (1 SMS = 160 karakter).
Değer 1 ise, mesaj içeriği Türkçe olacaktır ve Türkçe karakterleri destekleyecektir (1 SMS = 155 karakter.
Değer 2 ise, mesaj içeriği Arapça dilini destekleyecektir (1 SMS = 64 karakter).

Yanıt Seçeneği

response_type$ Değişkenin değeri json ise, yanıt JSON formatında olacaktır.
Değer php ise, yanıt PHP formatında olacaktır.

Yanıt Kodları (Response Codes)


Doğrudan API bağlantısı üzerinden bir mesaj gönderildiğinde, sunucu işlemin sonucunu belirtmek için bir kodla yanıt verecektir. Bu kodlar, gerçekleştirdiğiniz işlemin sonucu hakkında bilgi sağlar.

Yanıt Kodları

TS-1024 Mesaj başarıyla gönderildi
TS-1025 Cep telefonu numarası girilmemiş. Telefon numarası boş
TS-1026 Mesaj metni boş .. Hiç mesaj metni yazılmamış
TS-1027 Hesabınızda yeterli bakiye bulunmamaktadır
TS-1028 Gönderici Kimlik hesabınız için aktif değil
TS-1029 Gönderici Kimlik mevcut değil .. Lütfen doğru yazdığınızdan emin olun
TS-1030 Hesabınız SMS servis sağlayıcısı ile etkin değil
TS-1031 Api anahtarı geçersiz
TS-1032 Mesajın gönderildiği numara Türkiye dışında uluslararasıdır. Hesabınız uluslararası SMS için etkinleştirilmemiştir
TS-1033 Link aracılığıyla gönderilen veri yanlış
TS-1034 Mesajın gönderildiği cep telefonu numarası geçersiz
TS-1060 Son 1 dakikada gönderilen mesaj sayısı sınırını aştınız
TS-1061 Gönderim için API Anahtarı etkin değil (POST)
TS-1062 Gönderim için API Anahtarı etkin değil (GET)
TS-1050 API anahtarı boş ve yazılmamış
TS-1051 Gönderme başlığı boş ve yazılmamış
TS-1052 Mesaj Kimliği yazılmamış
TS-1063 API anahtarı için mesaj durumu kontrolü etkin değil
TS-1064 Mesaj durumu kontrolü başarılı
TS-1065 Hesabınızın API anahtarı için bakiye kontrolü etkin değil
TS-1022 Numara mesajı almadı
TS-1023 Kapsama alanı dışındaki numara henüz mesajı almadı
TS-1070 Zamanlanmış Gönderim - Tarih belirtilmemiş veya geçersiz. Lütfen geçerli bir tarih girin.
TS-1071 Zamanlanmış Gönderim - Saat belirtilmemiş veya geçersiz. Lütfen geçerli bir saat girin.
TS-1072 Geçmiş bir tarih veya saat ile zamanlanmış mesaj gönderilemez. Lütfen tarihi ve saati tekrar kontrol edin.

SMS Durumunu Kontrol Etme


Yetkilendirme kodu doğrulama, API'ye iki parametre ile POST isteği yaparak yapılabilir: alıcı cep telefonu numarası

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

Link üzerinden gönderilen değişkenler

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

Parametre Açıklaması

api_key$ varchar Hesabınızdaki API anahtarınız buraya yerleştirilecektir
sms_id$ int Mesaj Kimliği
response_type$ int Yanıt JSON veya PHP olarak gönderiliyor

Çağrı 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 Açıklaması

result İşlemin sonucu, başarılı ise true görünür ve iletim başarısız olursa false görünür
sender_id Mesaj Kimliği. Bu parametrenin uzunluğu her istekte değişebilir
date_of_sending Mesajın gönderildiği tarih
time_of_sending Mesajın gönderildiği saat
sms_status Mesaj Durumu - Teslim Edildi - Teslim Edilmedi - Numara kapsama dışında
sms_status_code Durum Kodu
sms_balance Kullanılan kredi sayısı
operator Numaranın hangi şirkete ait olduğu

Rapor Durumunu Sorgulama


Rapor durumunu sorgulama hizmeti, gönderilen kısa mesajların durumunu takip etmenizi sağlar. Sorgulama için iki seçenek mevcuttur: temel sorgulama ve detaylı sorgulama. Bu hizmeti, API'ye birkaç parametre ile POST isteği yaparak kolayca kullanabilirsiniz.

Birinci Seçenek: Rapor Sorgulama (Temel)

Bu seçenek, gönderilen kısa mesajların raporunu almanızı sağlar, ancak numara bilgilerini içermez. Aşağıdaki bağlantıya istek göndererek raporu alabilirsiniz:

                
https://www.turkeysms.com.tr/api/v3/rapor/temel
                
            

İstekle birlikte gönderilecek değişkenler:

                
$api_key      = '';  // Hesabınızın API anahtarı
$raporid      = '';  // Rapor kimliği
$response_type = '';  // Yanıt türü (JSON veya PHP)
                
            

Değişkenlerin Açıklaması:

$api_key Hesabınıza ait API anahtarı. Bu anahtar, isteğin güvenilir bir kaynaktan geldiğini doğrular.
$raporid Sorgulamak istediğiniz raporun kimliği.
$response_type Yanıt formatı (JSON veya PHP) ihtiyacınıza göre seçilebilir.

Örnek Temel Yanıt:

                
Array
(
  "result" => true,
  "status_code" => "TS-1064",
  "report_id" => "123456",
  "sending_date" => "2024-09-19",
  "sending_time" => "19:35:38",
  "report_status" => "Report dispatched successfully.",
  "number_verification_status" => "Undergoing number verification.",
  "total_mobile_numbers" => "2492",
  "sms_sender_id" => "TURKEY SMS",
  "numbers_received" => "1968",
  "numbers_not_received" => "0",
  "invalid_numbers" => "0",
  "blocked_numbers" => "0",
  "turkcell_count" => "860",
  "turktelekom_count" => "566",
  "vodafone_count" => "320",
  "message_validity_duration" => "1440"
)
                
            
İkinci Seçenek: Rapor Sorgulama (Detaylı)

Bu seçenek, raporun yanı sıra gönderilen numaraların detaylı listesini içerir. Aşağıdaki bağlantı üzerinden istek yaparak detaylı rapor alabilirsiniz:

                
turkeysms.com.tr/api/v3/rapor/detayli
                
            

Gönderilen değişkenler temel seçenektekiyle aynıdır, ancak yanıt daha detaylı olup her bir numaranın durumunu gösterir.

Örnek Detaylı Yanıt:

                
Array
(
  "result" => true,
  "status_code" => "TS-1064",
  "report_id" => "123456",
  "sending_date" => "2024-09-19",
  "sending_time" => "19:35:38",
  "report_status" => "Report dispatched successfully.",
  "number_verification_status" => "Undergoing number verification.",
  "total_mobile_numbers" => "2492",
  "sms_sender_id" => "TURKEY SMS",
  "numbers" => array(
    array(
      "number_id" => 1,
      "phone_number" => "5551234567",
      "sent_at" => "2024-09-19 19:35:38",
      "done_at" => "2024-09-19 19:36:01",
      "sms_count" => 1,
	  "sms_status" => "Number received the message",
      "operator" => "TURKCELL"
    ),
    // Diğer numaralar aynı formatta gösterilir
  )
)
                
            

Bu hizmet, toplu kısa mesajların durumunu takip etmenizi sağlar ve mesajların hedef numaralara ulaşıp ulaşmadığını kontrol etmek için kullanılır. Detaylı sorgulama, her bir numaranın durumunu görmek isteyen kullanıcılar için idealdir.

Bakiye Sorgulama [POST]


Hesabınızdaki mevcut bakiyeyi sorgulayabilirsiniz, hem yerel hem de uluslararası.

				
turkeysms.com.tr/api/v3/bakiye_sorgulama/add-content
				
							

Gönderilen sorgu için değişkenler:

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

Bağlantı üzerinden gönderilen değişkenlerin açıklaması:

api_key$ varchar Buraya API anahtarınızı yerleştirin.
response_type$ int Sunucu yanıtını belirli bir programlama dilinde görüntüleme seçeneği.

Sorgulama işleminden sonra sunucu şu şekilde yanıt verecektir:

Sunucudan gelen örnek yanıt:


Array
(
	[result] => true
	[result_code] => TS-1040
	[result_message] => operation_success
	[api_key] => api_key
	[local_balance_sms] => 1
	[international_balance_tl] => 1
)
				

Sunucudan gelen değişkenlerin açıklaması:

result İşlemin sonucu. "true" başarıyı, "false" başarısızlığı gösterir.
result_code İşlem kodu.
result_message İşlem mesajının içeriği.
api_key Burada hesabın bağlantı anahtarı görünür.
local_balance_sms Yerel bakiye - Türkiye içinde, mesaj sayısı olarak görüntülenir.
international_balance_tl Uluslararası bakiye - Türk Lirası cinsinden finansal bir değer olarak görüntülenir.

Uluslararası SMS


"Uluslararası mesajlar" terimi, Türkiye Cumhuriyeti sınırları dışına gönderilen mesajları ifade eder.
Bu mesajlar, uluslararası kod ile başlamayan (+90-0090) tüm numaraları içerir.
Türkiye SMS servisi, hesabınız aracılığıyla dünya genelinde herhangi bir ülkeye SMS göndermenize olanak tanır. Ancak, herhangi bir ülkeye mesaj göndermek için hesabınıza uluslararası bakiye yüklemeniz gerekmektedir.
Mesajın fiyatı ülkeden ülkeye değişir ve uluslararası mesajın teslim süresi de değişiklik gösterir. Uluslararası gönderim yapabilmek için hesabınızı etkinleştirmek için Türkiye SMS servisinin Teknik Destek Merkezi ile iletişime geçmelisiniz.

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

API aracılığıyla uluslararası bir mesaj gönderme süreci, Türkiye içindeki yerel bir mesaj gönderme süreciyle aynıdır, aynı bağlantıyı ve tüm mevcut seçenekleri kullanır.
Ancak hesabınızı uluslararası bakiye ile doldurmanız gerekmektedir.
Alıcının numarası uluslararası kod ile yazılmalıdır.

Örnek


Metin mesajlaşma sistemi, sorunsuz entegrasyon için çeşitli programlama dillerini destekler. Aşağıda farklı programlama dilleri için örnekler bulunmaktadır:

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('/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("/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("/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 = "/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("/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("/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, "/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', '/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:@"/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 := ""/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: "/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.